[jira] [Commented] (NIFI-3699) Update dependency of Logback in 0.x

2017-05-04 Thread Michael Moser (JIRA)

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

Michael Moser commented on NIFI-3699:
-

[~joewitt] I'm thinking that a logback and slf4j upgrade is a bit much for a 
0.7.3 release and more appropriate for a 0.8.0 minor release.  What are your 
thoughts on putting this into 0.7.3?

> Update dependency of Logback in 0.x
> ---
>
> Key: NIFI-3699
> URL: https://issues.apache.org/jira/browse/NIFI-3699
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core Framework
>Affects Versions: 0.7.0, 0.6.1, 0.7.1
>Reporter: Jeff Storck
>Priority: Minor
>
> The maxHistory property in Logback's TimeBasedRollingPolicy is not working in 
> the version of Logback used by NiFi (1.1.3).  Please see [this bug from 
> QOS.ch's JIRA|https://jira.qos.ch/browse/LOGBACK-747]
> Some analysis will need to be done to determine which version of Logback to 
> use going forward (1.1.9 or 1.2.3).



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (NIFI-2724) JMX Processor

2017-05-04 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on NIFI-2724:
--

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

https://github.com/apache/nifi/pull/1016#discussion_r114890435
  
--- Diff: 
nifi-nar-bundles/nifi-jmx-bundle/nifi-jmx-processors/src/main/java/org/apache/nifi/processors/jmx/GetJMX.java
 ---
@@ -0,0 +1,406 @@
+/*
+ * 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.processors.jmx;
+
+import org.apache.nifi.annotation.behavior.InputRequirement;
+import org.apache.nifi.annotation.behavior.InputRequirement.Requirement;
+import org.apache.nifi.annotation.behavior.WritesAttribute;
+import org.apache.nifi.annotation.behavior.WritesAttributes;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.components.PropertyValue;
+import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.annotation.lifecycle.OnScheduled;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.SeeAlso;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.logging.ComponentLog;
+import org.apache.nifi.processor.AbstractProcessor;
+import org.apache.nifi.processor.ProcessContext;
+import org.apache.nifi.processor.ProcessorInitializationContext;
+import org.apache.nifi.processor.Relationship;
+import org.apache.nifi.processor.ProcessSession;
+import org.apache.nifi.processor.exception.ProcessException;
+import org.apache.nifi.processor.io.OutputStreamCallback;
+import org.apache.nifi.processor.util.StandardValidators;
+
+import javax.management.MBeanAttributeInfo;
+import javax.management.MBeanInfo;
+import javax.management.MBeanServerConnection;
+import javax.management.ObjectName;
+import javax.management.remote.JMXConnector;
+import javax.management.remote.JMXConnectorFactory;
+import javax.management.remote.JMXServiceURL;
+import javax.management.ReflectionException;
+import javax.management.InstanceNotFoundException;
+import javax.management.IntrospectionException;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.sql.Timestamp;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.Map;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.ListIterator;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
+
+@Tags({"JMX"})
+@InputRequirement(Requirement.INPUT_FORBIDDEN)
+@SeeAlso({})
+@CapabilityDescription(
+"Connects to the JMX RMI Url on the configured hostname and port.  
"
++ "All domains are queried and can be filtered by 
providing the full domain name "
++ "and optional MBean type as whitelist or blacklist 
parameters.\n\n"
++ "Blacklist example to exclude all types that start with 
'Memory' and GarbageCollector from the "
++ "java.lang domain and everything from the 
java.util.logging domain:"
++ "\n\njava.lang:Memory.* 
GarbageCollector,java.util.logging")
+@WritesAttributes({
+@WritesAttribute(attribute="hostname", description="The name of 
the host that the object originates."),
+@WritesAttribute(attribute="port", description="The JMX connection 
port that the object originates."),
+@WritesAttribute(attribute="timestamp", description="The timestamp 
of when the object was emitted.") })
+
+public class GetJMX extends A

[jira] [Commented] (NIFI-2724) JMX Processor

2017-05-04 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on NIFI-2724:
--

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

https://github.com/apache/nifi/pull/1016#discussion_r114889131
  
--- Diff: 
nifi-nar-bundles/nifi-jmx-bundle/nifi-jmx-processors/src/main/java/org/apache/nifi/processors/jmx/ListFilter.java
 ---
@@ -0,0 +1,123 @@
+/*
+ * 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.processors.jmx;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+public class ListFilter {
+private String cachedListString = "";
+private Map> listM = null;
+
+public static final boolean WHITELIST = true;
+public static final boolean BLACKLIST = false;
+
+
+public ListFilter( String listString ) {
+setListString( listString );
+}
+
+
+public void setListString( String listString ) {
+if (listString == null || listString.isEmpty() ) listString = "";
+
+if (!listString.equals(cachedListString) || listM == null) {
+buildList( listString );
+}
+}
+
+
+private void buildList(String listString) {
+listM = new HashMap<>();
+
+if (!listString.isEmpty()) {
+String[] listElementsAr = listString.replaceAll("\\s+"," 
").split(",");
+
+for (int i = 0; i < listElementsAr.length; i++) {
+String[] listPartsAr = listElementsAr[i].split(":");
+ArrayList listTypesAL = new ArrayList();
+
+if (listPartsAr.length > 1) {
+String[] listTypeElementsAr = listPartsAr[1].split(" 
");
+
+for (String s : listTypeElementsAr) {
+if (!s.replaceAll("\\s+","").isEmpty()) {
+listTypesAL.add(s);
+}
+}
+}
+
+listM.put(listPartsAr[0], listTypesAL);
+}
+}
+
+cachedListString = listString;
+}
+
+
+
+/*
+ * domain and type values can contain regular expressions
+ * First check if the domain key in matched in the Map.  If yes then 
check if the type
+ * is matched in the ArrayList pointed to by the domain key.
+ * Is in list if...
+ * domain key is not matched: false
+ * domain key is matched and there are no entries in the ArrayList: 
true
+ * domain key is matched and there are entries in the ArrayList but 
type value is not matched: false
+ * domain key is matched and there are entries in the ArrayList and 
the type value is matched: true
+ */
+public boolean isInList(boolean listStyle, String domain, String type) 
{
+// not in the list...
+// whitelist = true since not defining a value for this style 
means the everything is included
+// blacklist = false since not defining a value for this style 
means nothing is excluded
+if (listM.size() == 0) {
+return (listStyle) ? true : false;
+}
+
+if (domain == null || domain.isEmpty()) {
+return (listStyle) ? true : false;
+}
+
+if (type == null) type = "";
--- End diff --

Please avoid single line if statement.


> JMX Processor
> -
>
> Key: NIFI-2724
> URL: https://issues.apache.org/jira/browse/NIFI-2724
> Project: Apache NiFi
>  Issue Type: New Feature
>  Components: Extensions
>Affects Versions: 1.0.0
> Environment: All platforms with Java RMI support for JMX
>Reporter: Brian Burnett
>Assig

[jira] [Commented] (NIFI-2724) JMX Processor

2017-05-04 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on NIFI-2724:
--

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

https://github.com/apache/nifi/pull/1016#discussion_r114887820
  
--- Diff: 
nifi-nar-bundles/nifi-jmx-bundle/nifi-jmx-processors/src/main/java/org/apache/nifi/processors/jmx/GetJMX.java
 ---
@@ -0,0 +1,406 @@
+/*
+ * 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.processors.jmx;
+
+import org.apache.nifi.annotation.behavior.InputRequirement;
+import org.apache.nifi.annotation.behavior.InputRequirement.Requirement;
+import org.apache.nifi.annotation.behavior.WritesAttribute;
+import org.apache.nifi.annotation.behavior.WritesAttributes;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.components.PropertyValue;
+import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.annotation.lifecycle.OnScheduled;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.SeeAlso;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.logging.ComponentLog;
+import org.apache.nifi.processor.AbstractProcessor;
+import org.apache.nifi.processor.ProcessContext;
+import org.apache.nifi.processor.ProcessorInitializationContext;
+import org.apache.nifi.processor.Relationship;
+import org.apache.nifi.processor.ProcessSession;
+import org.apache.nifi.processor.exception.ProcessException;
+import org.apache.nifi.processor.io.OutputStreamCallback;
+import org.apache.nifi.processor.util.StandardValidators;
+
+import javax.management.MBeanAttributeInfo;
+import javax.management.MBeanInfo;
+import javax.management.MBeanServerConnection;
+import javax.management.ObjectName;
+import javax.management.remote.JMXConnector;
+import javax.management.remote.JMXConnectorFactory;
+import javax.management.remote.JMXServiceURL;
+import javax.management.ReflectionException;
+import javax.management.InstanceNotFoundException;
+import javax.management.IntrospectionException;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.sql.Timestamp;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.Map;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.ListIterator;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
+
+@Tags({"JMX"})
+@InputRequirement(Requirement.INPUT_FORBIDDEN)
+@SeeAlso({})
+@CapabilityDescription(
+"Connects to the JMX RMI Url on the configured hostname and port.  
"
++ "All domains are queried and can be filtered by 
providing the full domain name "
++ "and optional MBean type as whitelist or blacklist 
parameters.\n\n"
++ "Blacklist example to exclude all types that start with 
'Memory' and GarbageCollector from the "
++ "java.lang domain and everything from the 
java.util.logging domain:"
++ "\n\njava.lang:Memory.* 
GarbageCollector,java.util.logging")
+@WritesAttributes({
+@WritesAttribute(attribute="hostname", description="The name of 
the host that the object originates."),
+@WritesAttribute(attribute="port", description="The JMX connection 
port that the object originates."),
+@WritesAttribute(attribute="timestamp", description="The timestamp 
of when the object was emitted.") })
+
+public class GetJMX extends A

[jira] [Commented] (NIFI-2724) JMX Processor

2017-05-04 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on NIFI-2724:
--

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

https://github.com/apache/nifi/pull/1016#discussion_r114883476
  
--- Diff: nifi-nar-bundles/nifi-jmx-bundle/nifi-jmx-nar/pom.xml ---
@@ -0,0 +1,35 @@
+
+
+http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>4.0.0
+
+org.apache.nifi
+nifi-jmx-bundle
+1.2.0-SNAPSHOT
+
+nifi-jmx-nar
+nar
+NiFi NAR for interacting with Java Managment 
Extensions
+
--- End diff --

Are these properties required?


> JMX Processor
> -
>
> Key: NIFI-2724
> URL: https://issues.apache.org/jira/browse/NIFI-2724
> Project: Apache NiFi
>  Issue Type: New Feature
>  Components: Extensions
>Affects Versions: 1.0.0
> Environment: All platforms with Java RMI support for JMX
>Reporter: Brian Burnett
>Assignee: Andre F de Miranda
>Priority: Minor
>  Labels: processor
> Attachments: 0001-NIFI-2724-New-JMX-Processor.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> The JMX Processor feature addition includes only GetJMX without 
> SecurityManager capabilities at this time.  The processor in its current 
> state is capable of pulling MBean Property and Attribute values from a remote 
> RMI Server.  Each set of Mbean data is wrapped in a JSON formatted FlowFile 
> for downstream processing.  It has the ability to control content with 
> whitelist and blacklist properties.
> Possible use for this processor and the reason it was created is to help make 
> sense of Kafka server metrics.
> Will followup with a SecurityManager Context Service and PutJMX Processor.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (NIFI-2724) JMX Processor

2017-05-04 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on NIFI-2724:
--

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

https://github.com/apache/nifi/pull/1016#discussion_r114883768
  
--- Diff: nifi-nar-bundles/nifi-jmx-bundle/nifi-jmx-processors/pom.xml ---
@@ -0,0 +1,55 @@
+
+
+http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+
+org.apache.nifi
+nifi-jmx-bundle
+1.2.0-SNAPSHOT
+
+4.0.0
+nifi-jmx-processors
+jar
+
+
+org.apache.nifi
+nifi-api
+
+
+org.apache.nifi
+nifi-processor-utils
+
+
+org.apache.nifi
+nifi-utils
+
+
+com.google.code.gson
--- End diff --

can you reference the version we've already defined in the parent pom? 
(version 2.7)


> JMX Processor
> -
>
> Key: NIFI-2724
> URL: https://issues.apache.org/jira/browse/NIFI-2724
> Project: Apache NiFi
>  Issue Type: New Feature
>  Components: Extensions
>Affects Versions: 1.0.0
> Environment: All platforms with Java RMI support for JMX
>Reporter: Brian Burnett
>Assignee: Andre F de Miranda
>Priority: Minor
>  Labels: processor
> Attachments: 0001-NIFI-2724-New-JMX-Processor.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> The JMX Processor feature addition includes only GetJMX without 
> SecurityManager capabilities at this time.  The processor in its current 
> state is capable of pulling MBean Property and Attribute values from a remote 
> RMI Server.  Each set of Mbean data is wrapped in a JSON formatted FlowFile 
> for downstream processing.  It has the ability to control content with 
> whitelist and blacklist properties.
> Possible use for this processor and the reason it was created is to help make 
> sense of Kafka server metrics.
> Will followup with a SecurityManager Context Service and PutJMX Processor.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (NIFI-2724) JMX Processor

2017-05-04 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on NIFI-2724:
--

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

https://github.com/apache/nifi/pull/1016#discussion_r114887372
  
--- Diff: 
nifi-nar-bundles/nifi-jmx-bundle/nifi-jmx-processors/src/main/java/org/apache/nifi/processors/jmx/GetJMX.java
 ---
@@ -0,0 +1,406 @@
+/*
+ * 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.processors.jmx;
+
+import org.apache.nifi.annotation.behavior.InputRequirement;
+import org.apache.nifi.annotation.behavior.InputRequirement.Requirement;
+import org.apache.nifi.annotation.behavior.WritesAttribute;
+import org.apache.nifi.annotation.behavior.WritesAttributes;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.components.PropertyValue;
+import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.annotation.lifecycle.OnScheduled;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.SeeAlso;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.logging.ComponentLog;
+import org.apache.nifi.processor.AbstractProcessor;
+import org.apache.nifi.processor.ProcessContext;
+import org.apache.nifi.processor.ProcessorInitializationContext;
+import org.apache.nifi.processor.Relationship;
+import org.apache.nifi.processor.ProcessSession;
+import org.apache.nifi.processor.exception.ProcessException;
+import org.apache.nifi.processor.io.OutputStreamCallback;
+import org.apache.nifi.processor.util.StandardValidators;
+
+import javax.management.MBeanAttributeInfo;
+import javax.management.MBeanInfo;
+import javax.management.MBeanServerConnection;
+import javax.management.ObjectName;
+import javax.management.remote.JMXConnector;
+import javax.management.remote.JMXConnectorFactory;
+import javax.management.remote.JMXServiceURL;
+import javax.management.ReflectionException;
+import javax.management.InstanceNotFoundException;
+import javax.management.IntrospectionException;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.sql.Timestamp;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.Map;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.ListIterator;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
+
+@Tags({"JMX"})
+@InputRequirement(Requirement.INPUT_FORBIDDEN)
+@SeeAlso({})
+@CapabilityDescription(
+"Connects to the JMX RMI Url on the configured hostname and port.  
"
++ "All domains are queried and can be filtered by 
providing the full domain name "
++ "and optional MBean type as whitelist or blacklist 
parameters.\n\n"
++ "Blacklist example to exclude all types that start with 
'Memory' and GarbageCollector from the "
++ "java.lang domain and everything from the 
java.util.logging domain:"
++ "\n\njava.lang:Memory.* 
GarbageCollector,java.util.logging")
+@WritesAttributes({
+@WritesAttribute(attribute="hostname", description="The name of 
the host that the object originates."),
+@WritesAttribute(attribute="port", description="The JMX connection 
port that the object originates."),
+@WritesAttribute(attribute="timestamp", description="The timestamp 
of when the object was emitted.") })
+
+public class GetJMX extends A

[jira] [Commented] (NIFI-2724) JMX Processor

2017-05-04 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on NIFI-2724:
--

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

https://github.com/apache/nifi/pull/1016#discussion_r114884244
  
--- Diff: 
nifi-nar-bundles/nifi-jmx-bundle/nifi-jmx-processors/src/main/java/org/apache/nifi/processors/jmx/GetJMX.java
 ---
@@ -0,0 +1,406 @@
+/*
+ * 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.processors.jmx;
+
+import org.apache.nifi.annotation.behavior.InputRequirement;
+import org.apache.nifi.annotation.behavior.InputRequirement.Requirement;
+import org.apache.nifi.annotation.behavior.WritesAttribute;
+import org.apache.nifi.annotation.behavior.WritesAttributes;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.components.PropertyValue;
+import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.annotation.lifecycle.OnScheduled;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.SeeAlso;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.logging.ComponentLog;
+import org.apache.nifi.processor.AbstractProcessor;
+import org.apache.nifi.processor.ProcessContext;
+import org.apache.nifi.processor.ProcessorInitializationContext;
+import org.apache.nifi.processor.Relationship;
+import org.apache.nifi.processor.ProcessSession;
+import org.apache.nifi.processor.exception.ProcessException;
+import org.apache.nifi.processor.io.OutputStreamCallback;
+import org.apache.nifi.processor.util.StandardValidators;
+
+import javax.management.MBeanAttributeInfo;
+import javax.management.MBeanInfo;
+import javax.management.MBeanServerConnection;
+import javax.management.ObjectName;
+import javax.management.remote.JMXConnector;
+import javax.management.remote.JMXConnectorFactory;
+import javax.management.remote.JMXServiceURL;
+import javax.management.ReflectionException;
+import javax.management.InstanceNotFoundException;
+import javax.management.IntrospectionException;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.sql.Timestamp;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.Map;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.ListIterator;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
+
+@Tags({"JMX"})
+@InputRequirement(Requirement.INPUT_FORBIDDEN)
+@SeeAlso({})
+@CapabilityDescription(
+"Connects to the JMX RMI Url on the configured hostname and port.  
"
++ "All domains are queried and can be filtered by 
providing the full domain name "
++ "and optional MBean type as whitelist or blacklist 
parameters.\n\n"
++ "Blacklist example to exclude all types that start with 
'Memory' and GarbageCollector from the "
++ "java.lang domain and everything from the 
java.util.logging domain:"
++ "\n\njava.lang:Memory.* 
GarbageCollector,java.util.logging")
+@WritesAttributes({
+@WritesAttribute(attribute="hostname", description="The name of 
the host that the object originates."),
+@WritesAttribute(attribute="port", description="The JMX connection 
port that the object originates."),
+@WritesAttribute(attribute="timestamp", description="The timestamp 
of when the object was emitted.") })
+
+public class GetJMX extends A

[jira] [Commented] (NIFI-2724) JMX Processor

2017-05-04 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on NIFI-2724:
--

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

https://github.com/apache/nifi/pull/1016#discussion_r114884654
  
--- Diff: 
nifi-nar-bundles/nifi-jmx-bundle/nifi-jmx-processors/src/main/java/org/apache/nifi/processors/jmx/GetJMX.java
 ---
@@ -0,0 +1,406 @@
+/*
+ * 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.processors.jmx;
+
+import org.apache.nifi.annotation.behavior.InputRequirement;
+import org.apache.nifi.annotation.behavior.InputRequirement.Requirement;
+import org.apache.nifi.annotation.behavior.WritesAttribute;
+import org.apache.nifi.annotation.behavior.WritesAttributes;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.components.PropertyValue;
+import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.annotation.lifecycle.OnScheduled;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.SeeAlso;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.logging.ComponentLog;
+import org.apache.nifi.processor.AbstractProcessor;
+import org.apache.nifi.processor.ProcessContext;
+import org.apache.nifi.processor.ProcessorInitializationContext;
+import org.apache.nifi.processor.Relationship;
+import org.apache.nifi.processor.ProcessSession;
+import org.apache.nifi.processor.exception.ProcessException;
+import org.apache.nifi.processor.io.OutputStreamCallback;
+import org.apache.nifi.processor.util.StandardValidators;
+
+import javax.management.MBeanAttributeInfo;
+import javax.management.MBeanInfo;
+import javax.management.MBeanServerConnection;
+import javax.management.ObjectName;
+import javax.management.remote.JMXConnector;
+import javax.management.remote.JMXConnectorFactory;
+import javax.management.remote.JMXServiceURL;
+import javax.management.ReflectionException;
+import javax.management.InstanceNotFoundException;
+import javax.management.IntrospectionException;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.sql.Timestamp;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.Map;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.ListIterator;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
+
+@Tags({"JMX"})
+@InputRequirement(Requirement.INPUT_FORBIDDEN)
+@SeeAlso({})
+@CapabilityDescription(
+"Connects to the JMX RMI Url on the configured hostname and port.  
"
++ "All domains are queried and can be filtered by 
providing the full domain name "
++ "and optional MBean type as whitelist or blacklist 
parameters.\n\n"
++ "Blacklist example to exclude all types that start with 
'Memory' and GarbageCollector from the "
++ "java.lang domain and everything from the 
java.util.logging domain:"
++ "\n\njava.lang:Memory.* 
GarbageCollector,java.util.logging")
+@WritesAttributes({
+@WritesAttribute(attribute="hostname", description="The name of 
the host that the object originates."),
+@WritesAttribute(attribute="port", description="The JMX connection 
port that the object originates."),
+@WritesAttribute(attribute="timestamp", description="The timestamp 
of when the object was emitted.") })
+
+public class GetJMX extends A

[jira] [Commented] (NIFI-2724) JMX Processor

2017-05-04 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on NIFI-2724:
--

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

https://github.com/apache/nifi/pull/1016#discussion_r114886280
  
--- Diff: 
nifi-nar-bundles/nifi-jmx-bundle/nifi-jmx-processors/src/main/java/org/apache/nifi/processors/jmx/ListFilter.java
 ---
@@ -0,0 +1,123 @@
+/*
+ * 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.processors.jmx;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+public class ListFilter {
+private String cachedListString = "";
+private Map> listM = null;
+
+public static final boolean WHITELIST = true;
+public static final boolean BLACKLIST = false;
+
+
+public ListFilter( String listString ) {
+setListString( listString );
+}
+
+
+public void setListString( String listString ) {
+if (listString == null || listString.isEmpty() ) listString = "";
--- End diff --

Why are you checking listString.isEmpty() to set it empty after? Am I 
missing something?


> JMX Processor
> -
>
> Key: NIFI-2724
> URL: https://issues.apache.org/jira/browse/NIFI-2724
> Project: Apache NiFi
>  Issue Type: New Feature
>  Components: Extensions
>Affects Versions: 1.0.0
> Environment: All platforms with Java RMI support for JMX
>Reporter: Brian Burnett
>Assignee: Andre F de Miranda
>Priority: Minor
>  Labels: processor
> Attachments: 0001-NIFI-2724-New-JMX-Processor.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> The JMX Processor feature addition includes only GetJMX without 
> SecurityManager capabilities at this time.  The processor in its current 
> state is capable of pulling MBean Property and Attribute values from a remote 
> RMI Server.  Each set of Mbean data is wrapped in a JSON formatted FlowFile 
> for downstream processing.  It has the ability to control content with 
> whitelist and blacklist properties.
> Possible use for this processor and the reason it was created is to help make 
> sense of Kafka server metrics.
> Will followup with a SecurityManager Context Service and PutJMX Processor.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (NIFI-2724) JMX Processor

2017-05-04 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on NIFI-2724:
--

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

https://github.com/apache/nifi/pull/1016#discussion_r114884423
  
--- Diff: 
nifi-nar-bundles/nifi-jmx-bundle/nifi-jmx-processors/src/main/java/org/apache/nifi/processors/jmx/GetJMX.java
 ---
@@ -0,0 +1,406 @@
+/*
+ * 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.processors.jmx;
+
+import org.apache.nifi.annotation.behavior.InputRequirement;
+import org.apache.nifi.annotation.behavior.InputRequirement.Requirement;
+import org.apache.nifi.annotation.behavior.WritesAttribute;
+import org.apache.nifi.annotation.behavior.WritesAttributes;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.components.PropertyValue;
+import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.annotation.lifecycle.OnScheduled;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.SeeAlso;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.logging.ComponentLog;
+import org.apache.nifi.processor.AbstractProcessor;
+import org.apache.nifi.processor.ProcessContext;
+import org.apache.nifi.processor.ProcessorInitializationContext;
+import org.apache.nifi.processor.Relationship;
+import org.apache.nifi.processor.ProcessSession;
+import org.apache.nifi.processor.exception.ProcessException;
+import org.apache.nifi.processor.io.OutputStreamCallback;
+import org.apache.nifi.processor.util.StandardValidators;
+
+import javax.management.MBeanAttributeInfo;
+import javax.management.MBeanInfo;
+import javax.management.MBeanServerConnection;
+import javax.management.ObjectName;
+import javax.management.remote.JMXConnector;
+import javax.management.remote.JMXConnectorFactory;
+import javax.management.remote.JMXServiceURL;
+import javax.management.ReflectionException;
+import javax.management.InstanceNotFoundException;
+import javax.management.IntrospectionException;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.sql.Timestamp;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.Map;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.ListIterator;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
+
+@Tags({"JMX"})
+@InputRequirement(Requirement.INPUT_FORBIDDEN)
+@SeeAlso({})
+@CapabilityDescription(
+"Connects to the JMX RMI Url on the configured hostname and port.  
"
++ "All domains are queried and can be filtered by 
providing the full domain name "
++ "and optional MBean type as whitelist or blacklist 
parameters.\n\n"
++ "Blacklist example to exclude all types that start with 
'Memory' and GarbageCollector from the "
++ "java.lang domain and everything from the 
java.util.logging domain:"
++ "\n\njava.lang:Memory.* 
GarbageCollector,java.util.logging")
+@WritesAttributes({
+@WritesAttribute(attribute="hostname", description="The name of 
the host that the object originates."),
+@WritesAttribute(attribute="port", description="The JMX connection 
port that the object originates."),
+@WritesAttribute(attribute="timestamp", description="The timestamp 
of when the object was emitted.") })
+
+public class GetJMX extends A

[jira] [Commented] (NIFI-2724) JMX Processor

2017-05-04 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on NIFI-2724:
--

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

https://github.com/apache/nifi/pull/1016#discussion_r114889040
  
--- Diff: 
nifi-nar-bundles/nifi-jmx-bundle/nifi-jmx-processors/src/main/java/org/apache/nifi/processors/jmx/ListFilter.java
 ---
@@ -0,0 +1,123 @@
+/*
+ * 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.processors.jmx;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+public class ListFilter {
+private String cachedListString = "";
+private Map> listM = null;
+
+public static final boolean WHITELIST = true;
+public static final boolean BLACKLIST = false;
+
+
+public ListFilter( String listString ) {
+setListString( listString );
+}
+
+
+public void setListString( String listString ) {
+if (listString == null || listString.isEmpty() ) listString = "";
+
+if (!listString.equals(cachedListString) || listM == null) {
+buildList( listString );
+}
+}
+
+
+private void buildList(String listString) {
+listM = new HashMap<>();
+
+if (!listString.isEmpty()) {
+String[] listElementsAr = listString.replaceAll("\\s+"," 
").split(",");
+
+for (int i = 0; i < listElementsAr.length; i++) {
+String[] listPartsAr = listElementsAr[i].split(":");
+ArrayList listTypesAL = new ArrayList();
+
+if (listPartsAr.length > 1) {
+String[] listTypeElementsAr = listPartsAr[1].split(" 
");
+
+for (String s : listTypeElementsAr) {
+if (!s.replaceAll("\\s+","").isEmpty()) {
+listTypesAL.add(s);
+}
+}
+}
+
+listM.put(listPartsAr[0], listTypesAL);
+}
+}
+
+cachedListString = listString;
+}
+
+
+
+/*
+ * domain and type values can contain regular expressions
+ * First check if the domain key in matched in the Map.  If yes then 
check if the type
+ * is matched in the ArrayList pointed to by the domain key.
+ * Is in list if...
+ * domain key is not matched: false
+ * domain key is matched and there are no entries in the ArrayList: 
true
+ * domain key is matched and there are entries in the ArrayList but 
type value is not matched: false
+ * domain key is matched and there are entries in the ArrayList and 
the type value is matched: true
+ */
+public boolean isInList(boolean listStyle, String domain, String type) 
{
+// not in the list...
+// whitelist = true since not defining a value for this style 
means the everything is included
+// blacklist = false since not defining a value for this style 
means nothing is excluded
+if (listM.size() == 0) {
+return (listStyle) ? true : false;
--- End diff --

java
return listStyle;


Same comments for next part: it's useless to do: return boolean ? true : 
false
You can just return boolean.


> JMX Processor
> -
>
> Key: NIFI-2724
> URL: https://issues.apache.org/jira/browse/NIFI-2724
> Project: Apache NiFi
>  Issue Type: New Feature
>  Components: Extensions
>Affects Versions: 1.0.0
> Environment: All platforms with Java RMI support for JMX
>Reporter: Brian Burnett
>Assignee: Andre F de Miranda
>Priority: Minor
>  

[jira] [Commented] (NIFI-2724) JMX Processor

2017-05-04 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on NIFI-2724:
--

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

https://github.com/apache/nifi/pull/1016#discussion_r114883939
  
--- Diff: 
nifi-nar-bundles/nifi-jmx-bundle/nifi-jmx-processors/src/main/java/org/apache/nifi/processors/jmx/GetJMX.java
 ---
@@ -0,0 +1,406 @@
+/*
+ * 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.processors.jmx;
+
+import org.apache.nifi.annotation.behavior.InputRequirement;
+import org.apache.nifi.annotation.behavior.InputRequirement.Requirement;
+import org.apache.nifi.annotation.behavior.WritesAttribute;
+import org.apache.nifi.annotation.behavior.WritesAttributes;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.components.PropertyValue;
+import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.annotation.lifecycle.OnScheduled;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.SeeAlso;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.logging.ComponentLog;
+import org.apache.nifi.processor.AbstractProcessor;
+import org.apache.nifi.processor.ProcessContext;
+import org.apache.nifi.processor.ProcessorInitializationContext;
+import org.apache.nifi.processor.Relationship;
+import org.apache.nifi.processor.ProcessSession;
+import org.apache.nifi.processor.exception.ProcessException;
+import org.apache.nifi.processor.io.OutputStreamCallback;
+import org.apache.nifi.processor.util.StandardValidators;
+
+import javax.management.MBeanAttributeInfo;
+import javax.management.MBeanInfo;
+import javax.management.MBeanServerConnection;
+import javax.management.ObjectName;
+import javax.management.remote.JMXConnector;
+import javax.management.remote.JMXConnectorFactory;
+import javax.management.remote.JMXServiceURL;
+import javax.management.ReflectionException;
+import javax.management.InstanceNotFoundException;
+import javax.management.IntrospectionException;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.sql.Timestamp;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.Map;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.ListIterator;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
+
+@Tags({"JMX"})
+@InputRequirement(Requirement.INPUT_FORBIDDEN)
+@SeeAlso({})
--- End diff --

To remove if no other processor is referenced here.


> JMX Processor
> -
>
> Key: NIFI-2724
> URL: https://issues.apache.org/jira/browse/NIFI-2724
> Project: Apache NiFi
>  Issue Type: New Feature
>  Components: Extensions
>Affects Versions: 1.0.0
> Environment: All platforms with Java RMI support for JMX
>Reporter: Brian Burnett
>Assignee: Andre F de Miranda
>Priority: Minor
>  Labels: processor
> Attachments: 0001-NIFI-2724-New-JMX-Processor.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> The JMX Processor feature addition includes only GetJMX without 
> SecurityManager capabilities at this time.  The processor in its current 
> state is capable of pulling MBean Property and Attribute values from a remote 
> RMI Server.  Each set of Mbean data is wrapped in a JSON formatted FlowFile 
> for downstream processing.  It has the 

[jira] [Commented] (NIFI-2724) JMX Processor

2017-05-04 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on NIFI-2724:
--

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

https://github.com/apache/nifi/pull/1016#discussion_r114888247
  
--- Diff: 
nifi-nar-bundles/nifi-jmx-bundle/nifi-jmx-processors/src/main/java/org/apache/nifi/processors/jmx/GetJMX.java
 ---
@@ -0,0 +1,406 @@
+/*
+ * 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.processors.jmx;
+
+import org.apache.nifi.annotation.behavior.InputRequirement;
+import org.apache.nifi.annotation.behavior.InputRequirement.Requirement;
+import org.apache.nifi.annotation.behavior.WritesAttribute;
+import org.apache.nifi.annotation.behavior.WritesAttributes;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.components.PropertyValue;
+import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.annotation.lifecycle.OnScheduled;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.SeeAlso;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.logging.ComponentLog;
+import org.apache.nifi.processor.AbstractProcessor;
+import org.apache.nifi.processor.ProcessContext;
+import org.apache.nifi.processor.ProcessorInitializationContext;
+import org.apache.nifi.processor.Relationship;
+import org.apache.nifi.processor.ProcessSession;
+import org.apache.nifi.processor.exception.ProcessException;
+import org.apache.nifi.processor.io.OutputStreamCallback;
+import org.apache.nifi.processor.util.StandardValidators;
+
+import javax.management.MBeanAttributeInfo;
+import javax.management.MBeanInfo;
+import javax.management.MBeanServerConnection;
+import javax.management.ObjectName;
+import javax.management.remote.JMXConnector;
+import javax.management.remote.JMXConnectorFactory;
+import javax.management.remote.JMXServiceURL;
+import javax.management.ReflectionException;
+import javax.management.InstanceNotFoundException;
+import javax.management.IntrospectionException;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.sql.Timestamp;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.Map;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.ListIterator;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
+
+@Tags({"JMX"})
+@InputRequirement(Requirement.INPUT_FORBIDDEN)
+@SeeAlso({})
+@CapabilityDescription(
+"Connects to the JMX RMI Url on the configured hostname and port.  
"
++ "All domains are queried and can be filtered by 
providing the full domain name "
++ "and optional MBean type as whitelist or blacklist 
parameters.\n\n"
++ "Blacklist example to exclude all types that start with 
'Memory' and GarbageCollector from the "
++ "java.lang domain and everything from the 
java.util.logging domain:"
++ "\n\njava.lang:Memory.* 
GarbageCollector,java.util.logging")
+@WritesAttributes({
+@WritesAttribute(attribute="hostname", description="The name of 
the host that the object originates."),
+@WritesAttribute(attribute="port", description="The JMX connection 
port that the object originates."),
+@WritesAttribute(attribute="timestamp", description="The timestamp 
of when the object was emitted.") })
+
+public class GetJMX extends A

[jira] [Commented] (NIFI-2724) JMX Processor

2017-05-04 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on NIFI-2724:
--

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

https://github.com/apache/nifi/pull/1016#discussion_r114887336
  
--- Diff: 
nifi-nar-bundles/nifi-jmx-bundle/nifi-jmx-processors/src/main/java/org/apache/nifi/processors/jmx/GetJMX.java
 ---
@@ -0,0 +1,406 @@
+/*
+ * 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.processors.jmx;
+
+import org.apache.nifi.annotation.behavior.InputRequirement;
+import org.apache.nifi.annotation.behavior.InputRequirement.Requirement;
+import org.apache.nifi.annotation.behavior.WritesAttribute;
+import org.apache.nifi.annotation.behavior.WritesAttributes;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.components.PropertyValue;
+import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.annotation.lifecycle.OnScheduled;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.SeeAlso;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.logging.ComponentLog;
+import org.apache.nifi.processor.AbstractProcessor;
+import org.apache.nifi.processor.ProcessContext;
+import org.apache.nifi.processor.ProcessorInitializationContext;
+import org.apache.nifi.processor.Relationship;
+import org.apache.nifi.processor.ProcessSession;
+import org.apache.nifi.processor.exception.ProcessException;
+import org.apache.nifi.processor.io.OutputStreamCallback;
+import org.apache.nifi.processor.util.StandardValidators;
+
+import javax.management.MBeanAttributeInfo;
+import javax.management.MBeanInfo;
+import javax.management.MBeanServerConnection;
+import javax.management.ObjectName;
+import javax.management.remote.JMXConnector;
+import javax.management.remote.JMXConnectorFactory;
+import javax.management.remote.JMXServiceURL;
+import javax.management.ReflectionException;
+import javax.management.InstanceNotFoundException;
+import javax.management.IntrospectionException;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.sql.Timestamp;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.Map;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.ListIterator;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
+
+@Tags({"JMX"})
+@InputRequirement(Requirement.INPUT_FORBIDDEN)
+@SeeAlso({})
+@CapabilityDescription(
+"Connects to the JMX RMI Url on the configured hostname and port.  
"
++ "All domains are queried and can be filtered by 
providing the full domain name "
++ "and optional MBean type as whitelist or blacklist 
parameters.\n\n"
++ "Blacklist example to exclude all types that start with 
'Memory' and GarbageCollector from the "
++ "java.lang domain and everything from the 
java.util.logging domain:"
++ "\n\njava.lang:Memory.* 
GarbageCollector,java.util.logging")
+@WritesAttributes({
+@WritesAttribute(attribute="hostname", description="The name of 
the host that the object originates."),
+@WritesAttribute(attribute="port", description="The JMX connection 
port that the object originates."),
+@WritesAttribute(attribute="timestamp", description="The timestamp 
of when the object was emitted.") })
+
+public class GetJMX extends A

[jira] [Commented] (NIFI-2724) JMX Processor

2017-05-04 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on NIFI-2724:
--

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

https://github.com/apache/nifi/pull/1016#discussion_r114888643
  
--- Diff: 
nifi-nar-bundles/nifi-jmx-bundle/nifi-jmx-processors/src/main/java/org/apache/nifi/processors/jmx/GetJMX.java
 ---
@@ -0,0 +1,406 @@
+/*
+ * 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.processors.jmx;
+
+import org.apache.nifi.annotation.behavior.InputRequirement;
+import org.apache.nifi.annotation.behavior.InputRequirement.Requirement;
+import org.apache.nifi.annotation.behavior.WritesAttribute;
+import org.apache.nifi.annotation.behavior.WritesAttributes;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.components.PropertyValue;
+import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.annotation.lifecycle.OnScheduled;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.SeeAlso;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.logging.ComponentLog;
+import org.apache.nifi.processor.AbstractProcessor;
+import org.apache.nifi.processor.ProcessContext;
+import org.apache.nifi.processor.ProcessorInitializationContext;
+import org.apache.nifi.processor.Relationship;
+import org.apache.nifi.processor.ProcessSession;
+import org.apache.nifi.processor.exception.ProcessException;
+import org.apache.nifi.processor.io.OutputStreamCallback;
+import org.apache.nifi.processor.util.StandardValidators;
+
+import javax.management.MBeanAttributeInfo;
+import javax.management.MBeanInfo;
+import javax.management.MBeanServerConnection;
+import javax.management.ObjectName;
+import javax.management.remote.JMXConnector;
+import javax.management.remote.JMXConnectorFactory;
+import javax.management.remote.JMXServiceURL;
+import javax.management.ReflectionException;
+import javax.management.InstanceNotFoundException;
+import javax.management.IntrospectionException;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.sql.Timestamp;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.Map;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.ListIterator;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
+
+@Tags({"JMX"})
+@InputRequirement(Requirement.INPUT_FORBIDDEN)
+@SeeAlso({})
+@CapabilityDescription(
+"Connects to the JMX RMI Url on the configured hostname and port.  
"
++ "All domains are queried and can be filtered by 
providing the full domain name "
++ "and optional MBean type as whitelist or blacklist 
parameters.\n\n"
++ "Blacklist example to exclude all types that start with 
'Memory' and GarbageCollector from the "
++ "java.lang domain and everything from the 
java.util.logging domain:"
++ "\n\njava.lang:Memory.* 
GarbageCollector,java.util.logging")
+@WritesAttributes({
+@WritesAttribute(attribute="hostname", description="The name of 
the host that the object originates."),
+@WritesAttribute(attribute="port", description="The JMX connection 
port that the object originates."),
+@WritesAttribute(attribute="timestamp", description="The timestamp 
of when the object was emitted.") })
+
+public class GetJMX extends A

[GitHub] nifi pull request #1016: NIFI-2724 New JMX Processor

2017-05-04 Thread pvillard31
Github user pvillard31 commented on a diff in the pull request:

https://github.com/apache/nifi/pull/1016#discussion_r114884654
  
--- Diff: 
nifi-nar-bundles/nifi-jmx-bundle/nifi-jmx-processors/src/main/java/org/apache/nifi/processors/jmx/GetJMX.java
 ---
@@ -0,0 +1,406 @@
+/*
+ * 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.processors.jmx;
+
+import org.apache.nifi.annotation.behavior.InputRequirement;
+import org.apache.nifi.annotation.behavior.InputRequirement.Requirement;
+import org.apache.nifi.annotation.behavior.WritesAttribute;
+import org.apache.nifi.annotation.behavior.WritesAttributes;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.components.PropertyValue;
+import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.annotation.lifecycle.OnScheduled;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.SeeAlso;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.logging.ComponentLog;
+import org.apache.nifi.processor.AbstractProcessor;
+import org.apache.nifi.processor.ProcessContext;
+import org.apache.nifi.processor.ProcessorInitializationContext;
+import org.apache.nifi.processor.Relationship;
+import org.apache.nifi.processor.ProcessSession;
+import org.apache.nifi.processor.exception.ProcessException;
+import org.apache.nifi.processor.io.OutputStreamCallback;
+import org.apache.nifi.processor.util.StandardValidators;
+
+import javax.management.MBeanAttributeInfo;
+import javax.management.MBeanInfo;
+import javax.management.MBeanServerConnection;
+import javax.management.ObjectName;
+import javax.management.remote.JMXConnector;
+import javax.management.remote.JMXConnectorFactory;
+import javax.management.remote.JMXServiceURL;
+import javax.management.ReflectionException;
+import javax.management.InstanceNotFoundException;
+import javax.management.IntrospectionException;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.sql.Timestamp;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.Map;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.ListIterator;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
+
+@Tags({"JMX"})
+@InputRequirement(Requirement.INPUT_FORBIDDEN)
+@SeeAlso({})
+@CapabilityDescription(
+"Connects to the JMX RMI Url on the configured hostname and port.  
"
++ "All domains are queried and can be filtered by 
providing the full domain name "
++ "and optional MBean type as whitelist or blacklist 
parameters.\n\n"
++ "Blacklist example to exclude all types that start with 
'Memory' and GarbageCollector from the "
++ "java.lang domain and everything from the 
java.util.logging domain:"
++ "\n\njava.lang:Memory.* 
GarbageCollector,java.util.logging")
+@WritesAttributes({
+@WritesAttribute(attribute="hostname", description="The name of 
the host that the object originates."),
+@WritesAttribute(attribute="port", description="The JMX connection 
port that the object originates."),
+@WritesAttribute(attribute="timestamp", description="The timestamp 
of when the object was emitted.") })
+
+public class GetJMX extends AbstractProcessor {
+
+public static final PropertyDescriptor HOSTNAME = new 
PropertyDescriptor
+.Builder().name("Hostname")
+.displayName("Hostname")
+.description("The JMX Hostname or IP addr

[jira] [Commented] (NIFI-2724) JMX Processor

2017-05-04 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on NIFI-2724:
--

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

https://github.com/apache/nifi/pull/1016#discussion_r114885148
  
--- Diff: 
nifi-nar-bundles/nifi-jmx-bundle/nifi-jmx-processors/src/main/java/org/apache/nifi/processors/jmx/GetJMX.java
 ---
@@ -0,0 +1,406 @@
+/*
+ * 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.processors.jmx;
+
+import org.apache.nifi.annotation.behavior.InputRequirement;
+import org.apache.nifi.annotation.behavior.InputRequirement.Requirement;
+import org.apache.nifi.annotation.behavior.WritesAttribute;
+import org.apache.nifi.annotation.behavior.WritesAttributes;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.components.PropertyValue;
+import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.annotation.lifecycle.OnScheduled;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.SeeAlso;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.logging.ComponentLog;
+import org.apache.nifi.processor.AbstractProcessor;
+import org.apache.nifi.processor.ProcessContext;
+import org.apache.nifi.processor.ProcessorInitializationContext;
+import org.apache.nifi.processor.Relationship;
+import org.apache.nifi.processor.ProcessSession;
+import org.apache.nifi.processor.exception.ProcessException;
+import org.apache.nifi.processor.io.OutputStreamCallback;
+import org.apache.nifi.processor.util.StandardValidators;
+
+import javax.management.MBeanAttributeInfo;
+import javax.management.MBeanInfo;
+import javax.management.MBeanServerConnection;
+import javax.management.ObjectName;
+import javax.management.remote.JMXConnector;
+import javax.management.remote.JMXConnectorFactory;
+import javax.management.remote.JMXServiceURL;
+import javax.management.ReflectionException;
+import javax.management.InstanceNotFoundException;
+import javax.management.IntrospectionException;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.sql.Timestamp;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.Map;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.ListIterator;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
+
+@Tags({"JMX"})
+@InputRequirement(Requirement.INPUT_FORBIDDEN)
+@SeeAlso({})
+@CapabilityDescription(
+"Connects to the JMX RMI Url on the configured hostname and port.  
"
++ "All domains are queried and can be filtered by 
providing the full domain name "
++ "and optional MBean type as whitelist or blacklist 
parameters.\n\n"
++ "Blacklist example to exclude all types that start with 
'Memory' and GarbageCollector from the "
++ "java.lang domain and everything from the 
java.util.logging domain:"
++ "\n\njava.lang:Memory.* 
GarbageCollector,java.util.logging")
+@WritesAttributes({
+@WritesAttribute(attribute="hostname", description="The name of 
the host that the object originates."),
+@WritesAttribute(attribute="port", description="The JMX connection 
port that the object originates."),
+@WritesAttribute(attribute="timestamp", description="The timestamp 
of when the object was emitted.") })
+
+public class GetJMX extends A

[GitHub] nifi pull request #1016: NIFI-2724 New JMX Processor

2017-05-04 Thread pvillard31
Github user pvillard31 commented on a diff in the pull request:

https://github.com/apache/nifi/pull/1016#discussion_r114883939
  
--- Diff: 
nifi-nar-bundles/nifi-jmx-bundle/nifi-jmx-processors/src/main/java/org/apache/nifi/processors/jmx/GetJMX.java
 ---
@@ -0,0 +1,406 @@
+/*
+ * 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.processors.jmx;
+
+import org.apache.nifi.annotation.behavior.InputRequirement;
+import org.apache.nifi.annotation.behavior.InputRequirement.Requirement;
+import org.apache.nifi.annotation.behavior.WritesAttribute;
+import org.apache.nifi.annotation.behavior.WritesAttributes;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.components.PropertyValue;
+import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.annotation.lifecycle.OnScheduled;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.SeeAlso;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.logging.ComponentLog;
+import org.apache.nifi.processor.AbstractProcessor;
+import org.apache.nifi.processor.ProcessContext;
+import org.apache.nifi.processor.ProcessorInitializationContext;
+import org.apache.nifi.processor.Relationship;
+import org.apache.nifi.processor.ProcessSession;
+import org.apache.nifi.processor.exception.ProcessException;
+import org.apache.nifi.processor.io.OutputStreamCallback;
+import org.apache.nifi.processor.util.StandardValidators;
+
+import javax.management.MBeanAttributeInfo;
+import javax.management.MBeanInfo;
+import javax.management.MBeanServerConnection;
+import javax.management.ObjectName;
+import javax.management.remote.JMXConnector;
+import javax.management.remote.JMXConnectorFactory;
+import javax.management.remote.JMXServiceURL;
+import javax.management.ReflectionException;
+import javax.management.InstanceNotFoundException;
+import javax.management.IntrospectionException;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.sql.Timestamp;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.Map;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.ListIterator;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
+
+@Tags({"JMX"})
+@InputRequirement(Requirement.INPUT_FORBIDDEN)
+@SeeAlso({})
--- End diff --

To remove if no other processor is referenced here.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi pull request #1016: NIFI-2724 New JMX Processor

2017-05-04 Thread pvillard31
Github user pvillard31 commented on a diff in the pull request:

https://github.com/apache/nifi/pull/1016#discussion_r114888321
  
--- Diff: 
nifi-nar-bundles/nifi-jmx-bundle/nifi-jmx-processors/src/main/java/org/apache/nifi/processors/jmx/GetJMX.java
 ---
@@ -0,0 +1,406 @@
+/*
+ * 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.processors.jmx;
+
+import org.apache.nifi.annotation.behavior.InputRequirement;
+import org.apache.nifi.annotation.behavior.InputRequirement.Requirement;
+import org.apache.nifi.annotation.behavior.WritesAttribute;
+import org.apache.nifi.annotation.behavior.WritesAttributes;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.components.PropertyValue;
+import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.annotation.lifecycle.OnScheduled;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.SeeAlso;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.logging.ComponentLog;
+import org.apache.nifi.processor.AbstractProcessor;
+import org.apache.nifi.processor.ProcessContext;
+import org.apache.nifi.processor.ProcessorInitializationContext;
+import org.apache.nifi.processor.Relationship;
+import org.apache.nifi.processor.ProcessSession;
+import org.apache.nifi.processor.exception.ProcessException;
+import org.apache.nifi.processor.io.OutputStreamCallback;
+import org.apache.nifi.processor.util.StandardValidators;
+
+import javax.management.MBeanAttributeInfo;
+import javax.management.MBeanInfo;
+import javax.management.MBeanServerConnection;
+import javax.management.ObjectName;
+import javax.management.remote.JMXConnector;
+import javax.management.remote.JMXConnectorFactory;
+import javax.management.remote.JMXServiceURL;
+import javax.management.ReflectionException;
+import javax.management.InstanceNotFoundException;
+import javax.management.IntrospectionException;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.sql.Timestamp;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.Map;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.ListIterator;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
+
+@Tags({"JMX"})
+@InputRequirement(Requirement.INPUT_FORBIDDEN)
+@SeeAlso({})
+@CapabilityDescription(
+"Connects to the JMX RMI Url on the configured hostname and port.  
"
++ "All domains are queried and can be filtered by 
providing the full domain name "
++ "and optional MBean type as whitelist or blacklist 
parameters.\n\n"
++ "Blacklist example to exclude all types that start with 
'Memory' and GarbageCollector from the "
++ "java.lang domain and everything from the 
java.util.logging domain:"
++ "\n\njava.lang:Memory.* 
GarbageCollector,java.util.logging")
+@WritesAttributes({
+@WritesAttribute(attribute="hostname", description="The name of 
the host that the object originates."),
+@WritesAttribute(attribute="port", description="The JMX connection 
port that the object originates."),
+@WritesAttribute(attribute="timestamp", description="The timestamp 
of when the object was emitted.") })
+
+public class GetJMX extends AbstractProcessor {
+
+public static final PropertyDescriptor HOSTNAME = new 
PropertyDescriptor
+.Builder().name("Hostname")
+.displayName("Hostname")
+.description("The JMX Hostname or IP addr

[jira] [Commented] (NIFI-2724) JMX Processor

2017-05-04 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on NIFI-2724:
--

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

https://github.com/apache/nifi/pull/1016#discussion_r114887973
  
--- Diff: 
nifi-nar-bundles/nifi-jmx-bundle/nifi-jmx-processors/src/main/java/org/apache/nifi/processors/jmx/GetJMX.java
 ---
@@ -0,0 +1,406 @@
+/*
+ * 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.processors.jmx;
+
+import org.apache.nifi.annotation.behavior.InputRequirement;
+import org.apache.nifi.annotation.behavior.InputRequirement.Requirement;
+import org.apache.nifi.annotation.behavior.WritesAttribute;
+import org.apache.nifi.annotation.behavior.WritesAttributes;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.components.PropertyValue;
+import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.annotation.lifecycle.OnScheduled;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.SeeAlso;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.logging.ComponentLog;
+import org.apache.nifi.processor.AbstractProcessor;
+import org.apache.nifi.processor.ProcessContext;
+import org.apache.nifi.processor.ProcessorInitializationContext;
+import org.apache.nifi.processor.Relationship;
+import org.apache.nifi.processor.ProcessSession;
+import org.apache.nifi.processor.exception.ProcessException;
+import org.apache.nifi.processor.io.OutputStreamCallback;
+import org.apache.nifi.processor.util.StandardValidators;
+
+import javax.management.MBeanAttributeInfo;
+import javax.management.MBeanInfo;
+import javax.management.MBeanServerConnection;
+import javax.management.ObjectName;
+import javax.management.remote.JMXConnector;
+import javax.management.remote.JMXConnectorFactory;
+import javax.management.remote.JMXServiceURL;
+import javax.management.ReflectionException;
+import javax.management.InstanceNotFoundException;
+import javax.management.IntrospectionException;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.sql.Timestamp;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.Map;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.ListIterator;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
+
+@Tags({"JMX"})
+@InputRequirement(Requirement.INPUT_FORBIDDEN)
+@SeeAlso({})
+@CapabilityDescription(
+"Connects to the JMX RMI Url on the configured hostname and port.  
"
++ "All domains are queried and can be filtered by 
providing the full domain name "
++ "and optional MBean type as whitelist or blacklist 
parameters.\n\n"
++ "Blacklist example to exclude all types that start with 
'Memory' and GarbageCollector from the "
++ "java.lang domain and everything from the 
java.util.logging domain:"
++ "\n\njava.lang:Memory.* 
GarbageCollector,java.util.logging")
+@WritesAttributes({
+@WritesAttribute(attribute="hostname", description="The name of 
the host that the object originates."),
+@WritesAttribute(attribute="port", description="The JMX connection 
port that the object originates."),
+@WritesAttribute(attribute="timestamp", description="The timestamp 
of when the object was emitted.") })
+
+public class GetJMX extends A

[jira] [Commented] (NIFI-2724) JMX Processor

2017-05-04 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on NIFI-2724:
--

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

https://github.com/apache/nifi/pull/1016#discussion_r114888418
  
--- Diff: 
nifi-nar-bundles/nifi-jmx-bundle/nifi-jmx-processors/src/main/java/org/apache/nifi/processors/jmx/GetJMX.java
 ---
@@ -0,0 +1,406 @@
+/*
+ * 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.processors.jmx;
+
+import org.apache.nifi.annotation.behavior.InputRequirement;
+import org.apache.nifi.annotation.behavior.InputRequirement.Requirement;
+import org.apache.nifi.annotation.behavior.WritesAttribute;
+import org.apache.nifi.annotation.behavior.WritesAttributes;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.components.PropertyValue;
+import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.annotation.lifecycle.OnScheduled;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.SeeAlso;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.logging.ComponentLog;
+import org.apache.nifi.processor.AbstractProcessor;
+import org.apache.nifi.processor.ProcessContext;
+import org.apache.nifi.processor.ProcessorInitializationContext;
+import org.apache.nifi.processor.Relationship;
+import org.apache.nifi.processor.ProcessSession;
+import org.apache.nifi.processor.exception.ProcessException;
+import org.apache.nifi.processor.io.OutputStreamCallback;
+import org.apache.nifi.processor.util.StandardValidators;
+
+import javax.management.MBeanAttributeInfo;
+import javax.management.MBeanInfo;
+import javax.management.MBeanServerConnection;
+import javax.management.ObjectName;
+import javax.management.remote.JMXConnector;
+import javax.management.remote.JMXConnectorFactory;
+import javax.management.remote.JMXServiceURL;
+import javax.management.ReflectionException;
+import javax.management.InstanceNotFoundException;
+import javax.management.IntrospectionException;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.sql.Timestamp;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.Map;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.ListIterator;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
+
+@Tags({"JMX"})
+@InputRequirement(Requirement.INPUT_FORBIDDEN)
+@SeeAlso({})
+@CapabilityDescription(
+"Connects to the JMX RMI Url on the configured hostname and port.  
"
++ "All domains are queried and can be filtered by 
providing the full domain name "
++ "and optional MBean type as whitelist or blacklist 
parameters.\n\n"
++ "Blacklist example to exclude all types that start with 
'Memory' and GarbageCollector from the "
++ "java.lang domain and everything from the 
java.util.logging domain:"
++ "\n\njava.lang:Memory.* 
GarbageCollector,java.util.logging")
+@WritesAttributes({
+@WritesAttribute(attribute="hostname", description="The name of 
the host that the object originates."),
+@WritesAttribute(attribute="port", description="The JMX connection 
port that the object originates."),
+@WritesAttribute(attribute="timestamp", description="The timestamp 
of when the object was emitted.") })
+
+public class GetJMX extends A

[jira] [Commented] (NIFI-2724) JMX Processor

2017-05-04 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on NIFI-2724:
--

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

https://github.com/apache/nifi/pull/1016#discussion_r114888321
  
--- Diff: 
nifi-nar-bundles/nifi-jmx-bundle/nifi-jmx-processors/src/main/java/org/apache/nifi/processors/jmx/GetJMX.java
 ---
@@ -0,0 +1,406 @@
+/*
+ * 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.processors.jmx;
+
+import org.apache.nifi.annotation.behavior.InputRequirement;
+import org.apache.nifi.annotation.behavior.InputRequirement.Requirement;
+import org.apache.nifi.annotation.behavior.WritesAttribute;
+import org.apache.nifi.annotation.behavior.WritesAttributes;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.components.PropertyValue;
+import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.annotation.lifecycle.OnScheduled;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.SeeAlso;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.logging.ComponentLog;
+import org.apache.nifi.processor.AbstractProcessor;
+import org.apache.nifi.processor.ProcessContext;
+import org.apache.nifi.processor.ProcessorInitializationContext;
+import org.apache.nifi.processor.Relationship;
+import org.apache.nifi.processor.ProcessSession;
+import org.apache.nifi.processor.exception.ProcessException;
+import org.apache.nifi.processor.io.OutputStreamCallback;
+import org.apache.nifi.processor.util.StandardValidators;
+
+import javax.management.MBeanAttributeInfo;
+import javax.management.MBeanInfo;
+import javax.management.MBeanServerConnection;
+import javax.management.ObjectName;
+import javax.management.remote.JMXConnector;
+import javax.management.remote.JMXConnectorFactory;
+import javax.management.remote.JMXServiceURL;
+import javax.management.ReflectionException;
+import javax.management.InstanceNotFoundException;
+import javax.management.IntrospectionException;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.sql.Timestamp;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.Map;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.ListIterator;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
+
+@Tags({"JMX"})
+@InputRequirement(Requirement.INPUT_FORBIDDEN)
+@SeeAlso({})
+@CapabilityDescription(
+"Connects to the JMX RMI Url on the configured hostname and port.  
"
++ "All domains are queried and can be filtered by 
providing the full domain name "
++ "and optional MBean type as whitelist or blacklist 
parameters.\n\n"
++ "Blacklist example to exclude all types that start with 
'Memory' and GarbageCollector from the "
++ "java.lang domain and everything from the 
java.util.logging domain:"
++ "\n\njava.lang:Memory.* 
GarbageCollector,java.util.logging")
+@WritesAttributes({
+@WritesAttribute(attribute="hostname", description="The name of 
the host that the object originates."),
+@WritesAttribute(attribute="port", description="The JMX connection 
port that the object originates."),
+@WritesAttribute(attribute="timestamp", description="The timestamp 
of when the object was emitted.") })
+
+public class GetJMX extends A

[GitHub] nifi pull request #1016: NIFI-2724 New JMX Processor

2017-05-04 Thread pvillard31
Github user pvillard31 commented on a diff in the pull request:

https://github.com/apache/nifi/pull/1016#discussion_r114883768
  
--- Diff: nifi-nar-bundles/nifi-jmx-bundle/nifi-jmx-processors/pom.xml ---
@@ -0,0 +1,55 @@
+
+
+http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+
+org.apache.nifi
+nifi-jmx-bundle
+1.2.0-SNAPSHOT
+
+4.0.0
+nifi-jmx-processors
+jar
+
+
+org.apache.nifi
+nifi-api
+
+
+org.apache.nifi
+nifi-processor-utils
+
+
+org.apache.nifi
+nifi-utils
+
+
+com.google.code.gson
--- End diff --

can you reference the version we've already defined in the parent pom? 
(version 2.7)


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi pull request #1016: NIFI-2724 New JMX Processor

2017-05-04 Thread pvillard31
Github user pvillard31 commented on a diff in the pull request:

https://github.com/apache/nifi/pull/1016#discussion_r114883476
  
--- Diff: nifi-nar-bundles/nifi-jmx-bundle/nifi-jmx-nar/pom.xml ---
@@ -0,0 +1,35 @@
+
+
+http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>4.0.0
+
+org.apache.nifi
+nifi-jmx-bundle
+1.2.0-SNAPSHOT
+
+nifi-jmx-nar
+nar
+NiFi NAR for interacting with Java Managment 
Extensions
+
--- End diff --

Are these properties required?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi pull request #1016: NIFI-2724 New JMX Processor

2017-05-04 Thread pvillard31
Github user pvillard31 commented on a diff in the pull request:

https://github.com/apache/nifi/pull/1016#discussion_r114887820
  
--- Diff: 
nifi-nar-bundles/nifi-jmx-bundle/nifi-jmx-processors/src/main/java/org/apache/nifi/processors/jmx/GetJMX.java
 ---
@@ -0,0 +1,406 @@
+/*
+ * 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.processors.jmx;
+
+import org.apache.nifi.annotation.behavior.InputRequirement;
+import org.apache.nifi.annotation.behavior.InputRequirement.Requirement;
+import org.apache.nifi.annotation.behavior.WritesAttribute;
+import org.apache.nifi.annotation.behavior.WritesAttributes;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.components.PropertyValue;
+import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.annotation.lifecycle.OnScheduled;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.SeeAlso;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.logging.ComponentLog;
+import org.apache.nifi.processor.AbstractProcessor;
+import org.apache.nifi.processor.ProcessContext;
+import org.apache.nifi.processor.ProcessorInitializationContext;
+import org.apache.nifi.processor.Relationship;
+import org.apache.nifi.processor.ProcessSession;
+import org.apache.nifi.processor.exception.ProcessException;
+import org.apache.nifi.processor.io.OutputStreamCallback;
+import org.apache.nifi.processor.util.StandardValidators;
+
+import javax.management.MBeanAttributeInfo;
+import javax.management.MBeanInfo;
+import javax.management.MBeanServerConnection;
+import javax.management.ObjectName;
+import javax.management.remote.JMXConnector;
+import javax.management.remote.JMXConnectorFactory;
+import javax.management.remote.JMXServiceURL;
+import javax.management.ReflectionException;
+import javax.management.InstanceNotFoundException;
+import javax.management.IntrospectionException;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.sql.Timestamp;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.Map;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.ListIterator;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
+
+@Tags({"JMX"})
+@InputRequirement(Requirement.INPUT_FORBIDDEN)
+@SeeAlso({})
+@CapabilityDescription(
+"Connects to the JMX RMI Url on the configured hostname and port.  
"
++ "All domains are queried and can be filtered by 
providing the full domain name "
++ "and optional MBean type as whitelist or blacklist 
parameters.\n\n"
++ "Blacklist example to exclude all types that start with 
'Memory' and GarbageCollector from the "
++ "java.lang domain and everything from the 
java.util.logging domain:"
++ "\n\njava.lang:Memory.* 
GarbageCollector,java.util.logging")
+@WritesAttributes({
+@WritesAttribute(attribute="hostname", description="The name of 
the host that the object originates."),
+@WritesAttribute(attribute="port", description="The JMX connection 
port that the object originates."),
+@WritesAttribute(attribute="timestamp", description="The timestamp 
of when the object was emitted.") })
+
+public class GetJMX extends AbstractProcessor {
+
+public static final PropertyDescriptor HOSTNAME = new 
PropertyDescriptor
+.Builder().name("Hostname")
+.displayName("Hostname")
+.description("The JMX Hostname or IP addr

[GitHub] nifi pull request #1016: NIFI-2724 New JMX Processor

2017-05-04 Thread pvillard31
Github user pvillard31 commented on a diff in the pull request:

https://github.com/apache/nifi/pull/1016#discussion_r114888247
  
--- Diff: 
nifi-nar-bundles/nifi-jmx-bundle/nifi-jmx-processors/src/main/java/org/apache/nifi/processors/jmx/GetJMX.java
 ---
@@ -0,0 +1,406 @@
+/*
+ * 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.processors.jmx;
+
+import org.apache.nifi.annotation.behavior.InputRequirement;
+import org.apache.nifi.annotation.behavior.InputRequirement.Requirement;
+import org.apache.nifi.annotation.behavior.WritesAttribute;
+import org.apache.nifi.annotation.behavior.WritesAttributes;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.components.PropertyValue;
+import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.annotation.lifecycle.OnScheduled;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.SeeAlso;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.logging.ComponentLog;
+import org.apache.nifi.processor.AbstractProcessor;
+import org.apache.nifi.processor.ProcessContext;
+import org.apache.nifi.processor.ProcessorInitializationContext;
+import org.apache.nifi.processor.Relationship;
+import org.apache.nifi.processor.ProcessSession;
+import org.apache.nifi.processor.exception.ProcessException;
+import org.apache.nifi.processor.io.OutputStreamCallback;
+import org.apache.nifi.processor.util.StandardValidators;
+
+import javax.management.MBeanAttributeInfo;
+import javax.management.MBeanInfo;
+import javax.management.MBeanServerConnection;
+import javax.management.ObjectName;
+import javax.management.remote.JMXConnector;
+import javax.management.remote.JMXConnectorFactory;
+import javax.management.remote.JMXServiceURL;
+import javax.management.ReflectionException;
+import javax.management.InstanceNotFoundException;
+import javax.management.IntrospectionException;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.sql.Timestamp;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.Map;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.ListIterator;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
+
+@Tags({"JMX"})
+@InputRequirement(Requirement.INPUT_FORBIDDEN)
+@SeeAlso({})
+@CapabilityDescription(
+"Connects to the JMX RMI Url on the configured hostname and port.  
"
++ "All domains are queried and can be filtered by 
providing the full domain name "
++ "and optional MBean type as whitelist or blacklist 
parameters.\n\n"
++ "Blacklist example to exclude all types that start with 
'Memory' and GarbageCollector from the "
++ "java.lang domain and everything from the 
java.util.logging domain:"
++ "\n\njava.lang:Memory.* 
GarbageCollector,java.util.logging")
+@WritesAttributes({
+@WritesAttribute(attribute="hostname", description="The name of 
the host that the object originates."),
+@WritesAttribute(attribute="port", description="The JMX connection 
port that the object originates."),
+@WritesAttribute(attribute="timestamp", description="The timestamp 
of when the object was emitted.") })
+
+public class GetJMX extends AbstractProcessor {
+
+public static final PropertyDescriptor HOSTNAME = new 
PropertyDescriptor
+.Builder().name("Hostname")
+.displayName("Hostname")
+.description("The JMX Hostname or IP addr

[GitHub] nifi pull request #1016: NIFI-2724 New JMX Processor

2017-05-04 Thread pvillard31
Github user pvillard31 commented on a diff in the pull request:

https://github.com/apache/nifi/pull/1016#discussion_r114889131
  
--- Diff: 
nifi-nar-bundles/nifi-jmx-bundle/nifi-jmx-processors/src/main/java/org/apache/nifi/processors/jmx/ListFilter.java
 ---
@@ -0,0 +1,123 @@
+/*
+ * 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.processors.jmx;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+public class ListFilter {
+private String cachedListString = "";
+private Map> listM = null;
+
+public static final boolean WHITELIST = true;
+public static final boolean BLACKLIST = false;
+
+
+public ListFilter( String listString ) {
+setListString( listString );
+}
+
+
+public void setListString( String listString ) {
+if (listString == null || listString.isEmpty() ) listString = "";
+
+if (!listString.equals(cachedListString) || listM == null) {
+buildList( listString );
+}
+}
+
+
+private void buildList(String listString) {
+listM = new HashMap<>();
+
+if (!listString.isEmpty()) {
+String[] listElementsAr = listString.replaceAll("\\s+"," 
").split(",");
+
+for (int i = 0; i < listElementsAr.length; i++) {
+String[] listPartsAr = listElementsAr[i].split(":");
+ArrayList listTypesAL = new ArrayList();
+
+if (listPartsAr.length > 1) {
+String[] listTypeElementsAr = listPartsAr[1].split(" 
");
+
+for (String s : listTypeElementsAr) {
+if (!s.replaceAll("\\s+","").isEmpty()) {
+listTypesAL.add(s);
+}
+}
+}
+
+listM.put(listPartsAr[0], listTypesAL);
+}
+}
+
+cachedListString = listString;
+}
+
+
+
+/*
+ * domain and type values can contain regular expressions
+ * First check if the domain key in matched in the Map.  If yes then 
check if the type
+ * is matched in the ArrayList pointed to by the domain key.
+ * Is in list if...
+ * domain key is not matched: false
+ * domain key is matched and there are no entries in the ArrayList: 
true
+ * domain key is matched and there are entries in the ArrayList but 
type value is not matched: false
+ * domain key is matched and there are entries in the ArrayList and 
the type value is matched: true
+ */
+public boolean isInList(boolean listStyle, String domain, String type) 
{
+// not in the list...
+// whitelist = true since not defining a value for this style 
means the everything is included
+// blacklist = false since not defining a value for this style 
means nothing is excluded
+if (listM.size() == 0) {
+return (listStyle) ? true : false;
+}
+
+if (domain == null || domain.isEmpty()) {
+return (listStyle) ? true : false;
+}
+
+if (type == null) type = "";
--- End diff --

Please avoid single line if statement.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi pull request #1016: NIFI-2724 New JMX Processor

2017-05-04 Thread pvillard31
Github user pvillard31 commented on a diff in the pull request:

https://github.com/apache/nifi/pull/1016#discussion_r114888418
  
--- Diff: 
nifi-nar-bundles/nifi-jmx-bundle/nifi-jmx-processors/src/main/java/org/apache/nifi/processors/jmx/GetJMX.java
 ---
@@ -0,0 +1,406 @@
+/*
+ * 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.processors.jmx;
+
+import org.apache.nifi.annotation.behavior.InputRequirement;
+import org.apache.nifi.annotation.behavior.InputRequirement.Requirement;
+import org.apache.nifi.annotation.behavior.WritesAttribute;
+import org.apache.nifi.annotation.behavior.WritesAttributes;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.components.PropertyValue;
+import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.annotation.lifecycle.OnScheduled;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.SeeAlso;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.logging.ComponentLog;
+import org.apache.nifi.processor.AbstractProcessor;
+import org.apache.nifi.processor.ProcessContext;
+import org.apache.nifi.processor.ProcessorInitializationContext;
+import org.apache.nifi.processor.Relationship;
+import org.apache.nifi.processor.ProcessSession;
+import org.apache.nifi.processor.exception.ProcessException;
+import org.apache.nifi.processor.io.OutputStreamCallback;
+import org.apache.nifi.processor.util.StandardValidators;
+
+import javax.management.MBeanAttributeInfo;
+import javax.management.MBeanInfo;
+import javax.management.MBeanServerConnection;
+import javax.management.ObjectName;
+import javax.management.remote.JMXConnector;
+import javax.management.remote.JMXConnectorFactory;
+import javax.management.remote.JMXServiceURL;
+import javax.management.ReflectionException;
+import javax.management.InstanceNotFoundException;
+import javax.management.IntrospectionException;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.sql.Timestamp;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.Map;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.ListIterator;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
+
+@Tags({"JMX"})
+@InputRequirement(Requirement.INPUT_FORBIDDEN)
+@SeeAlso({})
+@CapabilityDescription(
+"Connects to the JMX RMI Url on the configured hostname and port.  
"
++ "All domains are queried and can be filtered by 
providing the full domain name "
++ "and optional MBean type as whitelist or blacklist 
parameters.\n\n"
++ "Blacklist example to exclude all types that start with 
'Memory' and GarbageCollector from the "
++ "java.lang domain and everything from the 
java.util.logging domain:"
++ "\n\njava.lang:Memory.* 
GarbageCollector,java.util.logging")
+@WritesAttributes({
+@WritesAttribute(attribute="hostname", description="The name of 
the host that the object originates."),
+@WritesAttribute(attribute="port", description="The JMX connection 
port that the object originates."),
+@WritesAttribute(attribute="timestamp", description="The timestamp 
of when the object was emitted.") })
+
+public class GetJMX extends AbstractProcessor {
+
+public static final PropertyDescriptor HOSTNAME = new 
PropertyDescriptor
+.Builder().name("Hostname")
+.displayName("Hostname")
+.description("The JMX Hostname or IP addr

[GitHub] nifi pull request #1016: NIFI-2724 New JMX Processor

2017-05-04 Thread pvillard31
Github user pvillard31 commented on a diff in the pull request:

https://github.com/apache/nifi/pull/1016#discussion_r114888643
  
--- Diff: 
nifi-nar-bundles/nifi-jmx-bundle/nifi-jmx-processors/src/main/java/org/apache/nifi/processors/jmx/GetJMX.java
 ---
@@ -0,0 +1,406 @@
+/*
+ * 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.processors.jmx;
+
+import org.apache.nifi.annotation.behavior.InputRequirement;
+import org.apache.nifi.annotation.behavior.InputRequirement.Requirement;
+import org.apache.nifi.annotation.behavior.WritesAttribute;
+import org.apache.nifi.annotation.behavior.WritesAttributes;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.components.PropertyValue;
+import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.annotation.lifecycle.OnScheduled;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.SeeAlso;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.logging.ComponentLog;
+import org.apache.nifi.processor.AbstractProcessor;
+import org.apache.nifi.processor.ProcessContext;
+import org.apache.nifi.processor.ProcessorInitializationContext;
+import org.apache.nifi.processor.Relationship;
+import org.apache.nifi.processor.ProcessSession;
+import org.apache.nifi.processor.exception.ProcessException;
+import org.apache.nifi.processor.io.OutputStreamCallback;
+import org.apache.nifi.processor.util.StandardValidators;
+
+import javax.management.MBeanAttributeInfo;
+import javax.management.MBeanInfo;
+import javax.management.MBeanServerConnection;
+import javax.management.ObjectName;
+import javax.management.remote.JMXConnector;
+import javax.management.remote.JMXConnectorFactory;
+import javax.management.remote.JMXServiceURL;
+import javax.management.ReflectionException;
+import javax.management.InstanceNotFoundException;
+import javax.management.IntrospectionException;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.sql.Timestamp;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.Map;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.ListIterator;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
+
+@Tags({"JMX"})
+@InputRequirement(Requirement.INPUT_FORBIDDEN)
+@SeeAlso({})
+@CapabilityDescription(
+"Connects to the JMX RMI Url on the configured hostname and port.  
"
++ "All domains are queried and can be filtered by 
providing the full domain name "
++ "and optional MBean type as whitelist or blacklist 
parameters.\n\n"
++ "Blacklist example to exclude all types that start with 
'Memory' and GarbageCollector from the "
++ "java.lang domain and everything from the 
java.util.logging domain:"
++ "\n\njava.lang:Memory.* 
GarbageCollector,java.util.logging")
+@WritesAttributes({
+@WritesAttribute(attribute="hostname", description="The name of 
the host that the object originates."),
+@WritesAttribute(attribute="port", description="The JMX connection 
port that the object originates."),
+@WritesAttribute(attribute="timestamp", description="The timestamp 
of when the object was emitted.") })
+
+public class GetJMX extends AbstractProcessor {
+
+public static final PropertyDescriptor HOSTNAME = new 
PropertyDescriptor
+.Builder().name("Hostname")
+.displayName("Hostname")
+.description("The JMX Hostname or IP addr

[GitHub] nifi pull request #1016: NIFI-2724 New JMX Processor

2017-05-04 Thread pvillard31
Github user pvillard31 commented on a diff in the pull request:

https://github.com/apache/nifi/pull/1016#discussion_r114889040
  
--- Diff: 
nifi-nar-bundles/nifi-jmx-bundle/nifi-jmx-processors/src/main/java/org/apache/nifi/processors/jmx/ListFilter.java
 ---
@@ -0,0 +1,123 @@
+/*
+ * 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.processors.jmx;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+public class ListFilter {
+private String cachedListString = "";
+private Map> listM = null;
+
+public static final boolean WHITELIST = true;
+public static final boolean BLACKLIST = false;
+
+
+public ListFilter( String listString ) {
+setListString( listString );
+}
+
+
+public void setListString( String listString ) {
+if (listString == null || listString.isEmpty() ) listString = "";
+
+if (!listString.equals(cachedListString) || listM == null) {
+buildList( listString );
+}
+}
+
+
+private void buildList(String listString) {
+listM = new HashMap<>();
+
+if (!listString.isEmpty()) {
+String[] listElementsAr = listString.replaceAll("\\s+"," 
").split(",");
+
+for (int i = 0; i < listElementsAr.length; i++) {
+String[] listPartsAr = listElementsAr[i].split(":");
+ArrayList listTypesAL = new ArrayList();
+
+if (listPartsAr.length > 1) {
+String[] listTypeElementsAr = listPartsAr[1].split(" 
");
+
+for (String s : listTypeElementsAr) {
+if (!s.replaceAll("\\s+","").isEmpty()) {
+listTypesAL.add(s);
+}
+}
+}
+
+listM.put(listPartsAr[0], listTypesAL);
+}
+}
+
+cachedListString = listString;
+}
+
+
+
+/*
+ * domain and type values can contain regular expressions
+ * First check if the domain key in matched in the Map.  If yes then 
check if the type
+ * is matched in the ArrayList pointed to by the domain key.
+ * Is in list if...
+ * domain key is not matched: false
+ * domain key is matched and there are no entries in the ArrayList: 
true
+ * domain key is matched and there are entries in the ArrayList but 
type value is not matched: false
+ * domain key is matched and there are entries in the ArrayList and 
the type value is matched: true
+ */
+public boolean isInList(boolean listStyle, String domain, String type) 
{
+// not in the list...
+// whitelist = true since not defining a value for this style 
means the everything is included
+// blacklist = false since not defining a value for this style 
means nothing is excluded
+if (listM.size() == 0) {
+return (listStyle) ? true : false;
--- End diff --

java
return listStyle;


Same comments for next part: it's useless to do: return boolean ? true : 
false
You can just return boolean.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi pull request #1016: NIFI-2724 New JMX Processor

2017-05-04 Thread pvillard31
Github user pvillard31 commented on a diff in the pull request:

https://github.com/apache/nifi/pull/1016#discussion_r114886280
  
--- Diff: 
nifi-nar-bundles/nifi-jmx-bundle/nifi-jmx-processors/src/main/java/org/apache/nifi/processors/jmx/ListFilter.java
 ---
@@ -0,0 +1,123 @@
+/*
+ * 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.processors.jmx;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+public class ListFilter {
+private String cachedListString = "";
+private Map> listM = null;
+
+public static final boolean WHITELIST = true;
+public static final boolean BLACKLIST = false;
+
+
+public ListFilter( String listString ) {
+setListString( listString );
+}
+
+
+public void setListString( String listString ) {
+if (listString == null || listString.isEmpty() ) listString = "";
--- End diff --

Why are you checking listString.isEmpty() to set it empty after? Am I 
missing something?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi pull request #1016: NIFI-2724 New JMX Processor

2017-05-04 Thread pvillard31
Github user pvillard31 commented on a diff in the pull request:

https://github.com/apache/nifi/pull/1016#discussion_r114887336
  
--- Diff: 
nifi-nar-bundles/nifi-jmx-bundle/nifi-jmx-processors/src/main/java/org/apache/nifi/processors/jmx/GetJMX.java
 ---
@@ -0,0 +1,406 @@
+/*
+ * 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.processors.jmx;
+
+import org.apache.nifi.annotation.behavior.InputRequirement;
+import org.apache.nifi.annotation.behavior.InputRequirement.Requirement;
+import org.apache.nifi.annotation.behavior.WritesAttribute;
+import org.apache.nifi.annotation.behavior.WritesAttributes;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.components.PropertyValue;
+import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.annotation.lifecycle.OnScheduled;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.SeeAlso;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.logging.ComponentLog;
+import org.apache.nifi.processor.AbstractProcessor;
+import org.apache.nifi.processor.ProcessContext;
+import org.apache.nifi.processor.ProcessorInitializationContext;
+import org.apache.nifi.processor.Relationship;
+import org.apache.nifi.processor.ProcessSession;
+import org.apache.nifi.processor.exception.ProcessException;
+import org.apache.nifi.processor.io.OutputStreamCallback;
+import org.apache.nifi.processor.util.StandardValidators;
+
+import javax.management.MBeanAttributeInfo;
+import javax.management.MBeanInfo;
+import javax.management.MBeanServerConnection;
+import javax.management.ObjectName;
+import javax.management.remote.JMXConnector;
+import javax.management.remote.JMXConnectorFactory;
+import javax.management.remote.JMXServiceURL;
+import javax.management.ReflectionException;
+import javax.management.InstanceNotFoundException;
+import javax.management.IntrospectionException;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.sql.Timestamp;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.Map;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.ListIterator;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
+
+@Tags({"JMX"})
+@InputRequirement(Requirement.INPUT_FORBIDDEN)
+@SeeAlso({})
+@CapabilityDescription(
+"Connects to the JMX RMI Url on the configured hostname and port.  
"
++ "All domains are queried and can be filtered by 
providing the full domain name "
++ "and optional MBean type as whitelist or blacklist 
parameters.\n\n"
++ "Blacklist example to exclude all types that start with 
'Memory' and GarbageCollector from the "
++ "java.lang domain and everything from the 
java.util.logging domain:"
++ "\n\njava.lang:Memory.* 
GarbageCollector,java.util.logging")
+@WritesAttributes({
+@WritesAttribute(attribute="hostname", description="The name of 
the host that the object originates."),
+@WritesAttribute(attribute="port", description="The JMX connection 
port that the object originates."),
+@WritesAttribute(attribute="timestamp", description="The timestamp 
of when the object was emitted.") })
+
+public class GetJMX extends AbstractProcessor {
+
+public static final PropertyDescriptor HOSTNAME = new 
PropertyDescriptor
+.Builder().name("Hostname")
+.displayName("Hostname")
+.description("The JMX Hostname or IP addr

[GitHub] nifi pull request #1016: NIFI-2724 New JMX Processor

2017-05-04 Thread pvillard31
Github user pvillard31 commented on a diff in the pull request:

https://github.com/apache/nifi/pull/1016#discussion_r114887973
  
--- Diff: 
nifi-nar-bundles/nifi-jmx-bundle/nifi-jmx-processors/src/main/java/org/apache/nifi/processors/jmx/GetJMX.java
 ---
@@ -0,0 +1,406 @@
+/*
+ * 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.processors.jmx;
+
+import org.apache.nifi.annotation.behavior.InputRequirement;
+import org.apache.nifi.annotation.behavior.InputRequirement.Requirement;
+import org.apache.nifi.annotation.behavior.WritesAttribute;
+import org.apache.nifi.annotation.behavior.WritesAttributes;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.components.PropertyValue;
+import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.annotation.lifecycle.OnScheduled;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.SeeAlso;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.logging.ComponentLog;
+import org.apache.nifi.processor.AbstractProcessor;
+import org.apache.nifi.processor.ProcessContext;
+import org.apache.nifi.processor.ProcessorInitializationContext;
+import org.apache.nifi.processor.Relationship;
+import org.apache.nifi.processor.ProcessSession;
+import org.apache.nifi.processor.exception.ProcessException;
+import org.apache.nifi.processor.io.OutputStreamCallback;
+import org.apache.nifi.processor.util.StandardValidators;
+
+import javax.management.MBeanAttributeInfo;
+import javax.management.MBeanInfo;
+import javax.management.MBeanServerConnection;
+import javax.management.ObjectName;
+import javax.management.remote.JMXConnector;
+import javax.management.remote.JMXConnectorFactory;
+import javax.management.remote.JMXServiceURL;
+import javax.management.ReflectionException;
+import javax.management.InstanceNotFoundException;
+import javax.management.IntrospectionException;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.sql.Timestamp;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.Map;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.ListIterator;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
+
+@Tags({"JMX"})
+@InputRequirement(Requirement.INPUT_FORBIDDEN)
+@SeeAlso({})
+@CapabilityDescription(
+"Connects to the JMX RMI Url on the configured hostname and port.  
"
++ "All domains are queried and can be filtered by 
providing the full domain name "
++ "and optional MBean type as whitelist or blacklist 
parameters.\n\n"
++ "Blacklist example to exclude all types that start with 
'Memory' and GarbageCollector from the "
++ "java.lang domain and everything from the 
java.util.logging domain:"
++ "\n\njava.lang:Memory.* 
GarbageCollector,java.util.logging")
+@WritesAttributes({
+@WritesAttribute(attribute="hostname", description="The name of 
the host that the object originates."),
+@WritesAttribute(attribute="port", description="The JMX connection 
port that the object originates."),
+@WritesAttribute(attribute="timestamp", description="The timestamp 
of when the object was emitted.") })
+
+public class GetJMX extends AbstractProcessor {
+
+public static final PropertyDescriptor HOSTNAME = new 
PropertyDescriptor
+.Builder().name("Hostname")
+.displayName("Hostname")
+.description("The JMX Hostname or IP addr

[GitHub] nifi pull request #1016: NIFI-2724 New JMX Processor

2017-05-04 Thread pvillard31
Github user pvillard31 commented on a diff in the pull request:

https://github.com/apache/nifi/pull/1016#discussion_r114887372
  
--- Diff: 
nifi-nar-bundles/nifi-jmx-bundle/nifi-jmx-processors/src/main/java/org/apache/nifi/processors/jmx/GetJMX.java
 ---
@@ -0,0 +1,406 @@
+/*
+ * 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.processors.jmx;
+
+import org.apache.nifi.annotation.behavior.InputRequirement;
+import org.apache.nifi.annotation.behavior.InputRequirement.Requirement;
+import org.apache.nifi.annotation.behavior.WritesAttribute;
+import org.apache.nifi.annotation.behavior.WritesAttributes;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.components.PropertyValue;
+import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.annotation.lifecycle.OnScheduled;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.SeeAlso;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.logging.ComponentLog;
+import org.apache.nifi.processor.AbstractProcessor;
+import org.apache.nifi.processor.ProcessContext;
+import org.apache.nifi.processor.ProcessorInitializationContext;
+import org.apache.nifi.processor.Relationship;
+import org.apache.nifi.processor.ProcessSession;
+import org.apache.nifi.processor.exception.ProcessException;
+import org.apache.nifi.processor.io.OutputStreamCallback;
+import org.apache.nifi.processor.util.StandardValidators;
+
+import javax.management.MBeanAttributeInfo;
+import javax.management.MBeanInfo;
+import javax.management.MBeanServerConnection;
+import javax.management.ObjectName;
+import javax.management.remote.JMXConnector;
+import javax.management.remote.JMXConnectorFactory;
+import javax.management.remote.JMXServiceURL;
+import javax.management.ReflectionException;
+import javax.management.InstanceNotFoundException;
+import javax.management.IntrospectionException;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.sql.Timestamp;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.Map;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.ListIterator;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
+
+@Tags({"JMX"})
+@InputRequirement(Requirement.INPUT_FORBIDDEN)
+@SeeAlso({})
+@CapabilityDescription(
+"Connects to the JMX RMI Url on the configured hostname and port.  
"
++ "All domains are queried and can be filtered by 
providing the full domain name "
++ "and optional MBean type as whitelist or blacklist 
parameters.\n\n"
++ "Blacklist example to exclude all types that start with 
'Memory' and GarbageCollector from the "
++ "java.lang domain and everything from the 
java.util.logging domain:"
++ "\n\njava.lang:Memory.* 
GarbageCollector,java.util.logging")
+@WritesAttributes({
+@WritesAttribute(attribute="hostname", description="The name of 
the host that the object originates."),
+@WritesAttribute(attribute="port", description="The JMX connection 
port that the object originates."),
+@WritesAttribute(attribute="timestamp", description="The timestamp 
of when the object was emitted.") })
+
+public class GetJMX extends AbstractProcessor {
+
+public static final PropertyDescriptor HOSTNAME = new 
PropertyDescriptor
+.Builder().name("Hostname")
+.displayName("Hostname")
+.description("The JMX Hostname or IP addr

[GitHub] nifi pull request #1016: NIFI-2724 New JMX Processor

2017-05-04 Thread pvillard31
Github user pvillard31 commented on a diff in the pull request:

https://github.com/apache/nifi/pull/1016#discussion_r114884244
  
--- Diff: 
nifi-nar-bundles/nifi-jmx-bundle/nifi-jmx-processors/src/main/java/org/apache/nifi/processors/jmx/GetJMX.java
 ---
@@ -0,0 +1,406 @@
+/*
+ * 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.processors.jmx;
+
+import org.apache.nifi.annotation.behavior.InputRequirement;
+import org.apache.nifi.annotation.behavior.InputRequirement.Requirement;
+import org.apache.nifi.annotation.behavior.WritesAttribute;
+import org.apache.nifi.annotation.behavior.WritesAttributes;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.components.PropertyValue;
+import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.annotation.lifecycle.OnScheduled;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.SeeAlso;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.logging.ComponentLog;
+import org.apache.nifi.processor.AbstractProcessor;
+import org.apache.nifi.processor.ProcessContext;
+import org.apache.nifi.processor.ProcessorInitializationContext;
+import org.apache.nifi.processor.Relationship;
+import org.apache.nifi.processor.ProcessSession;
+import org.apache.nifi.processor.exception.ProcessException;
+import org.apache.nifi.processor.io.OutputStreamCallback;
+import org.apache.nifi.processor.util.StandardValidators;
+
+import javax.management.MBeanAttributeInfo;
+import javax.management.MBeanInfo;
+import javax.management.MBeanServerConnection;
+import javax.management.ObjectName;
+import javax.management.remote.JMXConnector;
+import javax.management.remote.JMXConnectorFactory;
+import javax.management.remote.JMXServiceURL;
+import javax.management.ReflectionException;
+import javax.management.InstanceNotFoundException;
+import javax.management.IntrospectionException;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.sql.Timestamp;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.Map;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.ListIterator;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
+
+@Tags({"JMX"})
+@InputRequirement(Requirement.INPUT_FORBIDDEN)
+@SeeAlso({})
+@CapabilityDescription(
+"Connects to the JMX RMI Url on the configured hostname and port.  
"
++ "All domains are queried and can be filtered by 
providing the full domain name "
++ "and optional MBean type as whitelist or blacklist 
parameters.\n\n"
++ "Blacklist example to exclude all types that start with 
'Memory' and GarbageCollector from the "
++ "java.lang domain and everything from the 
java.util.logging domain:"
++ "\n\njava.lang:Memory.* 
GarbageCollector,java.util.logging")
+@WritesAttributes({
+@WritesAttribute(attribute="hostname", description="The name of 
the host that the object originates."),
+@WritesAttribute(attribute="port", description="The JMX connection 
port that the object originates."),
+@WritesAttribute(attribute="timestamp", description="The timestamp 
of when the object was emitted.") })
+
+public class GetJMX extends AbstractProcessor {
+
+public static final PropertyDescriptor HOSTNAME = new 
PropertyDescriptor
+.Builder().name("Hostname")
+.displayName("Hostname")
+.description("The JMX Hostname or IP addr

[GitHub] nifi pull request #1016: NIFI-2724 New JMX Processor

2017-05-04 Thread pvillard31
Github user pvillard31 commented on a diff in the pull request:

https://github.com/apache/nifi/pull/1016#discussion_r114890435
  
--- Diff: 
nifi-nar-bundles/nifi-jmx-bundle/nifi-jmx-processors/src/main/java/org/apache/nifi/processors/jmx/GetJMX.java
 ---
@@ -0,0 +1,406 @@
+/*
+ * 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.processors.jmx;
+
+import org.apache.nifi.annotation.behavior.InputRequirement;
+import org.apache.nifi.annotation.behavior.InputRequirement.Requirement;
+import org.apache.nifi.annotation.behavior.WritesAttribute;
+import org.apache.nifi.annotation.behavior.WritesAttributes;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.components.PropertyValue;
+import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.annotation.lifecycle.OnScheduled;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.SeeAlso;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.logging.ComponentLog;
+import org.apache.nifi.processor.AbstractProcessor;
+import org.apache.nifi.processor.ProcessContext;
+import org.apache.nifi.processor.ProcessorInitializationContext;
+import org.apache.nifi.processor.Relationship;
+import org.apache.nifi.processor.ProcessSession;
+import org.apache.nifi.processor.exception.ProcessException;
+import org.apache.nifi.processor.io.OutputStreamCallback;
+import org.apache.nifi.processor.util.StandardValidators;
+
+import javax.management.MBeanAttributeInfo;
+import javax.management.MBeanInfo;
+import javax.management.MBeanServerConnection;
+import javax.management.ObjectName;
+import javax.management.remote.JMXConnector;
+import javax.management.remote.JMXConnectorFactory;
+import javax.management.remote.JMXServiceURL;
+import javax.management.ReflectionException;
+import javax.management.InstanceNotFoundException;
+import javax.management.IntrospectionException;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.sql.Timestamp;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.Map;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.ListIterator;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
+
+@Tags({"JMX"})
+@InputRequirement(Requirement.INPUT_FORBIDDEN)
+@SeeAlso({})
+@CapabilityDescription(
+"Connects to the JMX RMI Url on the configured hostname and port.  
"
++ "All domains are queried and can be filtered by 
providing the full domain name "
++ "and optional MBean type as whitelist or blacklist 
parameters.\n\n"
++ "Blacklist example to exclude all types that start with 
'Memory' and GarbageCollector from the "
++ "java.lang domain and everything from the 
java.util.logging domain:"
++ "\n\njava.lang:Memory.* 
GarbageCollector,java.util.logging")
+@WritesAttributes({
+@WritesAttribute(attribute="hostname", description="The name of 
the host that the object originates."),
+@WritesAttribute(attribute="port", description="The JMX connection 
port that the object originates."),
+@WritesAttribute(attribute="timestamp", description="The timestamp 
of when the object was emitted.") })
+
+public class GetJMX extends AbstractProcessor {
+
+public static final PropertyDescriptor HOSTNAME = new 
PropertyDescriptor
+.Builder().name("Hostname")
+.displayName("Hostname")
+.description("The JMX Hostname or IP addr

[GitHub] nifi pull request #1016: NIFI-2724 New JMX Processor

2017-05-04 Thread pvillard31
Github user pvillard31 commented on a diff in the pull request:

https://github.com/apache/nifi/pull/1016#discussion_r114885148
  
--- Diff: 
nifi-nar-bundles/nifi-jmx-bundle/nifi-jmx-processors/src/main/java/org/apache/nifi/processors/jmx/GetJMX.java
 ---
@@ -0,0 +1,406 @@
+/*
+ * 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.processors.jmx;
+
+import org.apache.nifi.annotation.behavior.InputRequirement;
+import org.apache.nifi.annotation.behavior.InputRequirement.Requirement;
+import org.apache.nifi.annotation.behavior.WritesAttribute;
+import org.apache.nifi.annotation.behavior.WritesAttributes;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.components.PropertyValue;
+import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.annotation.lifecycle.OnScheduled;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.SeeAlso;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.logging.ComponentLog;
+import org.apache.nifi.processor.AbstractProcessor;
+import org.apache.nifi.processor.ProcessContext;
+import org.apache.nifi.processor.ProcessorInitializationContext;
+import org.apache.nifi.processor.Relationship;
+import org.apache.nifi.processor.ProcessSession;
+import org.apache.nifi.processor.exception.ProcessException;
+import org.apache.nifi.processor.io.OutputStreamCallback;
+import org.apache.nifi.processor.util.StandardValidators;
+
+import javax.management.MBeanAttributeInfo;
+import javax.management.MBeanInfo;
+import javax.management.MBeanServerConnection;
+import javax.management.ObjectName;
+import javax.management.remote.JMXConnector;
+import javax.management.remote.JMXConnectorFactory;
+import javax.management.remote.JMXServiceURL;
+import javax.management.ReflectionException;
+import javax.management.InstanceNotFoundException;
+import javax.management.IntrospectionException;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.sql.Timestamp;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.Map;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.ListIterator;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
+
+@Tags({"JMX"})
+@InputRequirement(Requirement.INPUT_FORBIDDEN)
+@SeeAlso({})
+@CapabilityDescription(
+"Connects to the JMX RMI Url on the configured hostname and port.  
"
++ "All domains are queried and can be filtered by 
providing the full domain name "
++ "and optional MBean type as whitelist or blacklist 
parameters.\n\n"
++ "Blacklist example to exclude all types that start with 
'Memory' and GarbageCollector from the "
++ "java.lang domain and everything from the 
java.util.logging domain:"
++ "\n\njava.lang:Memory.* 
GarbageCollector,java.util.logging")
+@WritesAttributes({
+@WritesAttribute(attribute="hostname", description="The name of 
the host that the object originates."),
+@WritesAttribute(attribute="port", description="The JMX connection 
port that the object originates."),
+@WritesAttribute(attribute="timestamp", description="The timestamp 
of when the object was emitted.") })
+
+public class GetJMX extends AbstractProcessor {
+
+public static final PropertyDescriptor HOSTNAME = new 
PropertyDescriptor
+.Builder().name("Hostname")
+.displayName("Hostname")
+.description("The JMX Hostname or IP addr

[GitHub] nifi pull request #1016: NIFI-2724 New JMX Processor

2017-05-04 Thread pvillard31
Github user pvillard31 commented on a diff in the pull request:

https://github.com/apache/nifi/pull/1016#discussion_r114884423
  
--- Diff: 
nifi-nar-bundles/nifi-jmx-bundle/nifi-jmx-processors/src/main/java/org/apache/nifi/processors/jmx/GetJMX.java
 ---
@@ -0,0 +1,406 @@
+/*
+ * 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.processors.jmx;
+
+import org.apache.nifi.annotation.behavior.InputRequirement;
+import org.apache.nifi.annotation.behavior.InputRequirement.Requirement;
+import org.apache.nifi.annotation.behavior.WritesAttribute;
+import org.apache.nifi.annotation.behavior.WritesAttributes;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.components.PropertyValue;
+import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.annotation.lifecycle.OnScheduled;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.SeeAlso;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.logging.ComponentLog;
+import org.apache.nifi.processor.AbstractProcessor;
+import org.apache.nifi.processor.ProcessContext;
+import org.apache.nifi.processor.ProcessorInitializationContext;
+import org.apache.nifi.processor.Relationship;
+import org.apache.nifi.processor.ProcessSession;
+import org.apache.nifi.processor.exception.ProcessException;
+import org.apache.nifi.processor.io.OutputStreamCallback;
+import org.apache.nifi.processor.util.StandardValidators;
+
+import javax.management.MBeanAttributeInfo;
+import javax.management.MBeanInfo;
+import javax.management.MBeanServerConnection;
+import javax.management.ObjectName;
+import javax.management.remote.JMXConnector;
+import javax.management.remote.JMXConnectorFactory;
+import javax.management.remote.JMXServiceURL;
+import javax.management.ReflectionException;
+import javax.management.InstanceNotFoundException;
+import javax.management.IntrospectionException;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.sql.Timestamp;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.Map;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.ListIterator;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
+
+@Tags({"JMX"})
+@InputRequirement(Requirement.INPUT_FORBIDDEN)
+@SeeAlso({})
+@CapabilityDescription(
+"Connects to the JMX RMI Url on the configured hostname and port.  
"
++ "All domains are queried and can be filtered by 
providing the full domain name "
++ "and optional MBean type as whitelist or blacklist 
parameters.\n\n"
++ "Blacklist example to exclude all types that start with 
'Memory' and GarbageCollector from the "
++ "java.lang domain and everything from the 
java.util.logging domain:"
++ "\n\njava.lang:Memory.* 
GarbageCollector,java.util.logging")
+@WritesAttributes({
+@WritesAttribute(attribute="hostname", description="The name of 
the host that the object originates."),
+@WritesAttribute(attribute="port", description="The JMX connection 
port that the object originates."),
+@WritesAttribute(attribute="timestamp", description="The timestamp 
of when the object was emitted.") })
+
+public class GetJMX extends AbstractProcessor {
+
+public static final PropertyDescriptor HOSTNAME = new 
PropertyDescriptor
+.Builder().name("Hostname")
+.displayName("Hostname")
+.description("The JMX Hostname or IP addr

[jira] [Commented] (NIFI-3795) nifi-assembly fails with "no formats specified" error

2017-05-04 Thread Andre F de Miranda (JIRA)

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

Andre F de Miranda commented on NIFI-3795:
--

[~jameswing] [~bbende] thanks for the explanation. I had missed the comment 
with the reasoning behind the commit and was struggling to understand how the 
magic worked.

Great job folks!!!

> nifi-assembly fails with "no formats specified" error
> -
>
> Key: NIFI-3795
> URL: https://issues.apache.org/jira/browse/NIFI-3795
> Project: Apache NiFi
>  Issue Type: Bug
>Affects Versions: 1.2.0
>Reporter: Bryan Bende
>Assignee: James Wing
>Priority: Blocker
> Fix For: 1.2.0
>
>
> After staging the 1.2.0 RC1 artifacts, I then downloaded the source zip from 
> the Nexus staging repo, unzipped it and ran "mvn clean install -DskipTests" 
> to verify that it would build. I encountered the below error:
> [ERROR] Failed to execute goal 
> org.apache.maven.plugins:maven-assembly-plugin:2.5.2:single (make shared 
> resource) on project nifi-assembly: No formats specified in the execution 
> parameters or the assembly descriptor. -> [Help 1]
> After some debugging it was determined that one difference between this build 
> and the previous build that staged the artifacts, is that this build was not 
> within a git repo where as the other one was.
> After running git init, adding all files, and making a commit, then the build 
> passed. Still unclear as to why being in a git repo matters here, although 
> every NAR now tries to use the git info from the buildnumber plugin to filter 
> into the MANIFEST files.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[GitHub] nifi pull request #1755: NIFI-528 add support to specify timeout in ExecuteP...

2017-05-04 Thread medjessy
GitHub user medjessy opened a pull request:

https://github.com/apache/nifi/pull/1755

NIFI-528 add support to specify timeout in ExecuteProcess

Thank you for submitting a contribution to Apache NiFi.

In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:

### For all changes:
- [ ] Is there a JIRA ticket associated with this PR? Is it referenced 
 in the commit message?

- [ ] Does your PR title start with NIFI- where  is the JIRA number 
you are trying to resolve? Pay particular attention to the hyphen "-" character.

- [ ] Has your PR been rebased against the latest commit within the target 
branch (typically master)?

- [ ] Is your initial contribution a single, squashed commit?

### For code changes:
- [ ] Have you ensured that the full suite of tests is executed via mvn 
-Pcontrib-check clean install at the root nifi folder?
- [ ] Have you written or updated unit tests to verify your changes?
- [ ] If adding new dependencies to the code, are these dependencies 
licensed in a way that is compatible for inclusion under [ASF 
2.0](http://www.apache.org/legal/resolved.html#category-a)? 
- [ ] If applicable, have you updated the LICENSE file, including the main 
LICENSE file under nifi-assembly?
- [ ] If applicable, have you updated the NOTICE file, including the main 
NOTICE file found under nifi-assembly?
- [ ] If adding new Properties, have you added .displayName in addition to 
.name (programmatic access) for each of the new properties?

### For documentation related changes:
- [ ] Have you ensured that format looks appropriate for the output in 
which it is rendered?

### Note:
Please ensure that once the PR is submitted, you check travis-ci for build 
issues and submit an update to your PR as soon as possible.


You can merge this pull request into a Git repository by running:

$ git pull https://github.com/medjessy/nifi NIFI-528

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/nifi/pull/1755.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #1755


commit 4e3bad0f14761409df4dbe70eb405270876222b7
Author: Djessy Menard 
Date:   2017-05-04T18:31:56Z

NIFI-528 add support to specify timeout in ExecuteProcess

commit 1ad592f730bbfd09fe4f3234dca01e42a14c3cfb
Author: Djessy Menard 
Date:   2017-05-04T19:49:02Z

NIFI-528 test ExecuteProcess timeout




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Commented] (NIFI-528) Add support to specify a timeout on ExecuteStreamCommand, ExecuteScript, and ExecuteProcess

2017-05-04 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on NIFI-528:
-

GitHub user medjessy opened a pull request:

https://github.com/apache/nifi/pull/1755

NIFI-528 add support to specify timeout in ExecuteProcess

Thank you for submitting a contribution to Apache NiFi.

In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:

### For all changes:
- [ ] Is there a JIRA ticket associated with this PR? Is it referenced 
 in the commit message?

- [ ] Does your PR title start with NIFI- where  is the JIRA number 
you are trying to resolve? Pay particular attention to the hyphen "-" character.

- [ ] Has your PR been rebased against the latest commit within the target 
branch (typically master)?

- [ ] Is your initial contribution a single, squashed commit?

### For code changes:
- [ ] Have you ensured that the full suite of tests is executed via mvn 
-Pcontrib-check clean install at the root nifi folder?
- [ ] Have you written or updated unit tests to verify your changes?
- [ ] If adding new dependencies to the code, are these dependencies 
licensed in a way that is compatible for inclusion under [ASF 
2.0](http://www.apache.org/legal/resolved.html#category-a)? 
- [ ] If applicable, have you updated the LICENSE file, including the main 
LICENSE file under nifi-assembly?
- [ ] If applicable, have you updated the NOTICE file, including the main 
NOTICE file found under nifi-assembly?
- [ ] If adding new Properties, have you added .displayName in addition to 
.name (programmatic access) for each of the new properties?

### For documentation related changes:
- [ ] Have you ensured that format looks appropriate for the output in 
which it is rendered?

### Note:
Please ensure that once the PR is submitted, you check travis-ci for build 
issues and submit an update to your PR as soon as possible.


You can merge this pull request into a Git repository by running:

$ git pull https://github.com/medjessy/nifi NIFI-528

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/nifi/pull/1755.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #1755


commit 4e3bad0f14761409df4dbe70eb405270876222b7
Author: Djessy Menard 
Date:   2017-05-04T18:31:56Z

NIFI-528 add support to specify timeout in ExecuteProcess

commit 1ad592f730bbfd09fe4f3234dca01e42a14c3cfb
Author: Djessy Menard 
Date:   2017-05-04T19:49:02Z

NIFI-528 test ExecuteProcess timeout




> Add support to specify a timeout on ExecuteStreamCommand, ExecuteScript, and 
> ExecuteProcess 
> 
>
> Key: NIFI-528
> URL: https://issues.apache.org/jira/browse/NIFI-528
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Core Framework
>Reporter: Michael Wagner
>  Labels: beginner, processor
>
> Should be a way to specify a timeout on ExecuteStreamCommand, ExecuteScript, 
> and ExecuteProcess. If the script hung for some reason, kill the process and 
> move on, send the timeout flowfile to a failure route. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (NIFI-3809) S2S Reporting tasks should provide the option to choose transport protocol

2017-05-04 Thread Pierre Villard (JIRA)

 [ 
https://issues.apache.org/jira/browse/NIFI-3809?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pierre Villard updated NIFI-3809:
-
Status: Patch Available  (was: Open)

> S2S Reporting tasks should provide the option to choose transport protocol
> --
>
> Key: NIFI-3809
> URL: https://issues.apache.org/jira/browse/NIFI-3809
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Extensions
>Affects Versions: 1.2.0
>Reporter: Pierre Villard
>Assignee: Pierre Villard
>
> Right now Site-to-Site based reporting tasks are using the default RAW 
> protocol but some users might not want to open a port for that. It should be 
> possible to use HTTP.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (NIFI-3809) S2S Reporting tasks should provide the option to choose transport protocol

2017-05-04 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on NIFI-3809:
--

GitHub user pvillard31 opened a pull request:

https://github.com/apache/nifi/pull/1754

NIFI-3809 - Added HTTP mode and HTTP proxy for S2S Reporting Tasks

Thank you for submitting a contribution to Apache NiFi.

In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:

### For all changes:
- [X] Is there a JIRA ticket associated with this PR? Is it referenced 
 in the commit message?

- [X] Does your PR title start with NIFI- where  is the JIRA number 
you are trying to resolve? Pay particular attention to the hyphen "-" character.

- [X] Has your PR been rebased against the latest commit within the target 
branch (typically master)?

- [X] Is your initial contribution a single, squashed commit?

### For code changes:
- [X] Have you ensured that the full suite of tests is executed via mvn 
-Pcontrib-check clean install at the root nifi folder?
- [X] Have you written or updated unit tests to verify your changes?
- [X] If adding new Properties, have you added .displayName in addition to 
.name (programmatic access) for each of the new properties?

### Note:
Please ensure that once the PR is submitted, you check travis-ci for build 
issues and submit an update to your PR as soon as possible.


You can merge this pull request into a Git repository by running:

$ git pull https://github.com/pvillard31/nifi NIFI-3809

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/nifi/pull/1754.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #1754


commit c077a3da893f5c56e505bc1c94f51c8f2fc30ecf
Author: Pierre Villard 
Date:   2017-05-04T20:43:32Z

NIFI-3809 - Added HTTP mode and HTTP proxy for S2S Reporting Tasks




> S2S Reporting tasks should provide the option to choose transport protocol
> --
>
> Key: NIFI-3809
> URL: https://issues.apache.org/jira/browse/NIFI-3809
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Extensions
>Affects Versions: 1.2.0
>Reporter: Pierre Villard
>Assignee: Pierre Villard
>
> Right now Site-to-Site based reporting tasks are using the default RAW 
> protocol but some users might not want to open a port for that. It should be 
> possible to use HTTP.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[GitHub] nifi pull request #1754: NIFI-3809 - Added HTTP mode and HTTP proxy for S2S ...

2017-05-04 Thread pvillard31
GitHub user pvillard31 opened a pull request:

https://github.com/apache/nifi/pull/1754

NIFI-3809 - Added HTTP mode and HTTP proxy for S2S Reporting Tasks

Thank you for submitting a contribution to Apache NiFi.

In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:

### For all changes:
- [X] Is there a JIRA ticket associated with this PR? Is it referenced 
 in the commit message?

- [X] Does your PR title start with NIFI- where  is the JIRA number 
you are trying to resolve? Pay particular attention to the hyphen "-" character.

- [X] Has your PR been rebased against the latest commit within the target 
branch (typically master)?

- [X] Is your initial contribution a single, squashed commit?

### For code changes:
- [X] Have you ensured that the full suite of tests is executed via mvn 
-Pcontrib-check clean install at the root nifi folder?
- [X] Have you written or updated unit tests to verify your changes?
- [X] If adding new Properties, have you added .displayName in addition to 
.name (programmatic access) for each of the new properties?

### Note:
Please ensure that once the PR is submitted, you check travis-ci for build 
issues and submit an update to your PR as soon as possible.


You can merge this pull request into a Git repository by running:

$ git pull https://github.com/pvillard31/nifi NIFI-3809

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/nifi/pull/1754.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #1754


commit c077a3da893f5c56e505bc1c94f51c8f2fc30ecf
Author: Pierre Villard 
Date:   2017-05-04T20:43:32Z

NIFI-3809 - Added HTTP mode and HTTP proxy for S2S Reporting Tasks




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi-cpp issue #91: MINIFI-258 - Removing Configure, StreamFactory, T...

2017-05-04 Thread brosander
Github user brosander commented on the issue:

https://github.com/apache/nifi-minifi-cpp/pull/91
  
Thanks for feedback, changed those back and am rerunning build/tests


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi-cpp pull request #91: MINIFI-258 - Removing Configure, StreamFac...

2017-05-04 Thread phrocker
Github user phrocker commented on a diff in the pull request:

https://github.com/apache/nifi-minifi-cpp/pull/91#discussion_r114861465
  
--- Diff: libminifi/include/core/FlowConfiguration.h ---
@@ -55,8 +56,9 @@ class FlowConfiguration : public CoreComponent {
* Constructor that will be used for configuring
* the flow controller.
*/
-  FlowConfiguration(std::shared_ptr repo,
-std::shared_ptr flow_file_repo,
+  FlowConfiguration(const std::shared_ptr &repo,
--- End diff --

Same as flow controller


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi-cpp pull request #91: MINIFI-258 - Removing Configure, StreamFac...

2017-05-04 Thread phrocker
Github user phrocker commented on a diff in the pull request:

https://github.com/apache/nifi-minifi-cpp/pull/91#discussion_r114864639
  
--- Diff: libminifi/include/EventDrivenSchedulingAgent.h ---
@@ -38,8 +38,8 @@ class EventDrivenSchedulingAgent : public 
ThreadedSchedulingAgent {
   /*!
* Create a new processor
*/
-  EventDrivenSchedulingAgent(std::shared_ptr repo)
-  : ThreadedSchedulingAgent(repo) {
+  EventDrivenSchedulingAgent(const std::shared_ptr 
&repo, const std::shared_ptr &configure)
--- End diff --

These schedulers stop in a way in which we don't guarantee threads to stop. 
We wait in flow controller 1s to stop threads, thus we can't be 100% certain 
that the scheduled threads have stopped. They "probably" did, but we likely 
want to keep this pass by value to ensure that we are guaranteed shared 
ownership of the shared repo. Since the threads are daemon threads, they will 
stop eventually, but we probably want to avoid the error of a dereferencing 
deleted memory if we can to aid in eventual recoverability ( if that's a thing 
).


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi-cpp pull request #91: MINIFI-258 - Removing Configure, StreamFac...

2017-05-04 Thread phrocker
Github user phrocker commented on a diff in the pull request:

https://github.com/apache/nifi-minifi-cpp/pull/91#discussion_r114863373
  
--- Diff: libminifi/include/FlowController.h ---
@@ -64,8 +64,9 @@ class FlowController : public core::CoreComponent {
   /**
* Flow controller constructor
*/
-  FlowController(std::shared_ptr provenance_repo,
- std::shared_ptr flow_file_repo,
+  FlowController(const std::shared_ptr &provenance_repo,
--- End diff --

we could move the original std shared ptr to subsume ownership, but I'm not 
sure we want that. We want to say we're sharing ownership with this object and 
thus this object ( FlowController ) helps in determining the lifetime of 
shared_ptr. 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi-cpp pull request #91: MINIFI-258 - Removing Configure, StreamFac...

2017-05-04 Thread phrocker
Github user phrocker commented on a diff in the pull request:

https://github.com/apache/nifi-minifi-cpp/pull/91#discussion_r114861428
  
--- Diff: libminifi/include/core/ConfigurationFactory.h ---
@@ -30,25 +30,29 @@ namespace core {
 
 template
 typename std::enable_if::value, T*>::type instantiate(
-std::shared_ptr repo,
-std::shared_ptr flow_file_repo, const std::string 
path) {
+const std::shared_ptr &repo,
+const std::shared_ptr &flow_file_repo, const 
std::string path) {
   throw std::runtime_error("Cannot instantiate class");
 }
 
 template
 typename std::enable_if::value, T*>::type instantiate(
-std::shared_ptr repo,
-std::shared_ptr flow_file_repo, const std::string 
path) {
-  return new T(repo, flow_file_repo, path);
+const std::shared_ptr &repo,
+const std::shared_ptr &flow_file_repo,
+const std::shared_ptr &stream_factory,
+const std::string path) {
+  return new T(repo, flow_file_repo, stream_factory, path);
 }
 
 /**
  * Configuration factory is used to create a new FlowConfiguration
  * object.
  */
 std::unique_ptr createFlowConfiguration(
--- End diff --

Same as flow controller. The ones in instantiate, above, are fine. 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi-cpp pull request #91: MINIFI-258 - Removing Configure, StreamFac...

2017-05-04 Thread phrocker
Github user phrocker commented on a diff in the pull request:

https://github.com/apache/nifi-minifi-cpp/pull/91#discussion_r114861939
  
--- Diff: libminifi/include/core/yaml/YamlConfiguration.h ---
@@ -41,10 +42,12 @@ namespace core {
 class YamlConfiguration : public FlowConfiguration {
 
  public:
-  YamlConfiguration(std::shared_ptr repo,
-std::shared_ptr flow_file_repo,
+  YamlConfiguration(const std::shared_ptr &repo,
--- End diff --

might have to do the same here to avoid removing const ( which you can do 
obviously ) 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi-cpp pull request #91: MINIFI-258 - Removing Configure, StreamFac...

2017-05-04 Thread phrocker
Github user phrocker commented on a diff in the pull request:

https://github.com/apache/nifi-minifi-cpp/pull/91#discussion_r114860818
  
--- Diff: libminifi/include/FlowController.h ---
@@ -64,8 +64,9 @@ class FlowController : public core::CoreComponent {
   /**
* Flow controller constructor
*/
-  FlowController(std::shared_ptr provenance_repo,
- std::shared_ptr flow_file_repo,
+  FlowController(const std::shared_ptr &provenance_repo,
--- End diff --

The reason these were pass by value was that we wanted to ensure that we 
increment the ref counter for flow controller. Thus we won't deallocate memory 
during its scope. It's a safety mechanism and more importantly indicates that 
these need to survive FlowController


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi-cpp pull request #89: MINIFI-293 Remove thirdparty dependencies ...

2017-05-04 Thread asfgit
Github user asfgit closed the pull request at:

https://github.com/apache/nifi-minifi-cpp/pull/89


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Commented] (NIFI-3770) Perform Release Manager duties for 1.2.0 Release

2017-05-04 Thread ASF subversion and git services (JIRA)

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

ASF subversion and git services commented on NIFI-3770:
---

Commit 3fd4916a30bdafb13edc150c4169555cc4814988 in nifi's branch 
refs/heads/NIFI-3770-RC1 from [~bbende]
[ https://git-wip-us.apache.org/repos/asf?p=nifi.git;h=3fd4916 ]

NIFI-3770-RC1 prepare for next development iteration


> Perform Release Manager duties for 1.2.0 Release
> 
>
> Key: NIFI-3770
> URL: https://issues.apache.org/jira/browse/NIFI-3770
> Project: Apache NiFi
>  Issue Type: Task
>Reporter: Bryan Bende
>Assignee: Bryan Bende
>Priority: Minor
> Fix For: 1.2.0
>
>




--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (NIFI-3770) Perform Release Manager duties for 1.2.0 Release

2017-05-04 Thread ASF subversion and git services (JIRA)

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

ASF subversion and git services commented on NIFI-3770:
---

Commit 243ed742baddd98d8dcbb9752e07980b04ae2b89 in nifi's branch 
refs/heads/NIFI-3770-RC1 from [~bbende]
[ https://git-wip-us.apache.org/repos/asf?p=nifi.git;h=243ed74 ]

NIFI-3770-RC1 prepare release nifi-1.2.0-RC1


> Perform Release Manager duties for 1.2.0 Release
> 
>
> Key: NIFI-3770
> URL: https://issues.apache.org/jira/browse/NIFI-3770
> Project: Apache NiFi
>  Issue Type: Task
>Reporter: Bryan Bende
>Assignee: Bryan Bende
>Priority: Minor
> Fix For: 1.2.0
>
>




--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[GitHub] nifi-minifi-cpp pull request #90: MINIFI-294 Required vs. optional fields in...

2017-05-04 Thread asfgit
Github user asfgit closed the pull request at:

https://github.com/apache/nifi-minifi-cpp/pull/90


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi-cpp issue #90: MINIFI-294 Required vs. optional fields in config...

2017-05-04 Thread kevdoran
Github user kevdoran commented on the issue:

https://github.com/apache/nifi-minifi-cpp/pull/90
  
Cool, thanks @apiri. feel free to squash on merge


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi-cpp issue #90: MINIFI-294 Required vs. optional fields in config...

2017-05-04 Thread apiri
Github user apiri commented on the issue:

https://github.com/apache/nifi-minifi-cpp/pull/90
  
@kevdoran,

Changes look good.  Ran against some sample configs and things work as 
anticipated.  Thanks for correcting this!  Will get merged.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Created] (NIFI-3809) S2S Reporting tasks should provide the option to choose transport protocol

2017-05-04 Thread Pierre Villard (JIRA)
Pierre Villard created NIFI-3809:


 Summary: S2S Reporting tasks should provide the option to choose 
transport protocol
 Key: NIFI-3809
 URL: https://issues.apache.org/jira/browse/NIFI-3809
 Project: Apache NiFi
  Issue Type: Improvement
  Components: Extensions
Affects Versions: 1.2.0
Reporter: Pierre Villard
Assignee: Pierre Villard


Right now Site-to-Site based reporting tasks are using the default RAW protocol 
but some users might not want to open a port for that. It should be possible to 
use HTTP.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (NIFI-3791) SiteToSiteStatusReportingTask - include back pressure data for connections

2017-05-04 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on NIFI-3791:
--

Github user alopresto commented on the issue:

https://github.com/apache/nifi/pull/1745
  
Ran a sample flow but was getting some odd exceptions. Coordinating with 
Pierre offline but recommend another party reviews this PR. As it is not going 
in 1.2.0, there is plenty of time to have a person with more knowledge of the 
internals do that. 


> SiteToSiteStatusReportingTask - include back pressure data for connections
> --
>
> Key: NIFI-3791
> URL: https://issues.apache.org/jira/browse/NIFI-3791
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Extensions
>Affects Versions: 1.2.0
>Reporter: Pierre Villard
>Assignee: Pierre Villard
>
> Two remarks while using the SiteToSiteStatusReportingTask:
> - there is a copy/paste mistake in an exception message line 182
> - back pressure information should be included when sending status of a 
> connection
> It'll be useful to monitor connections and raise alerts when back pressure is 
> enabled on a connection.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[GitHub] nifi issue #1745: NIFI-3791 - added back pressure data into S2SStatusReporti...

2017-05-04 Thread alopresto
Github user alopresto commented on the issue:

https://github.com/apache/nifi/pull/1745
  
Ran a sample flow but was getting some odd exceptions. Coordinating with 
Pierre offline but recommend another party reviews this PR. As it is not going 
in 1.2.0, there is plenty of time to have a person with more knowledge of the 
internals do that. 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Updated] (NIFI-3808) UI - Incorrect style applied to disabled menu items

2017-05-04 Thread Matt Gilman (JIRA)

 [ 
https://issues.apache.org/jira/browse/NIFI-3808?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matt Gilman updated NIFI-3808:
--
Attachment: Screen Shot 2017-05-04 at 2.36.53 PM.png

> UI - Incorrect style applied to disabled menu items
> ---
>
> Key: NIFI-3808
> URL: https://issues.apache.org/jira/browse/NIFI-3808
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core UI
>Reporter: Matt Gilman
>Assignee: Matt Gilman
> Attachments: Screen Shot 2017-05-04 at 2.36.53 PM.png
>
>
> The disabled style meant for the Controller Service enable/disable dialog is 
> incorrectly being applied to the disabled menu items in the global menu.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (NIFI-3808) UI - Incorrect style applied to disabled menu items

2017-05-04 Thread Matt Gilman (JIRA)
Matt Gilman created NIFI-3808:
-

 Summary: UI - Incorrect style applied to disabled menu items
 Key: NIFI-3808
 URL: https://issues.apache.org/jira/browse/NIFI-3808
 Project: Apache NiFi
  Issue Type: Bug
  Components: Core UI
Reporter: Matt Gilman
Assignee: Matt Gilman
 Attachments: Screen Shot 2017-05-04 at 2.36.53 PM.png

The disabled style meant for the Controller Service enable/disable dialog is 
incorrectly being applied to the disabled menu items in the global menu.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Assigned] (NIFI-3808) UI - Incorrect style applied to disabled menu items

2017-05-04 Thread Matt Gilman (JIRA)

 [ 
https://issues.apache.org/jira/browse/NIFI-3808?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matt Gilman reassigned NIFI-3808:
-

Assignee: (was: Matt Gilman)

> UI - Incorrect style applied to disabled menu items
> ---
>
> Key: NIFI-3808
> URL: https://issues.apache.org/jira/browse/NIFI-3808
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core UI
>Reporter: Matt Gilman
> Attachments: Screen Shot 2017-05-04 at 2.36.53 PM.png
>
>
> The disabled style meant for the Controller Service enable/disable dialog is 
> incorrectly being applied to the disabled menu items in the global menu.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (NIFI-3807) Show bulletins/configuration errors in Configure [Component] dialog to allow faster resolution of validation issues

2017-05-04 Thread Andy LoPresto (JIRA)
Andy LoPresto created NIFI-3807:
---

 Summary: Show bulletins/configuration errors in Configure 
[Component] dialog to allow faster resolution of validation issues
 Key: NIFI-3807
 URL: https://issues.apache.org/jira/browse/NIFI-3807
 Project: Apache NiFi
  Issue Type: Improvement
  Components: Core UI
Affects Versions: 1.2.0
Reporter: Andy LoPresto


When configuring a processor, there can be many validation issues (e.g. 
{{SSLContextService}} keystore path doesn't exist, etc.). These issues are 
visible when mousing over the warning icon in the controller services listing 
or on the processor on the canvas, but not when editing the component 
properties. If there are multiple issues, it can require a user to open and 
close the dialog multiple times to ensure all the validation errors are 
resolved. 

I propose displaying the errors in the Configure dialog as well. This could be 
any/all of:

* Display a scrollable list of validation errors below the main dialog view. 
Clicking the specific error could send UI focus to the appropriate property 
field
* Highlighting individual property fields with a red glow and error message 
underneath/to the side/with an error icon that allows mouse over
* Other community suggestions...



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (NIFI-3806) Allow file browser dialog for processor properties fields which need a local path

2017-05-04 Thread Andy LoPresto (JIRA)
Andy LoPresto created NIFI-3806:
---

 Summary: Allow file browser dialog for processor properties fields 
which need a local path
 Key: NIFI-3806
 URL: https://issues.apache.org/jira/browse/NIFI-3806
 Project: Apache NiFi
  Issue Type: Improvement
  Components: Core UI
Affects Versions: 1.2.0
Reporter: Andy LoPresto


When populating local file system paths in processor/reporting task/controller 
service properties, it would be helpful to provide a native file browser dialog 
to allow navigation through the file system. However, I do not propose 
completely replacing the plaintext field with this, as some people may have 
copied & pasted or wish to type the path (especially when dealing with hidden 
or masked files/filetypes). 

I believe that a special "browse" button could be placed in the expanded pane 
once focus is given to allow for navigation and populate a hidden {{}} field, from which the value is extracted to the visible 
plaintext field. (See for example [Kloudless File 
Explorer|https://github.com/Kloudless/file-explorer].)

If this isn't feasible, please indicate and ignore this issue. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (NIFI-3805) When attempting to visit a NiFi deep-link that doesn't exist, go to the root PG

2017-05-04 Thread Andy LoPresto (JIRA)
Andy LoPresto created NIFI-3805:
---

 Summary: When attempting to visit a NiFi deep-link that doesn't 
exist, go to the root PG
 Key: NIFI-3805
 URL: https://issues.apache.org/jira/browse/NIFI-3805
 Project: Apache NiFi
  Issue Type: Improvement
  Components: Core UI
Affects Versions: 1.2.0
Reporter: Andy LoPresto


With the introduction of the deep-linking capability, a user can click on a URL 
like 
https://localhost:8080/nifi/?processGroupId=d48915f6-015b-1000-7081-3ef536290233&componentIds=
 to jump to a specific process group. However, if the process group does not 
exist, the user will get a NiFi error screen with the message: 

{quote}
An unexpected error has occurred
Unable to locate group with id 'd48915f6-015b-1000-7081-3ef536290233'.
{quote}

This error screen indicates that the entire application is not working, as it 
is usually found when the application cannot be accessed for a permissions 
issue or serious internal error. 

I propose that the view instead redirects to the root PG (or the highest level 
the user is authorized to view) and a modal error dialog (with only the message 
"Unable to locate group 'xyz'") is shown. This immediately indicates to the 
user that the application is still working fine, it's just that the desired 
group is not available.  



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[GitHub] nifi-minifi-cpp issue #89: MINIFI-293 Remove thirdparty dependencies no long...

2017-05-04 Thread benqiu2016
Github user benqiu2016 commented on the issue:

https://github.com/apache/nifi-minifi-cpp/pull/89
  
+1


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Created] (NIFI-3804) Resolve "too many files open" issues in tests when running full build multiple times

2017-05-04 Thread Andy LoPresto (JIRA)
Andy LoPresto created NIFI-3804:
---

 Summary: Resolve "too many files open" issues in tests when 
running full build multiple times
 Key: NIFI-3804
 URL: https://issues.apache.org/jira/browse/NIFI-3804
 Project: Apache NiFi
  Issue Type: Bug
  Components: Tools and Build
Affects Versions: 1.2.0
Reporter: Andy LoPresto


When running the full build multiple times, tests can fail due to "too many 
files open" errors. These tests run successfully when the system is rebooted. I 
have followed configuration best practices (raising max file handles to 50_000) 
but after repeated test runs, this threshold is maxed out. This leads me to 
believe there are tests which do not clean up after themselves or temporary 
files which are not closed and deleted. 

I suggest using malware detection and analysis tools/VMs to perform a file 
system snapshot before and after a complete test run and compare to determine 
what is left open. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[GitHub] nifi-minifi-cpp issue #90: MINIFI-294 Required vs. optional fields in config...

2017-05-04 Thread apiri
Github user apiri commented on the issue:

https://github.com/apache/nifi-minifi-cpp/pull/90
  
reviewing


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Created] (NIFI-3803) Allow use of up/down arrow keys during selection in Add Processor dialog

2017-05-04 Thread Andy LoPresto (JIRA)
Andy LoPresto created NIFI-3803:
---

 Summary: Allow use of up/down arrow keys during selection in Add 
Processor dialog
 Key: NIFI-3803
 URL: https://issues.apache.org/jira/browse/NIFI-3803
 Project: Apache NiFi
  Issue Type: Improvement
  Components: Core UI
Affects Versions: 1.2.0
Reporter: Andy LoPresto
Priority: Trivial


In the Add Processor dialog, it would be convenient to be able to use the up 
and down arrow keys to select the filtered results after typing the first few 
characters of the desired component name. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (NIFI-3802) Update site/evangelize how to access ASF NiFi Hipchat room

2017-05-04 Thread Aldrin Piri (JIRA)
Aldrin Piri created NIFI-3802:
-

 Summary: Update site/evangelize how to access ASF NiFi Hipchat room
 Key: NIFI-3802
 URL: https://issues.apache.org/jira/browse/NIFI-3802
 Project: Apache NiFi
  Issue Type: Task
  Components: Documentation & Website
Reporter: Aldrin Piri
Assignee: Aldrin Piri


As part of https://issues.apache.org/jira/browse/INFRA-14090 a HipChat room was 
created on the ASF instance with a publicly accessible link.  This would be a 
helpful resource for allowing communication more immediately among community 
members in a location other than GitHub PRs and the like.

Once documentation is established, should also send out messages to dev and 
users as another resource available.

Accessible here: https://www.hipchat.com/gzh2m5YML



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (NIFI-3795) nifi-assembly fails with "no formats specified" error

2017-05-04 Thread Bryan Bende (JIRA)

 [ 
https://issues.apache.org/jira/browse/NIFI-3795?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bryan Bende updated NIFI-3795:
--
Resolution: Fixed
Status: Resolved  (was: Patch Available)

> nifi-assembly fails with "no formats specified" error
> -
>
> Key: NIFI-3795
> URL: https://issues.apache.org/jira/browse/NIFI-3795
> Project: Apache NiFi
>  Issue Type: Bug
>Affects Versions: 1.2.0
>Reporter: Bryan Bende
>Assignee: James Wing
>Priority: Blocker
> Fix For: 1.2.0
>
>
> After staging the 1.2.0 RC1 artifacts, I then downloaded the source zip from 
> the Nexus staging repo, unzipped it and ran "mvn clean install -DskipTests" 
> to verify that it would build. I encountered the below error:
> [ERROR] Failed to execute goal 
> org.apache.maven.plugins:maven-assembly-plugin:2.5.2:single (make shared 
> resource) on project nifi-assembly: No formats specified in the execution 
> parameters or the assembly descriptor. -> [Help 1]
> After some debugging it was determined that one difference between this build 
> and the previous build that staged the artifacts, is that this build was not 
> within a git repo where as the other one was.
> After running git init, adding all files, and making a commit, then the build 
> passed. Still unclear as to why being in a git repo matters here, although 
> every NAR now tries to use the git info from the buildnumber plugin to filter 
> into the MANIFEST files.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[GitHub] nifi issue #1750: NIFI-3795 Activate generateArchives outside git

2017-05-04 Thread jvwing
Github user jvwing commented on the issue:

https://github.com/apache/nifi/pull/1750
  
This PR is obsolete.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Commented] (NIFI-3795) nifi-assembly fails with "no formats specified" error

2017-05-04 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on NIFI-3795:
--

Github user jvwing commented on the issue:

https://github.com/apache/nifi/pull/1750
  
This PR is obsolete.


> nifi-assembly fails with "no formats specified" error
> -
>
> Key: NIFI-3795
> URL: https://issues.apache.org/jira/browse/NIFI-3795
> Project: Apache NiFi
>  Issue Type: Bug
>Affects Versions: 1.2.0
>Reporter: Bryan Bende
>Assignee: James Wing
>Priority: Blocker
> Fix For: 1.2.0
>
>
> After staging the 1.2.0 RC1 artifacts, I then downloaded the source zip from 
> the Nexus staging repo, unzipped it and ran "mvn clean install -DskipTests" 
> to verify that it would build. I encountered the below error:
> [ERROR] Failed to execute goal 
> org.apache.maven.plugins:maven-assembly-plugin:2.5.2:single (make shared 
> resource) on project nifi-assembly: No formats specified in the execution 
> parameters or the assembly descriptor. -> [Help 1]
> After some debugging it was determined that one difference between this build 
> and the previous build that staged the artifacts, is that this build was not 
> within a git repo where as the other one was.
> After running git init, adding all files, and making a commit, then the build 
> passed. Still unclear as to why being in a git repo matters here, although 
> every NAR now tries to use the git info from the buildnumber plugin to filter 
> into the MANIFEST files.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (NIFI-3795) nifi-assembly fails with "no formats specified" error

2017-05-04 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on NIFI-3795:
--

Github user jvwing closed the pull request at:

https://github.com/apache/nifi/pull/1750


> nifi-assembly fails with "no formats specified" error
> -
>
> Key: NIFI-3795
> URL: https://issues.apache.org/jira/browse/NIFI-3795
> Project: Apache NiFi
>  Issue Type: Bug
>Affects Versions: 1.2.0
>Reporter: Bryan Bende
>Assignee: James Wing
>Priority: Blocker
> Fix For: 1.2.0
>
>
> After staging the 1.2.0 RC1 artifacts, I then downloaded the source zip from 
> the Nexus staging repo, unzipped it and ran "mvn clean install -DskipTests" 
> to verify that it would build. I encountered the below error:
> [ERROR] Failed to execute goal 
> org.apache.maven.plugins:maven-assembly-plugin:2.5.2:single (make shared 
> resource) on project nifi-assembly: No formats specified in the execution 
> parameters or the assembly descriptor. -> [Help 1]
> After some debugging it was determined that one difference between this build 
> and the previous build that staged the artifacts, is that this build was not 
> within a git repo where as the other one was.
> After running git init, adding all files, and making a commit, then the build 
> passed. Still unclear as to why being in a git repo matters here, although 
> every NAR now tries to use the git info from the buildnumber plugin to filter 
> into the MANIFEST files.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[GitHub] nifi pull request #1750: NIFI-3795 Activate generateArchives outside git

2017-05-04 Thread jvwing
Github user jvwing closed the pull request at:

https://github.com/apache/nifi/pull/1750


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Commented] (NIFI-3795) nifi-assembly fails with "no formats specified" error

2017-05-04 Thread Bryan Bende (JIRA)

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

Bryan Bende commented on NIFI-3795:
---

Thanks [~jameswing] !  I will mark this JIRA as resolved.

> nifi-assembly fails with "no formats specified" error
> -
>
> Key: NIFI-3795
> URL: https://issues.apache.org/jira/browse/NIFI-3795
> Project: Apache NiFi
>  Issue Type: Bug
>Affects Versions: 1.2.0
>Reporter: Bryan Bende
>Assignee: James Wing
>Priority: Blocker
> Fix For: 1.2.0
>
>
> After staging the 1.2.0 RC1 artifacts, I then downloaded the source zip from 
> the Nexus staging repo, unzipped it and ran "mvn clean install -DskipTests" 
> to verify that it would build. I encountered the below error:
> [ERROR] Failed to execute goal 
> org.apache.maven.plugins:maven-assembly-plugin:2.5.2:single (make shared 
> resource) on project nifi-assembly: No formats specified in the execution 
> parameters or the assembly descriptor. -> [Help 1]
> After some debugging it was determined that one difference between this build 
> and the previous build that staged the artifacts, is that this build was not 
> within a git repo where as the other one was.
> After running git init, adding all files, and making a commit, then the build 
> passed. Still unclear as to why being in a git repo matters here, although 
> every NAR now tries to use the git info from the buildnumber plugin to filter 
> into the MANIFEST files.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (NIFI-3795) nifi-assembly fails with "no formats specified" error

2017-05-04 Thread ASF subversion and git services (JIRA)

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

ASF subversion and git services commented on NIFI-3795:
---

Commit d9410d640475b73d215bd3da6c14cb599e778a64 in nifi's branch 
refs/heads/master from [~bbende]
[ https://git-wip-us.apache.org/repos/asf?p=nifi.git;h=d9410d6 ]

NIFI-3795 Moved no-git profile to nifi-nar-bundles

Removing buildnumber plugin and build-info-no-git profile from nifi-assembly
and adding build-info-no-git profile to nifi-nar-bundles pom

Signed-off-by: James Wing 


> nifi-assembly fails with "no formats specified" error
> -
>
> Key: NIFI-3795
> URL: https://issues.apache.org/jira/browse/NIFI-3795
> Project: Apache NiFi
>  Issue Type: Bug
>Affects Versions: 1.2.0
>Reporter: Bryan Bende
>Assignee: James Wing
>Priority: Blocker
> Fix For: 1.2.0
>
>
> After staging the 1.2.0 RC1 artifacts, I then downloaded the source zip from 
> the Nexus staging repo, unzipped it and ran "mvn clean install -DskipTests" 
> to verify that it would build. I encountered the below error:
> [ERROR] Failed to execute goal 
> org.apache.maven.plugins:maven-assembly-plugin:2.5.2:single (make shared 
> resource) on project nifi-assembly: No formats specified in the execution 
> parameters or the assembly descriptor. -> [Help 1]
> After some debugging it was determined that one difference between this build 
> and the previous build that staged the artifacts, is that this build was not 
> within a git repo where as the other one was.
> After running git init, adding all files, and making a commit, then the build 
> passed. Still unclear as to why being in a git repo matters here, although 
> every NAR now tries to use the git info from the buildnumber plugin to filter 
> into the MANIFEST files.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (NIFI-3791) SiteToSiteStatusReportingTask - include back pressure data for connections

2017-05-04 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on NIFI-3791:
--

Github user alopresto commented on the issue:

https://github.com/apache/nifi/pull/1745
  
Reviewing...


> SiteToSiteStatusReportingTask - include back pressure data for connections
> --
>
> Key: NIFI-3791
> URL: https://issues.apache.org/jira/browse/NIFI-3791
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Extensions
>Affects Versions: 1.2.0
>Reporter: Pierre Villard
>Assignee: Pierre Villard
>
> Two remarks while using the SiteToSiteStatusReportingTask:
> - there is a copy/paste mistake in an exception message line 182
> - back pressure information should be included when sending status of a 
> connection
> It'll be useful to monitor connections and raise alerts when back pressure is 
> enabled on a connection.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[GitHub] nifi issue #1745: NIFI-3791 - added back pressure data into S2SStatusReporti...

2017-05-04 Thread alopresto
Github user alopresto commented on the issue:

https://github.com/apache/nifi/pull/1745
  
Reviewing...


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Commented] (NIFI-3795) nifi-assembly fails with "no formats specified" error

2017-05-04 Thread James Wing (JIRA)

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

James Wing commented on NIFI-3795:
--

I reviewed [~bbende]'s change 
[cb576b7|https://github.com/bbende/nifi/commit/cb576b725ea95add2525d575fc8db52c22dd2d9f].
  Everything looks good to me.  Removing the build-info-no-git profile from 
nifi-assembly lets the generateArchives and dir-only profiles work in an 
intuitive manner, even for a source build.  Tests and contrib-check pass, and 
NiFi still works.  Profiles active in the source build from a normal {{mvn 
clean install}}:

{code}
Active Profiles for Project 'org.apache.nifi:nifi-assembly:pom:1.2.0':

The following profiles are active:

 - gpg (source: external)
 - generateArchives (source: org.apache.nifi:nifi-assembly:1.2.0)
 - disable-doclint (source: org.apache.nifi:nifi:1.2.0)
{code}

{code}
Active Profiles for Project 'org.apache.nifi:nifi-nar-bundles:pom:1.2.0':

The following profiles are active:

 - gpg (source: external)
 - build-info-no-git (source: org.apache.nifi:nifi-nar-bundles:1.2.0)
 - disable-doclint (source: org.apache.nifi:nifi:1.2.0)
{code}

I will merge in a moment, and close the PR.

> nifi-assembly fails with "no formats specified" error
> -
>
> Key: NIFI-3795
> URL: https://issues.apache.org/jira/browse/NIFI-3795
> Project: Apache NiFi
>  Issue Type: Bug
>Affects Versions: 1.2.0
>Reporter: Bryan Bende
>Assignee: James Wing
>Priority: Blocker
> Fix For: 1.2.0
>
>
> After staging the 1.2.0 RC1 artifacts, I then downloaded the source zip from 
> the Nexus staging repo, unzipped it and ran "mvn clean install -DskipTests" 
> to verify that it would build. I encountered the below error:
> [ERROR] Failed to execute goal 
> org.apache.maven.plugins:maven-assembly-plugin:2.5.2:single (make shared 
> resource) on project nifi-assembly: No formats specified in the execution 
> parameters or the assembly descriptor. -> [Help 1]
> After some debugging it was determined that one difference between this build 
> and the previous build that staged the artifacts, is that this build was not 
> within a git repo where as the other one was.
> After running git init, adding all files, and making a commit, then the build 
> passed. Still unclear as to why being in a git repo matters here, although 
> every NAR now tries to use the git info from the buildnumber plugin to filter 
> into the MANIFEST files.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (NIFI-3801) Mute the component versions in Help component listing

2017-05-04 Thread Andy LoPresto (JIRA)
Andy LoPresto created NIFI-3801:
---

 Summary: Mute the component versions in Help component listing
 Key: NIFI-3801
 URL: https://issues.apache.org/jira/browse/NIFI-3801
 Project: Apache NiFi
  Issue Type: Improvement
  Components: Documentation & Website
Affects Versions: 1.2.0
Reporter: Andy LoPresto
Priority: Trivial
 Attachments: Screen Shot 2017-05-04 at 1.03.56 PM.png, Screen Shot 
2017-05-04 at 12.59.03 PM.png

The new help pages display the component versions alongside the component name. 
This is helpful, but the visual appearance is overly similar and can make it 
more difficult to quickly pick out the component name being looked for. 

I propose changing the color and size of the component version to make the 
distinction clearer, similar to the "Documentation  Overview" header 
on the page. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (NIFI-3801) Mute the component versions in Help component listing

2017-05-04 Thread Andy LoPresto (JIRA)

 [ 
https://issues.apache.org/jira/browse/NIFI-3801?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andy LoPresto updated NIFI-3801:

Attachment: Screen Shot 2017-05-04 at 12.59.03 PM.png
Screen Shot 2017-05-04 at 1.03.56 PM.png

> Mute the component versions in Help component listing
> -
>
> Key: NIFI-3801
> URL: https://issues.apache.org/jira/browse/NIFI-3801
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Documentation & Website
>Affects Versions: 1.2.0
>Reporter: Andy LoPresto
>Priority: Trivial
>  Labels: beginner, component-versioning, documentation
> Attachments: Screen Shot 2017-05-04 at 1.03.56 PM.png, Screen Shot 
> 2017-05-04 at 12.59.03 PM.png
>
>
> The new help pages display the component versions alongside the component 
> name. This is helpful, but the visual appearance is overly similar and can 
> make it more difficult to quickly pick out the component name being looked 
> for. 
> I propose changing the color and size of the component version to make the 
> distinction clearer, similar to the "Documentation  Overview" header 
> on the page. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (NIFI-3788) Support wildcard certificates in Amazon S3 Processors

2017-05-04 Thread Andy LoPresto (JIRA)

 [ 
https://issues.apache.org/jira/browse/NIFI-3788?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andy LoPresto updated NIFI-3788:

Summary: Support wildcard certificates in Amazon S3 Processors  (was: 
Support wildcard certificates in SSLStandardContextService)

> Support wildcard certificates in Amazon S3 Processors
> -
>
> Key: NIFI-3788
> URL: https://issues.apache.org/jira/browse/NIFI-3788
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Core Framework
>Affects Versions: 1.1.1
>Reporter: Andy LoPresto
>Assignee: Andy LoPresto
>  Labels: certificate, pki, security, tls
> Fix For: 1.2.0
>
>
> Some users have reported issues when attempting to connect to an external 
> service which is secured for TLS via a wildcard certificate (i.e. hostname is 
> {{https://example.domain.com}} and the certificate DN contains 
> {{CN=\*.domain.com}} when *using the Amazon Web Services (AWS S3) 
> processors*. -This requires changes in the {{SSLStandardContextService}} to 
> correctly parse the CN and evaluate wildcard entries if present- This 
> required changes in the {{DefaultHostnameVerifier}} instance being passed to 
> the {{SdkTLSSocketFactory}} and {{AmazonHTTPClientConfig}} in 
> {{AbstractAWSProcessor}}. 
> In addition, as specified by [RFC 2818|https://tools.ietf.org/html/rfc2818], 
> certificate evaluation (specifically hostname validation) should prioritize 
> Subject Alternative Names over DN parsing. Chrome 58+ has begun to implement 
> this prioritization, which can cause issues with certificate validation even 
> if the CN matches the hostname but SANs are present but do not include the 
> hostname. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (NIFI-3788) Support wildcard certificates in SSLStandardContextService

2017-05-04 Thread Andy LoPresto (JIRA)

 [ 
https://issues.apache.org/jira/browse/NIFI-3788?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andy LoPresto updated NIFI-3788:

Description: 
Some users have reported issues when attempting to connect to an external 
service which is secured for TLS via a wildcard certificate (i.e. hostname is 
{{https://example.domain.com}} and the certificate DN contains 
{{CN=\*.domain.com}} when *using the Amazon Web Services (AWS S3) processors*. 
-This requires changes in the {{SSLStandardContextService}} to correctly parse 
the CN and evaluate wildcard entries if present- This required changes in the 
{{DefaultHostnameVerifier}} instance being passed to the 
{{SdkTLSSocketFactory}} and {{AmazonHTTPClientConfig}} in 
{{AbstractAWSProcessor}}. 

In addition, as specified by [RFC 2818|https://tools.ietf.org/html/rfc2818], 
certificate evaluation (specifically hostname validation) should prioritize 
Subject Alternative Names over DN parsing. Chrome 58+ has begun to implement 
this prioritization, which can cause issues with certificate validation even if 
the CN matches the hostname but SANs are present but do not include the 
hostname. 

  was:
Some users have reported issues when attempting to connect to an external 
service which is secured for TLS via a wildcard certificate (i.e. hostname is 
{{https://example.domain.com}} and the certificate DN contains 
{{CN=*.domain.com}} when *using the Amazon Web Services (AWS S3) processors*. 
-This requires changes in the {{SSLStandardContextService}} to correctly parse 
the CN and evaluate wildcard entries if present- This required changes in the 
{{DefaultHostnameVerifier}} instance being passed to the 
{{SdkTLSSocketFactory}} and {{AmazonHTTPClientConfig}} in 
{{AbstractAWSProcessor}}. 

In addition, as specified by [RFC 2818|https://tools.ietf.org/html/rfc2818], 
certificate evaluation (specifically hostname validation) should prioritize 
Subject Alternative Names over DN parsing. Chrome 58+ has begun to implement 
this prioritization, which can cause issues with certificate validation even if 
the CN matches the hostname but SANs are present but do not include the 
hostname. 


> Support wildcard certificates in SSLStandardContextService
> --
>
> Key: NIFI-3788
> URL: https://issues.apache.org/jira/browse/NIFI-3788
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Core Framework
>Affects Versions: 1.1.1
>Reporter: Andy LoPresto
>Assignee: Andy LoPresto
>  Labels: certificate, pki, security, tls
> Fix For: 1.2.0
>
>
> Some users have reported issues when attempting to connect to an external 
> service which is secured for TLS via a wildcard certificate (i.e. hostname is 
> {{https://example.domain.com}} and the certificate DN contains 
> {{CN=\*.domain.com}} when *using the Amazon Web Services (AWS S3) 
> processors*. -This requires changes in the {{SSLStandardContextService}} to 
> correctly parse the CN and evaluate wildcard entries if present- This 
> required changes in the {{DefaultHostnameVerifier}} instance being passed to 
> the {{SdkTLSSocketFactory}} and {{AmazonHTTPClientConfig}} in 
> {{AbstractAWSProcessor}}. 
> In addition, as specified by [RFC 2818|https://tools.ietf.org/html/rfc2818], 
> certificate evaluation (specifically hostname validation) should prioritize 
> Subject Alternative Names over DN parsing. Chrome 58+ has begun to implement 
> this prioritization, which can cause issues with certificate validation even 
> if the CN matches the hostname but SANs are present but do not include the 
> hostname. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (NIFI-3788) Support wildcard certificates in SSLStandardContextService

2017-05-04 Thread Andy LoPresto (JIRA)

 [ 
https://issues.apache.org/jira/browse/NIFI-3788?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andy LoPresto updated NIFI-3788:

Description: 
Some users have reported issues when attempting to connect to an external 
service which is secured for TLS via a wildcard certificate (i.e. hostname is 
{{https://example.domain.com}} and the certificate DN contains 
{{CN=*.domain.com}} when *using the Amazon Web Services (AWS S3) processors*. 
-This requires changes in the {{SSLStandardContextService}} to correctly parse 
the CN and evaluate wildcard entries if present- This required changes in the 
{{DefaultHostnameVerifier}} instance being passed to the 
{{SdkTLSSocketFactory}} and {{AmazonHTTPClientConfig}} in 
{{AbstractAWSProcessor}}. 

In addition, as specified by [RFC 2818|https://tools.ietf.org/html/rfc2818], 
certificate evaluation (specifically hostname validation) should prioritize 
Subject Alternative Names over DN parsing. Chrome 58+ has begun to implement 
this prioritization, which can cause issues with certificate validation even if 
the CN matches the hostname but SANs are present but do not include the 
hostname. 

  was:
Some users have reported issues when attempting to connect to an external 
service which is secured for TLS via a wildcard certificate (i.e. hostname is 
{{https://example.domain.com}} and the certificate DN contains 
{{CN=*.domain.com}} when **using the Amazon Web Services (AWS S3) processors**. 
-This requires changes in the {{SSLStandardContextService}} to correctly parse 
the CN and evaluate wildcard entries if present- This required changes in the 
{{DefaultHostnameVerifier}} instance being passed to the 
{{SdkTLSSocketFactory}} and {{AmazonHTTPClientConfig}} in 
{{AbstractAWSProcessor}}. 

In addition, as specified by [RFC 2818|https://tools.ietf.org/html/rfc2818], 
certificate evaluation (specifically hostname validation) should prioritize 
Subject Alternative Names over DN parsing. Chrome 58+ has begun to implement 
this prioritization, which can cause issues with certificate validation even if 
the CN matches the hostname but SANs are present but do not include the 
hostname. 


> Support wildcard certificates in SSLStandardContextService
> --
>
> Key: NIFI-3788
> URL: https://issues.apache.org/jira/browse/NIFI-3788
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Core Framework
>Affects Versions: 1.1.1
>Reporter: Andy LoPresto
>Assignee: Andy LoPresto
>  Labels: certificate, pki, security, tls
> Fix For: 1.2.0
>
>
> Some users have reported issues when attempting to connect to an external 
> service which is secured for TLS via a wildcard certificate (i.e. hostname is 
> {{https://example.domain.com}} and the certificate DN contains 
> {{CN=*.domain.com}} when *using the Amazon Web Services (AWS S3) processors*. 
> -This requires changes in the {{SSLStandardContextService}} to correctly 
> parse the CN and evaluate wildcard entries if present- This required changes 
> in the {{DefaultHostnameVerifier}} instance being passed to the 
> {{SdkTLSSocketFactory}} and {{AmazonHTTPClientConfig}} in 
> {{AbstractAWSProcessor}}. 
> In addition, as specified by [RFC 2818|https://tools.ietf.org/html/rfc2818], 
> certificate evaluation (specifically hostname validation) should prioritize 
> Subject Alternative Names over DN parsing. Chrome 58+ has begun to implement 
> this prioritization, which can cause issues with certificate validation even 
> if the CN matches the hostname but SANs are present but do not include the 
> hostname. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (NIFI-3788) Support wildcard certificates in SSLStandardContextService

2017-05-04 Thread Andy LoPresto (JIRA)

 [ 
https://issues.apache.org/jira/browse/NIFI-3788?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andy LoPresto updated NIFI-3788:

Description: 
Some users have reported issues when attempting to connect to an external 
service which is secured for TLS via a wildcard certificate (i.e. hostname is 
{{https://example.domain.com}} and the certificate DN contains 
{{CN=*.domain.com}} when **using the Amazon Web Services (AWS S3) processors**. 
-This requires changes in the {{SSLStandardContextService}} to correctly parse 
the CN and evaluate wildcard entries if present- This required changes in the 
{{DefaultHostnameVerifier}} instance being passed to the 
{{SdkTLSSocketFactory}} and {{AmazonHTTPClientConfig}} in 
{{AbstractAWSProcessor}}. 

In addition, as specified by [RFC 2818|https://tools.ietf.org/html/rfc2818], 
certificate evaluation (specifically hostname validation) should prioritize 
Subject Alternative Names over DN parsing. Chrome 58+ has begun to implement 
this prioritization, which can cause issues with certificate validation even if 
the CN matches the hostname but SANs are present but do not include the 
hostname. 

  was:
Some users have reported issues when attempting to connect to an external 
service which is secured for TLS via a wildcard certificate (i.e. hostname is 
{{https://example.domain.com}} and the certificate DN contains 
{{CN=*.domain.com}} **using the Amazon Web Services (AWS S3) processors**. 
-This requires changes in the {{SSLStandardContextService}} to correctly parse 
the CN and evaluate wildcard entries if present- This required changes in the 
{{DefaultHostnameVerifier}} instance being passed to the 
{{SdkTLSSocketFactory}} and {{AmazonHTTPClientConfig}} in 
{{AbstractAWSProcessor}}. 

In addition, as specified by [RFC 2818|https://tools.ietf.org/html/rfc2818], 
certificate evaluation (specifically hostname validation) should prioritize 
Subject Alternative Names over DN parsing. Chrome 58+ has begun to implement 
this prioritization, which can cause issues with certificate validation even if 
the CN matches the hostname but SANs are present but do not include the 
hostname. 


> Support wildcard certificates in SSLStandardContextService
> --
>
> Key: NIFI-3788
> URL: https://issues.apache.org/jira/browse/NIFI-3788
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Core Framework
>Affects Versions: 1.1.1
>Reporter: Andy LoPresto
>Assignee: Andy LoPresto
>  Labels: certificate, pki, security, tls
> Fix For: 1.2.0
>
>
> Some users have reported issues when attempting to connect to an external 
> service which is secured for TLS via a wildcard certificate (i.e. hostname is 
> {{https://example.domain.com}} and the certificate DN contains 
> {{CN=*.domain.com}} when **using the Amazon Web Services (AWS S3) 
> processors**. -This requires changes in the {{SSLStandardContextService}} to 
> correctly parse the CN and evaluate wildcard entries if present- This 
> required changes in the {{DefaultHostnameVerifier}} instance being passed to 
> the {{SdkTLSSocketFactory}} and {{AmazonHTTPClientConfig}} in 
> {{AbstractAWSProcessor}}. 
> In addition, as specified by [RFC 2818|https://tools.ietf.org/html/rfc2818], 
> certificate evaluation (specifically hostname validation) should prioritize 
> Subject Alternative Names over DN parsing. Chrome 58+ has begun to implement 
> this prioritization, which can cause issues with certificate validation even 
> if the CN matches the hostname but SANs are present but do not include the 
> hostname. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (NIFI-3788) Support wildcard certificates in SSLStandardContextService

2017-05-04 Thread Andy LoPresto (JIRA)

 [ 
https://issues.apache.org/jira/browse/NIFI-3788?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andy LoPresto updated NIFI-3788:

Description: 
Some users have reported issues when attempting to connect to an external 
service which is secured for TLS via a wildcard certificate (i.e. hostname is 
{{https://example.domain.com}} and the certificate DN contains 
{{CN=*.domain.com}} **using the Amazon Web Services (AWS S3) processors**. 
-This requires changes in the {{SSLStandardContextService}} to correctly parse 
the CN and evaluate wildcard entries if present- This required changes in the 
{{DefaultHostnameVerifier}} instance being passed to the 
{{SdkTLSSocketFactory}} and {{AmazonHTTPClientConfig}} in 
{{AbstractAWSProcessor}}. 

In addition, as specified by [RFC 2818|https://tools.ietf.org/html/rfc2818], 
certificate evaluation (specifically hostname validation) should prioritize 
Subject Alternative Names over DN parsing. Chrome 58+ has begun to implement 
this prioritization, which can cause issues with certificate validation even if 
the CN matches the hostname but SANs are present but do not include the 
hostname. 

  was:
Some users have reported issues when attempting to connect to an external 
service which is secured for TLS via a wildcard certificate (i.e. hostname is 
{{https://example.domain.com}} and the certificate DN contains 
{{CN=*.domain.com}} **using the Amazon Web Services (AWS S3) processors**. 
~~This requires changes in the {{SSLStandardContextService}} to correctly parse 
the CN and evaluate wildcard entries if present~~ This required changes in the 
{{DefaultHostnameVerifier}} instance being passed to the 
{{SdkTLSSocketFactory}} and {{AmazonHTTPClientConfig}} in 
{{AbstractAWSProcessor}}. 

In addition, as specified by [RFC 2818|https://tools.ietf.org/html/rfc2818], 
certificate evaluation (specifically hostname validation) should prioritize 
Subject Alternative Names over DN parsing. Chrome 58+ has begun to implement 
this prioritization, which can cause issues with certificate validation even if 
the CN matches the hostname but SANs are present but do not include the 
hostname. 


> Support wildcard certificates in SSLStandardContextService
> --
>
> Key: NIFI-3788
> URL: https://issues.apache.org/jira/browse/NIFI-3788
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Core Framework
>Affects Versions: 1.1.1
>Reporter: Andy LoPresto
>Assignee: Andy LoPresto
>  Labels: certificate, pki, security, tls
> Fix For: 1.2.0
>
>
> Some users have reported issues when attempting to connect to an external 
> service which is secured for TLS via a wildcard certificate (i.e. hostname is 
> {{https://example.domain.com}} and the certificate DN contains 
> {{CN=*.domain.com}} **using the Amazon Web Services (AWS S3) processors**. 
> -This requires changes in the {{SSLStandardContextService}} to correctly 
> parse the CN and evaluate wildcard entries if present- This required changes 
> in the {{DefaultHostnameVerifier}} instance being passed to the 
> {{SdkTLSSocketFactory}} and {{AmazonHTTPClientConfig}} in 
> {{AbstractAWSProcessor}}. 
> In addition, as specified by [RFC 2818|https://tools.ietf.org/html/rfc2818], 
> certificate evaluation (specifically hostname validation) should prioritize 
> Subject Alternative Names over DN parsing. Chrome 58+ has begun to implement 
> this prioritization, which can cause issues with certificate validation even 
> if the CN matches the hostname but SANs are present but do not include the 
> hostname. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (NIFI-3788) Support wildcard certificates in SSLStandardContextService

2017-05-04 Thread Andy LoPresto (JIRA)

 [ 
https://issues.apache.org/jira/browse/NIFI-3788?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andy LoPresto updated NIFI-3788:

Description: 
Some users have reported issues when attempting to connect to an external 
service which is secured for TLS via a wildcard certificate (i.e. hostname is 
{{https://example.domain.com}} and the certificate DN contains 
{{CN=*.domain.com}} **using the Amazon Web Services (AWS S3) processors**. 
~~This requires changes in the {{SSLStandardContextService}} to correctly parse 
the CN and evaluate wildcard entries if present~~ This required changes in the 
{{DefaultHostnameVerifier}} instance being passed to the 
{{SdkTLSSocketFactory}} and {{AmazonHTTPClientConfig}} in 
{{AbstractAWSProcessor}}. 

In addition, as specified by [RFC 2818|https://tools.ietf.org/html/rfc2818], 
certificate evaluation (specifically hostname validation) should prioritize 
Subject Alternative Names over DN parsing. Chrome 58+ has begun to implement 
this prioritization, which can cause issues with certificate validation even if 
the CN matches the hostname but SANs are present but do not include the 
hostname. 

  was:
Some users have reported issues when attempting to connect to an external 
service which is secured for TLS via a wildcard certificate (i.e. hostname is 
{{https://example.domain.com}} and the certificate DN contains 
{{CN=*.domain.com}}. This requires changes in the {{SSLStandardContextService}} 
to correctly parse the CN and evaluate wildcard entries if present. 

In addition, as specified by [RFC 2818|https://tools.ietf.org/html/rfc2818], 
certificate evaluation (specifically hostname validation) should prioritize 
Subject Alternative Names over DN parsing. Chrome 58+ has begun to implement 
this prioritization, which can cause issues with certificate validation even if 
the CN matches the hostname but SANs are present but do not include the 
hostname. 


> Support wildcard certificates in SSLStandardContextService
> --
>
> Key: NIFI-3788
> URL: https://issues.apache.org/jira/browse/NIFI-3788
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Core Framework
>Affects Versions: 1.1.1
>Reporter: Andy LoPresto
>Assignee: Andy LoPresto
>  Labels: certificate, pki, security, tls
> Fix For: 1.2.0
>
>
> Some users have reported issues when attempting to connect to an external 
> service which is secured for TLS via a wildcard certificate (i.e. hostname is 
> {{https://example.domain.com}} and the certificate DN contains 
> {{CN=*.domain.com}} **using the Amazon Web Services (AWS S3) processors**. 
> ~~This requires changes in the {{SSLStandardContextService}} to correctly 
> parse the CN and evaluate wildcard entries if present~~ This required changes 
> in the {{DefaultHostnameVerifier}} instance being passed to the 
> {{SdkTLSSocketFactory}} and {{AmazonHTTPClientConfig}} in 
> {{AbstractAWSProcessor}}. 
> In addition, as specified by [RFC 2818|https://tools.ietf.org/html/rfc2818], 
> certificate evaluation (specifically hostname validation) should prioritize 
> Subject Alternative Names over DN parsing. Chrome 58+ has begun to implement 
> this prioritization, which can cause issues with certificate validation even 
> if the CN matches the hostname but SANs are present but do not include the 
> hostname. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (NIFI-3796) Encrypted provenance repository test failure on Win10

2017-05-04 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on NIFI-3796:
--

Github user mcgilman commented on the issue:

https://github.com/apache/nifi/pull/1751
  
Thanks @alopresto. Verified that that tests in question pass on my Windows 
10 VM. This has been merged to master.


> Encrypted provenance repository test failure on Win10
> -
>
> Key: NIFI-3796
> URL: https://issues.apache.org/jira/browse/NIFI-3796
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core Framework
> Environment: Apache Maven 3.3.9 
> (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T11:41:47-05:00)
> Maven home: C:\development\tools\apache-maven-3.3.9
> Java version: 1.8.0_102, vendor: Oracle Corporation
> Java home: C:\Program Files\Java\jdk1.8.0_102\jre
> Default locale: en_US, platform encoding: Cp1252
> OS name: "windows 10", version: "10.0", arch: "amd64", family: "dos"
>Reporter: Joseph Witt
>Assignee: Andy LoPresto
>Priority: Critical
> Fix For: 1.2.0
>
>
> {code}
> Tests run: 15, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.109 sec 
> <<< FAILURE! - in org.apache.nifi.provenance.CryptoUtilsTest
> testShouldNotValidateUnreadableOrMissingFileBasedKeyProvider(org.apache.nifi.provenance.CryptoUtilsTest)
>   Time elapsed: 0.016 sec  <<< ERROR!
> java.lang.UnsupportedOperationException: null
> at java.nio.file.Files.setPosixFilePermissions(Files.java:2044)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at 
> org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
> at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
> at 
> org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46)
> at 
> org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.call(StaticMetaMethodSite.java:91)
> at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
> at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
> at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:133)
> at 
> org.apache.nifi.provenance.CryptoUtilsTest.testShouldNotValidateUnreadableOrMissingFileBasedKeyProvider(CryptoUtilsTest.groovy:187)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (NIFI-3796) Encrypted provenance repository test failure on Win10

2017-05-04 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on NIFI-3796:
--

Github user asfgit closed the pull request at:

https://github.com/apache/nifi/pull/1751


> Encrypted provenance repository test failure on Win10
> -
>
> Key: NIFI-3796
> URL: https://issues.apache.org/jira/browse/NIFI-3796
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core Framework
> Environment: Apache Maven 3.3.9 
> (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T11:41:47-05:00)
> Maven home: C:\development\tools\apache-maven-3.3.9
> Java version: 1.8.0_102, vendor: Oracle Corporation
> Java home: C:\Program Files\Java\jdk1.8.0_102\jre
> Default locale: en_US, platform encoding: Cp1252
> OS name: "windows 10", version: "10.0", arch: "amd64", family: "dos"
>Reporter: Joseph Witt
>Assignee: Andy LoPresto
>Priority: Critical
> Fix For: 1.2.0
>
>
> {code}
> Tests run: 15, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.109 sec 
> <<< FAILURE! - in org.apache.nifi.provenance.CryptoUtilsTest
> testShouldNotValidateUnreadableOrMissingFileBasedKeyProvider(org.apache.nifi.provenance.CryptoUtilsTest)
>   Time elapsed: 0.016 sec  <<< ERROR!
> java.lang.UnsupportedOperationException: null
> at java.nio.file.Files.setPosixFilePermissions(Files.java:2044)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at 
> org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
> at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
> at 
> org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46)
> at 
> org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.call(StaticMetaMethodSite.java:91)
> at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
> at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
> at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:133)
> at 
> org.apache.nifi.provenance.CryptoUtilsTest.testShouldNotValidateUnreadableOrMissingFileBasedKeyProvider(CryptoUtilsTest.groovy:187)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Resolved] (NIFI-3796) Encrypted provenance repository test failure on Win10

2017-05-04 Thread Matt Gilman (JIRA)

 [ 
https://issues.apache.org/jira/browse/NIFI-3796?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matt Gilman resolved NIFI-3796.
---
Resolution: Fixed

> Encrypted provenance repository test failure on Win10
> -
>
> Key: NIFI-3796
> URL: https://issues.apache.org/jira/browse/NIFI-3796
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core Framework
> Environment: Apache Maven 3.3.9 
> (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T11:41:47-05:00)
> Maven home: C:\development\tools\apache-maven-3.3.9
> Java version: 1.8.0_102, vendor: Oracle Corporation
> Java home: C:\Program Files\Java\jdk1.8.0_102\jre
> Default locale: en_US, platform encoding: Cp1252
> OS name: "windows 10", version: "10.0", arch: "amd64", family: "dos"
>Reporter: Joseph Witt
>Assignee: Andy LoPresto
>Priority: Critical
> Fix For: 1.2.0
>
>
> {code}
> Tests run: 15, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.109 sec 
> <<< FAILURE! - in org.apache.nifi.provenance.CryptoUtilsTest
> testShouldNotValidateUnreadableOrMissingFileBasedKeyProvider(org.apache.nifi.provenance.CryptoUtilsTest)
>   Time elapsed: 0.016 sec  <<< ERROR!
> java.lang.UnsupportedOperationException: null
> at java.nio.file.Files.setPosixFilePermissions(Files.java:2044)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at 
> org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
> at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
> at 
> org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46)
> at 
> org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.call(StaticMetaMethodSite.java:91)
> at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
> at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
> at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:133)
> at 
> org.apache.nifi.provenance.CryptoUtilsTest.testShouldNotValidateUnreadableOrMissingFileBasedKeyProvider(CryptoUtilsTest.groovy:187)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[GitHub] nifi issue #1751: NIFI-3796 Fixed Windows test failures due to POSIX permiss...

2017-05-04 Thread mcgilman
Github user mcgilman commented on the issue:

https://github.com/apache/nifi/pull/1751
  
Thanks @alopresto. Verified that that tests in question pass on my Windows 
10 VM. This has been merged to master.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi pull request #1751: NIFI-3796 Fixed Windows test failures due to POSIX ...

2017-05-04 Thread asfgit
Github user asfgit closed the pull request at:

https://github.com/apache/nifi/pull/1751


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Commented] (NIFI-3796) Encrypted provenance repository test failure on Win10

2017-05-04 Thread ASF subversion and git services (JIRA)

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

ASF subversion and git services commented on NIFI-3796:
---

Commit 7f2f38be5237a2f8064ca58b52f9587b4f0920a3 in nifi's branch 
refs/heads/master from [~alopresto]
[ https://git-wip-us.apache.org/repos/asf?p=nifi.git;h=7f2f38b ]

NIFI-3796
Added test logic to only run POSIX permission set on *nix OS.
Separated missing and unreadable key providers to different tests and run 
unreadable on POSIX-compliant OS only.
This closes #1751


> Encrypted provenance repository test failure on Win10
> -
>
> Key: NIFI-3796
> URL: https://issues.apache.org/jira/browse/NIFI-3796
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core Framework
> Environment: Apache Maven 3.3.9 
> (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T11:41:47-05:00)
> Maven home: C:\development\tools\apache-maven-3.3.9
> Java version: 1.8.0_102, vendor: Oracle Corporation
> Java home: C:\Program Files\Java\jdk1.8.0_102\jre
> Default locale: en_US, platform encoding: Cp1252
> OS name: "windows 10", version: "10.0", arch: "amd64", family: "dos"
>Reporter: Joseph Witt
>Assignee: Andy LoPresto
>Priority: Critical
> Fix For: 1.2.0
>
>
> {code}
> Tests run: 15, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.109 sec 
> <<< FAILURE! - in org.apache.nifi.provenance.CryptoUtilsTest
> testShouldNotValidateUnreadableOrMissingFileBasedKeyProvider(org.apache.nifi.provenance.CryptoUtilsTest)
>   Time elapsed: 0.016 sec  <<< ERROR!
> java.lang.UnsupportedOperationException: null
> at java.nio.file.Files.setPosixFilePermissions(Files.java:2044)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at 
> org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
> at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
> at 
> org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46)
> at 
> org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.call(StaticMetaMethodSite.java:91)
> at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
> at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
> at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:133)
> at 
> org.apache.nifi.provenance.CryptoUtilsTest.testShouldNotValidateUnreadableOrMissingFileBasedKeyProvider(CryptoUtilsTest.groovy:187)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Resolved] (NIFI-3788) Support wildcard certificates in SSLStandardContextService

2017-05-04 Thread Bryan Rosander (JIRA)

 [ 
https://issues.apache.org/jira/browse/NIFI-3788?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bryan Rosander resolved NIFI-3788.
--
   Resolution: Fixed
Fix Version/s: 1.2.0

> Support wildcard certificates in SSLStandardContextService
> --
>
> Key: NIFI-3788
> URL: https://issues.apache.org/jira/browse/NIFI-3788
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Core Framework
>Affects Versions: 1.1.1
>Reporter: Andy LoPresto
>Assignee: Andy LoPresto
>  Labels: certificate, pki, security, tls
> Fix For: 1.2.0
>
>
> Some users have reported issues when attempting to connect to an external 
> service which is secured for TLS via a wildcard certificate (i.e. hostname is 
> {{https://example.domain.com}} and the certificate DN contains 
> {{CN=*.domain.com}}. This requires changes in the 
> {{SSLStandardContextService}} to correctly parse the CN and evaluate wildcard 
> entries if present. 
> In addition, as specified by [RFC 2818|https://tools.ietf.org/html/rfc2818], 
> certificate evaluation (specifically hostname validation) should prioritize 
> Subject Alternative Names over DN parsing. Chrome 58+ has begun to implement 
> this prioritization, which can cause issues with certificate validation even 
> if the CN matches the hostname but SANs are present but do not include the 
> hostname. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (NIFI-3788) Support wildcard certificates in SSLStandardContextService

2017-05-04 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on NIFI-3788:
--

Github user asfgit closed the pull request at:

https://github.com/apache/nifi/pull/1753


> Support wildcard certificates in SSLStandardContextService
> --
>
> Key: NIFI-3788
> URL: https://issues.apache.org/jira/browse/NIFI-3788
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Core Framework
>Affects Versions: 1.1.1
>Reporter: Andy LoPresto
>Assignee: Andy LoPresto
>  Labels: certificate, pki, security, tls
> Fix For: 1.2.0
>
>
> Some users have reported issues when attempting to connect to an external 
> service which is secured for TLS via a wildcard certificate (i.e. hostname is 
> {{https://example.domain.com}} and the certificate DN contains 
> {{CN=*.domain.com}}. This requires changes in the 
> {{SSLStandardContextService}} to correctly parse the CN and evaluate wildcard 
> entries if present. 
> In addition, as specified by [RFC 2818|https://tools.ietf.org/html/rfc2818], 
> certificate evaluation (specifically hostname validation) should prioritize 
> Subject Alternative Names over DN parsing. Chrome 58+ has begun to implement 
> this prioritization, which can cause issues with certificate validation even 
> if the CN matches the hostname but SANs are present but do not include the 
> hostname. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (NIFI-3788) Support wildcard certificates in SSLStandardContextService

2017-05-04 Thread ASF subversion and git services (JIRA)

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

ASF subversion and git services commented on NIFI-3788:
---

Commit 4f40eca16ce64b0acfd60fe76d974a4e13a9951b in nifi's branch 
refs/heads/master from [~alopresto]
[ https://git-wip-us.apache.org/repos/asf?p=nifi.git;h=4f40eca ]

NIFI-3788 Switched Amazon HTTP client instantiation from using null 
HostnameVerifier (which defaulted to Strict, which cannot handle wildcard 
certificate hostnames) to DefaultHostnameVerifier, which is fine.

I still want to add unit tests and integration tests, but I ran a flow which 
had previously caused the reproducible exception and this worked fine (flow 
showed objects were put in S3, no exceptions, and I verified through AWS Web 
Console that new objects were present).

This closes #1753.

Signed-off-by: Bryan Rosander 


> Support wildcard certificates in SSLStandardContextService
> --
>
> Key: NIFI-3788
> URL: https://issues.apache.org/jira/browse/NIFI-3788
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Core Framework
>Affects Versions: 1.1.1
>Reporter: Andy LoPresto
>Assignee: Andy LoPresto
>  Labels: certificate, pki, security, tls
>
> Some users have reported issues when attempting to connect to an external 
> service which is secured for TLS via a wildcard certificate (i.e. hostname is 
> {{https://example.domain.com}} and the certificate DN contains 
> {{CN=*.domain.com}}. This requires changes in the 
> {{SSLStandardContextService}} to correctly parse the CN and evaluate wildcard 
> entries if present. 
> In addition, as specified by [RFC 2818|https://tools.ietf.org/html/rfc2818], 
> certificate evaluation (specifically hostname validation) should prioritize 
> Subject Alternative Names over DN parsing. Chrome 58+ has begun to implement 
> this prioritization, which can cause issues with certificate validation even 
> if the CN matches the hostname but SANs are present but do not include the 
> hostname. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[GitHub] nifi pull request #1753: NIFI-3788 Switched Amazon HTTP client instantiation...

2017-05-04 Thread asfgit
Github user asfgit closed the pull request at:

https://github.com/apache/nifi/pull/1753


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


  1   2   >