[jira] [Updated] (NIFI-154) Readlink not supported on OS X

2014-12-10 Thread Jake Visser (JIRA)

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

Jake Visser updated NIFI-154:
-
Summary: Readlink not supported on OS X  (was: Readlink not support on OS X)

 Readlink not supported on OS X
 --

 Key: NIFI-154
 URL: https://issues.apache.org/jira/browse/NIFI-154
 Project: Apache NiFi
  Issue Type: Bug
  Components: Tools
Affects Versions: 0.0.1
 Environment: OSX
Reporter: Jake Visser
Priority: Minor
 Attachments: readlink-patch.diff


 OS X does not support readlink, however greadlink is available with near 
 identical functionality (brew install coreutils).
 nifi.sh needs to be modified to detect Darwin (and other effected OS's?), and 
 call the appropriate command. 



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


[jira] [Created] (NIFI-155) Test Failure: MulticastProtocolListenerTest and ClusterServiceDiscoveryTest

2014-12-10 Thread Jake Visser (JIRA)
Jake Visser created NIFI-155:


 Summary: Test Failure: MulticastProtocolListenerTest and 
ClusterServiceDiscoveryTest
 Key: NIFI-155
 URL: https://issues.apache.org/jira/browse/NIFI-155
 Project: Apache NiFi
  Issue Type: Bug
 Environment: Apache Maven 3.2.3 
(33f8c3e1027c3ddde99d3cdebad2656a31e8fdf4; 2014-08-12T06:58:10+10:00)
Maven home: /usr/local/Cellar/maven/3.2.3/libexec
Java version: 1.7.0_71, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: mac os x, version: 10.10.1, arch: x86_64, family: mac

Reporter: Jake Visser
Priority: Minor


The following is the output of a test failure on OS X. Nifi still builds and 
operates fine - however I have not tested clustering. At the time of testing I 
am connected to wifi - and not running in a privileged mode. Is elevated 
privileges required?  Ill look into the code and debug further over the next 
few days.

Running org.apache.nifi.cluster.protocol.impl.ClusterServiceDiscoveryTest
Tests run: 3, Failures: 0, Errors: 2, Skipped: 1, Time elapsed: 0.013 sec  
FAILURE! - in org.apache.nifi.cluster.protocol.impl.ClusterServiceDiscoveryTest
testBadBroadcastMessage(org.apache.nifi.cluster.protocol.impl.ClusterServiceDiscoveryTest)
  Time elapsed: 0.011 sec   ERROR!
java.net.SocketException: Can't assign requested address
at java.net.PlainDatagramSocketImpl.join(Native Method)
at 
java.net.AbstractPlainDatagramSocketImpl.join(AbstractPlainDatagramSocketImpl.java:179)
at java.net.MulticastSocket.joinGroup(MulticastSocket.java:319)
at 
org.apache.nifi.io.socket.multicast.MulticastListener.start(MulticastListener.java:95)
at 
org.apache.nifi.cluster.protocol.impl.MulticastProtocolListener.start(MulticastProtocolListener.java:96)
at 
org.apache.nifi.cluster.protocol.impl.ClusterServiceDiscovery.start(ClusterServiceDiscovery.java:125)
at 
org.apache.nifi.cluster.protocol.impl.ClusterServiceDiscoveryTest.setup(ClusterServiceDiscoveryTest.java:67)

testGetAddressOnStartup(org.apache.nifi.cluster.protocol.impl.ClusterServiceDiscoveryTest)
  Time elapsed: 0.001 sec   ERROR!
java.net.SocketException: Can't assign requested address
at java.net.PlainDatagramSocketImpl.join(Native Method)
at 
java.net.AbstractPlainDatagramSocketImpl.join(AbstractPlainDatagramSocketImpl.java:179)
at java.net.MulticastSocket.joinGroup(MulticastSocket.java:319)
at 
org.apache.nifi.io.socket.multicast.MulticastListener.start(MulticastListener.java:95)
at 
org.apache.nifi.cluster.protocol.impl.MulticastProtocolListener.start(MulticastProtocolListener.java:96)
at 
org.apache.nifi.cluster.protocol.impl.ClusterServiceDiscovery.start(ClusterServiceDiscovery.java:125)
at 
org.apache.nifi.cluster.protocol.impl.ClusterServiceDiscoveryTest.setup(ClusterServiceDiscoveryTest.java:67)

Running org.apache.nifi.cluster.protocol.impl.ClusterServiceLocatorTest
Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.026 sec - in 
org.apache.nifi.cluster.protocol.impl.ClusterServiceLocatorTest
Running org.apache.nifi.cluster.protocol.impl.ClusterServicesBroadcasterTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0 sec - in 
org.apache.nifi.cluster.protocol.impl.ClusterServicesBroadcasterTest
Running org.apache.nifi.cluster.protocol.impl.MulticastProtocolListenerTest
Tests run: 2, Failures: 0, Errors: 1, Skipped: 1, Time elapsed: 0.002 sec  
FAILURE! - in 
org.apache.nifi.cluster.protocol.impl.MulticastProtocolListenerTest
testBadRequest(org.apache.nifi.cluster.protocol.impl.MulticastProtocolListenerTest)
  Time elapsed: 0.001 sec   ERROR!
java.net.SocketException: Can't assign requested address
at java.net.PlainDatagramSocketImpl.join(Native Method)
at 
java.net.AbstractPlainDatagramSocketImpl.join(AbstractPlainDatagramSocketImpl.java:179)
at java.net.MulticastSocket.joinGroup(MulticastSocket.java:319)
at 
org.apache.nifi.io.socket.multicast.MulticastListener.start(MulticastListener.java:95)
at 
org.apache.nifi.cluster.protocol.impl.MulticastProtocolListener.start(MulticastProtocolListener.java:96)
at 
org.apache.nifi.cluster.protocol.impl.MulticastProtocolListenerTest.setup(MulticastProtocolListenerTest.java:68)

Running org.apache.nifi.cluster.protocol.impl.NodeProtocolSenderImplTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0 sec - in 
org.apache.nifi.cluster.protocol.impl.NodeProtocolSenderImplTest

Results :


Tests in error: 
  ClusterServiceDiscoveryTest.setup:67 » Socket Can't assign requested address
  ClusterServiceDiscoveryTest.setup:67 » Socket Can't assign requested address
  MulticastProtocolListenerTest.setup:68 » Socket Can't assign requested address





[jira] [Created] (NIFI-156) provide a way in the UI for users to how many flowfiles are being swapped to disk

2014-12-10 Thread Ben Icore (JIRA)
Ben Icore created NIFI-156:
--

 Summary: provide a way in the UI for users to how many flowfiles 
are being swapped to disk
 Key: NIFI-156
 URL: https://issues.apache.org/jira/browse/NIFI-156
 Project: Apache NiFi
  Issue Type: Improvement
  Components: Core Framework
Affects Versions: 0.0.1
Reporter: Ben Icore
Priority: Minor


provide a way for users to see how many flowfiles have been swapped to disk, 
how many are in the flow, rate at which flowfiles are being swapped out, etc



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


[2/3] incubator-nifi git commit: Merge branch 'develop', remote branch 'origin/develop' into develop

2014-12-10 Thread joewitt
Merge branch 'develop', remote branch 'origin/develop' into develop


Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/c55e8510
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/c55e8510
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/c55e8510

Branch: refs/heads/develop
Commit: c55e8510891c0e2eeb25a0b32fd574ae71aa8a7c
Parents: 4410b70 3861446
Author: joewitt joew...@apache.org
Authored: Tue Dec 9 20:59:30 2014 -0500
Committer: joewitt joew...@apache.org
Committed: Tue Dec 9 20:59:30 2014 -0500

--
 .../web/controller/StandardSearchContext.java   | 18 +---
 .../src/main/webapp/js/nf/canvas/nf-canvas.js   | 95 ++--
 .../main/webapp/js/nf/canvas/nf-connectable.js  |  8 +-
 .../main/webapp/js/nf/canvas/nf-draggable.js| 49 ++
 .../js/nf/canvas/nf-processor-property-table.js | 10 +--
 .../main/webapp/js/nf/canvas/nf-selectable.js   |  6 +-
 .../main/webapp/js/nf/nf-processor-details.js   | 16 ++--
 7 files changed, 103 insertions(+), 99 deletions(-)
--




[1/3] incubator-nifi git commit: Merge branch 'develop', remote branch 'origin/develop' into develop

2014-12-10 Thread joewitt
Repository: incubator-nifi
Updated Branches:
  refs/heads/develop 386144695 - 51d177b24


Merge branch 'develop', remote branch 'origin/develop' into develop


Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/4410b707
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/4410b707
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/4410b707

Branch: refs/heads/develop
Commit: 4410b7072cfe0daba72a45b6a82e9e5b04dbcaff
Parents: 0125f3d
Author: joewitt joew...@apache.org
Authored: Tue Dec 9 10:08:57 2014 -0500
Committer: joewitt joew...@apache.org
Committed: Tue Dec 9 10:08:57 2014 -0500

--

--




[jira] [Closed] (NIFI-151) web api DfmAccessControlTest fails unless doing a clean install

2014-12-10 Thread Joseph Witt (JIRA)

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

Joseph Witt closed NIFI-151.

Resolution: Fixed
  Assignee: Joseph Witt

Fixed on develop branch.

commit 51d177b2426e4940134069c28d8d7f70c473a353
Author: joewitt joew...@apache.org
Date:   Wed Dec 10 07:09:18 2014 -0500

NIFI-151 Fixed test issue which resulted from needing to cleanup after 
previous runs


 web api DfmAccessControlTest fails unless doing a clean install
 ---

 Key: NIFI-151
 URL: https://issues.apache.org/jira/browse/NIFI-151
 Project: Apache NiFi
  Issue Type: Bug
  Components: Core Framework
Reporter: Joseph Witt
Assignee: Joseph Witt
Priority: Minor
 Fix For: 0.0.1


 Tests run: 29, Failures: 1, Errors: 0, Skipped: 1, Time elapsed: 12.159 sec 
  FAILURE! - in 
 org.apache.nifi.integration.accesscontrol.DfmAccessControlTest
 testImportTemplate(org.apache.nifi.integration.accesscontrol.DfmAccessControlTest)
   Time elapsed: 0.396 sec   FAILURE!
 java.lang.AssertionError: expected:201 but was:200
 at org.junit.Assert.fail(Assert.java:88)
 at org.junit.Assert.failNotEquals(Assert.java:743)
 at org.junit.Assert.assertEquals(Assert.java:118)
 at org.junit.Assert.assertEquals(Assert.java:555)
 at org.junit.Assert.assertEquals(Assert.java:542)
 at 
 org.apache.nifi.integration.accesscontrol.DfmAccessControlTest.testImportTemplate(DfmAccessControlTest.java:1310)
 If you do a clean install then it works fine.  So the 201/200 makes sense.  
 The test though seems to be not properly cleaning up after itself.



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


incubator-nifi git commit: NIFI-154 contributed via JIRA by Jake Visser jake at nightrise dot com dot au

2014-12-10 Thread joewitt
Repository: incubator-nifi
Updated Branches:
  refs/heads/develop 51d177b24 - 2735c6c25


NIFI-154 contributed via JIRA by Jake Visser jake at nightrise dot com dot au


Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/2735c6c2
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/2735c6c2
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/2735c6c2

Branch: refs/heads/develop
Commit: 2735c6c253483fb72f5ec946264f321392950b72
Parents: 51d177b
Author: joewitt joew...@apache.org
Authored: Wed Dec 10 07:38:12 2014 -0500
Committer: joewitt joew...@apache.org
Committed: Wed Dec 10 07:38:12 2014 -0500

--
 .../resources/src/main/resources/bin/nifi.sh| 16 ++--
 1 file changed, 14 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/2735c6c2/nar-bundles/framework-bundle/framework/resources/src/main/resources/bin/nifi.sh
--
diff --git 
a/nar-bundles/framework-bundle/framework/resources/src/main/resources/bin/nifi.sh
 
b/nar-bundles/framework-bundle/framework/resources/src/main/resources/bin/nifi.sh
index d069fc9..6fedfb7 100644
--- 
a/nar-bundles/framework-bundle/framework/resources/src/main/resources/bin/nifi.sh
+++ 
b/nar-bundles/framework-bundle/framework/resources/src/main/resources/bin/nifi.sh
@@ -50,6 +50,11 @@ if [ x$JAVA_MAX_PERMSIZE = x ]; then
 export JAVA_MAX_PERMSIZE
 fi
 
+#
+#Readlink is not available on all systems. Change variable to appropriate 
alternative as part of OS detection
+#
+
+READLINK=readlink
 
 warn() {
 echo ${PROGNAME}: $*
@@ -65,6 +70,7 @@ detectOS() {
 cygwin=false;
 aix=false;
 os400=false;
+darwin=false;
 case `uname` in
 CYGWIN*)
 cygwin=true
@@ -75,12 +81,18 @@ detectOS() {
 OS400*)
 os400=true
 ;;
+Darwin)
+   darwin=true
+   ;;
 esac
 # For AIX, set an environment variable
 if $aix; then
  export LDR_CNTRL=MAXDATA=0xB000@DSA
  echo $LDR_CNTRL
 fi
+if $darwin; then
+   READLINK=greadlink
+fi
 }
 
 unlimitFD() {
@@ -118,8 +130,8 @@ locateHome() {
 
 # In POSIX shells, CDPATH may cause cd to write to stdout
 (unset CDPATH) /dev/null 21  unset CDPATH
-NIFI_HOME=$(dirname $(readlink -f $0))/../
-NIFI_HOME=$(readlink -f $NIFI_HOME)
+NIFI_HOME=$(dirname $($READLINK -f $0))/../
+NIFI_HOME=$($READLINK -f $NIFI_HOME)
 cd $NIFI_HOME
 echo Directory changed to NIFI_HOME of '$NIFI_HOME'
 if [ ! -d $NIFI_HOME ]; then



[jira] [Commented] (NIFI-154) Readlink not supported on OS X

2014-12-10 Thread Joseph Witt (JIRA)

[ 
https://issues.apache.org/jira/browse/NIFI-154?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14241044#comment-14241044
 ] 

Joseph Witt commented on NIFI-154:
--

Jake

First thanks so much for contributing and providing a patch.  We've had quite a 
few MacOS users commenting thus far so this could be really helpful.  I've 
confirmed it still works with linux.  Can you please check it out on your end?

Thanks
Joe


commit 2735c6c253483fb72f5ec946264f321392950b72
Author: joewitt joew...@apache.org
Date:   Wed Dec 10 07:38:12 2014 -0500

NIFI-154 contributed via JIRA by Jake Visser jake at nightrise dot com dot 
au


 Readlink not supported on OS X
 --

 Key: NIFI-154
 URL: https://issues.apache.org/jira/browse/NIFI-154
 Project: Apache NiFi
  Issue Type: Bug
  Components: Tools
Affects Versions: 0.0.1
 Environment: OSX
Reporter: Jake Visser
Assignee: Joseph Witt
Priority: Minor
 Attachments: readlink-patch.diff


 OS X does not support readlink, however greadlink is available with near 
 identical functionality (brew install coreutils).
 nifi.sh needs to be modified to detect Darwin (and other effected OS's?), and 
 call the appropriate command. 



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


[jira] [Closed] (NIFI-154) Readlink not supported on OS X

2014-12-10 Thread Joseph Witt (JIRA)

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

Joseph Witt closed NIFI-154.

   Resolution: Fixed
Fix Version/s: 0.0.1

changes pushed to develop branch.  Tested to still work as it did before though 
contributor will also check for osx.  If still needs work can reopen or address 
whatever the new issue is. 

Have sent off a question to the mentors about patches and how to accept 
them/etc..  But this approach appears to be consistent with other apache 
projects.


 Readlink not supported on OS X
 --

 Key: NIFI-154
 URL: https://issues.apache.org/jira/browse/NIFI-154
 Project: Apache NiFi
  Issue Type: Bug
  Components: Tools
Affects Versions: 0.0.1
 Environment: OSX
Reporter: Jake Visser
Assignee: Joseph Witt
Priority: Minor
 Fix For: 0.0.1

 Attachments: readlink-patch.diff


 OS X does not support readlink, however greadlink is available with near 
 identical functionality (brew install coreutils).
 nifi.sh needs to be modified to detect Darwin (and other effected OS's?), and 
 call the appropriate command. 



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


[2/2] incubator-nifi git commit: NIFI-27: - Latest version of qtip2.

2014-12-10 Thread mcgilman
NIFI-27:
- Latest version of qtip2.

Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/0ded4424
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/0ded4424
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/0ded4424

Branch: refs/heads/nifi-27
Commit: 0ded44245ee9dd86f39ad8b42dddc9be69baf537
Parents: 2735c6c
Author: Matt Gilman matt.c.gil...@gmail.com
Authored: Wed Dec 10 08:35:31 2014 -0500
Committer: Matt Gilman matt.c.gil...@gmail.com
Committed: Wed Dec 10 08:35:31 2014 -0500

--
 .../webapp/WEB-INF/pages/bulletin-board.jsp |   2 +-
 .../src/main/webapp/WEB-INF/pages/canvas.jsp|   2 +-
 .../src/main/webapp/WEB-INF/pages/cluster.jsp   |   2 +-
 .../src/main/webapp/WEB-INF/pages/counters.jsp  |   2 +-
 .../src/main/webapp/WEB-INF/pages/history.jsp   |   2 +-
 .../main/webapp/WEB-INF/pages/provenance.jsp|   2 +-
 .../src/main/webapp/WEB-INF/pages/summary.jsp   |   2 +-
 .../src/main/webapp/WEB-INF/pages/templates.jsp |   2 +-
 .../src/main/webapp/WEB-INF/pages/users.jsp |   2 +-
 .../main/webapp/js/jquery/qtip2/jquery.qtip.css | 557 ---
 .../webapp/js/jquery/qtip2/jquery.qtip.min.css  |   3 +
 .../webapp/js/jquery/qtip2/jquery.qtip.min.js   | 711 +--
 12 files changed, 17 insertions(+), 1272 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/0ded4424/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/WEB-INF/pages/bulletin-board.jsp
--
diff --git 
a/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/WEB-INF/pages/bulletin-board.jsp
 
b/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/WEB-INF/pages/bulletin-board.jsp
index 8669f6c..083862d 100644
--- 
a/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/WEB-INF/pages/bulletin-board.jsp
+++ 
b/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/WEB-INF/pages/bulletin-board.jsp
@@ -24,7 +24,7 @@
 ${nf.bulletin.board.style.tags}
 link rel=stylesheet 
href=js/jquery/combo/jquery.combo.css?${project.version} type=text/css /
 link rel=stylesheet 
href=js/jquery/modal/jquery.modal.css?${project.version} type=text/css /
-link rel=stylesheet href=js/jquery/qtip2/jquery.qtip.css? 
type=text/css /
+link rel=stylesheet href=js/jquery/qtip2/jquery.qtip.min.css? 
type=text/css /
 link rel=stylesheet 
href=js/jquery/css/smoothness/jquery-ui-1.8.10.custom.css type=text/css /
 script type=text/javascript 
src=js/jquery/jquery-1.7.min.js/script
 script type=text/javascript 
src=js/jquery/jquery.center.js/script

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/0ded4424/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/WEB-INF/pages/canvas.jsp
--
diff --git 
a/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/WEB-INF/pages/canvas.jsp
 
b/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/WEB-INF/pages/canvas.jsp
index acdd147..c8f2ff7 100644
--- 
a/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/WEB-INF/pages/canvas.jsp
+++ 
b/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/WEB-INF/pages/canvas.jsp
@@ -28,7 +28,7 @@
 link rel=stylesheet 
href=js/jquery/tabbs/jquery.tabbs.css?${project.version} type=text/css /
 link rel=stylesheet 
href=js/jquery/combo/jquery.combo.css?${project.version} type=text/css /
 link rel=stylesheet 
href=js/jquery/modal/jquery.modal.css?${project.version} type=text/css /
-link rel=stylesheet href=js/jquery/qtip2/jquery.qtip.css? 
type=text/css /
+link rel=stylesheet href=js/jquery/qtip2/jquery.qtip.min.css? 
type=text/css /
 link rel=stylesheet 
href=js/jquery/css/smoothness/jquery-ui-1.8.10.custom.css type=text/css /
 link rel=stylesheet 
href=js/jquery/minicolors/jquery.minicolors.css type=text/css /
 link rel=stylesheet href=js/jquery/slickgrid/css/slick.grid.css 
type=text/css /

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/0ded4424/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/WEB-INF/pages/cluster.jsp
--
diff --git 
a/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/WEB-INF/pages/cluster.jsp
 
b/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/WEB-INF/pages/cluster.jsp
index 33fdbb0..e3e7b86 100644
--- 
a/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/WEB-INF/pages/cluster.jsp
+++ 

[3/9] incubator-nifi git commit: NIFI-145

2014-12-10 Thread markap14
NIFI-145


Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/64657049
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/64657049
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/64657049

Branch: refs/heads/develop
Commit: 646570490c530d0c076c9bd9b7d1170946a9dae8
Parents: cb63c66
Author: Mark Payne marka...@hotmail.com
Authored: Tue Dec 9 12:18:35 2014 -0500
Committer: Mark Payne marka...@hotmail.com
Committed: Tue Dec 9 12:18:35 2014 -0500

--
 .../java/org/apache/nifi/BootstrapListener.java | 229 
 .../src/main/java/org/apache/nifi/NiFi.java |  25 ++
 nifi-bootstrap/pom.xml  |  17 +-
 .../apache/nifi/bootstrap/BootstrapCodec.java   |  89 ++
 .../org/apache/nifi/bootstrap/NiFiListener.java | 116 
 .../java/org/apache/nifi/bootstrap/RunNiFi.java | 270 +--
 .../org/apache/nifi/bootstrap/ShutdownHook.java |  59 +++-
 .../exception/InvalidCommandException.java  |  37 +++
 8 files changed, 824 insertions(+), 18 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/64657049/nar-bundles/framework-bundle/framework/runtime/src/main/java/org/apache/nifi/BootstrapListener.java
--
diff --git 
a/nar-bundles/framework-bundle/framework/runtime/src/main/java/org/apache/nifi/BootstrapListener.java
 
b/nar-bundles/framework-bundle/framework/runtime/src/main/java/org/apache/nifi/BootstrapListener.java
new file mode 100644
index 000..3bcbeb3
--- /dev/null
+++ 
b/nar-bundles/framework-bundle/framework/runtime/src/main/java/org/apache/nifi/BootstrapListener.java
@@ -0,0 +1,229 @@
+/*
+ * 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;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.net.InetSocketAddress;
+import java.net.ServerSocket;
+import java.net.Socket;
+import java.nio.charset.StandardCharsets;
+import java.util.Arrays;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class BootstrapListener {
+   private static final Logger logger = 
LoggerFactory.getLogger(BootstrapListener.class);
+   
+   private final NiFi nifi;
+   private final int bootstrapPort;
+
+   private Listener listener;
+   private ServerSocket serverSocket;
+   
+   
+   public BootstrapListener(final NiFi nifi, final int port) {
+   this.nifi = nifi;
+   this.bootstrapPort = port;
+   }
+   
+   public void start() throws IOException {
+   logger.debug(Starting Bootstrap Listener to communicate with 
Bootstrap Port {}, bootstrapPort);
+   
+   serverSocket = new ServerSocket();
+   serverSocket.bind(new InetSocketAddress(localhost, 0));
+   
+   final int localPort = serverSocket.getLocalPort();
+   logger.info(Started Bootstrap Listener, Listening for incoming 
requests on port {}, localPort);
+   
+   listener = new Listener(serverSocket);
+   final Thread listenThread = new Thread(listener);
+   listenThread.setName(Listen to Bootstrap);
+   listenThread.start();
+   
+   logger.debug(Notifying Bootstrap that local port is {}, 
localPort);
+   try (final Socket socket = new Socket()) {
+   socket.setSoTimeout(6);
+   socket.connect(new InetSocketAddress(localhost, 
bootstrapPort));
+   socket.setSoTimeout(6);
+   
+   final OutputStream out = socket.getOutputStream();
+   out.write((PORT  + localPort + 
\n).getBytes(StandardCharsets.UTF_8));
+   

[5/9] incubator-nifi git commit: NIFIDEV-145: Bug fixes and pulled bootstrap into the assembly pom

2014-12-10 Thread markap14
NIFIDEV-145: Bug fixes and pulled bootstrap into the assembly pom


Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/e544191f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/e544191f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/e544191f

Branch: refs/heads/develop
Commit: e544191f1d59dbaf9aec6e1bd708bbe013c6661a
Parents: eed4a9b
Author: Mark Payne marka...@hotmail.com
Authored: Tue Dec 9 14:37:31 2014 -0500
Committer: Mark Payne marka...@hotmail.com
Committed: Tue Dec 9 14:37:31 2014 -0500

--
 assemblies/nifi/pom.xml |  5 +
 .../java/org/apache/nifi/bootstrap/RunNiFi.java | 22 +++-
 2 files changed, 17 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e544191f/assemblies/nifi/pom.xml
--
diff --git a/assemblies/nifi/pom.xml b/assemblies/nifi/pom.xml
index ec06a23..556b8fe 100644
--- a/assemblies/nifi/pom.xml
+++ b/assemblies/nifi/pom.xml
@@ -120,6 +120,11 @@
 version${framework.version}/version
 /dependency
 dependency
+   groupIdorg.apache.nifi/groupId
+   artifactIdnifi-bootstrap/artifactId
+   version0.0.1-SNAPSHOT/version
+/dependency
+dependency
 groupIdorg.apache.nifi/groupId
 artifactIdnifi-resources/artifactId
 version${framework.version}/version

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e544191f/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/RunNiFi.java
--
diff --git 
a/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/RunNiFi.java 
b/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/RunNiFi.java
index ea3e566..54932c8 100644
--- a/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/RunNiFi.java
+++ b/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/RunNiFi.java
@@ -30,7 +30,6 @@ import java.net.InetSocketAddress;
 import java.net.Socket;
 import java.nio.charset.StandardCharsets;
 import java.nio.file.Files;
-import java.nio.file.Path;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -250,7 +249,13 @@ public class RunNiFi {
builder.directory(new File(specifiedWorkingDir));
}
 
-   final File workingDir = builder.directory();
+   final File bootstrapConfigAbsoluteFile = 
bootstrapConfigFile.getAbsoluteFile();
+   final File binDir = bootstrapConfigAbsoluteFile.getParentFile();
+   final File workingDir = binDir.getParentFile();
+   
+   if ( specifiedWorkingDir == null ) {
+   builder.directory(workingDir);
+   }

final String libFilename = replaceNull(props.get(lib.dir), 
./lib).trim();
File libDir = getFile(libFilename, workingDir);
@@ -295,13 +300,10 @@ public class RunNiFi {
throw new RuntimeException(Could not find conf 
directory at  + confDir.getAbsolutePath());
}
 
-   final Path workingDirPath = workingDir.toPath();
final ListString cpFiles = new ArrayList(confFiles.length + 
libFiles.length);
cpFiles.add(confDir.getAbsolutePath());
for ( final File file : libFiles ) {
-   final Path path = 
workingDirPath.relativize(file.toPath());
-   final String cpPath = path.toString();
-   cpFiles.add(cpPath);
+   cpFiles.add(file.getAbsolutePath());
}

final StringBuilder classPathBuilder = new StringBuilder();
@@ -380,12 +382,12 @@ public class RunNiFi {
}

private File getFile(final String filename, final File workingDir) {
-   File libDir = new File(filename);
-   if ( !libDir.isAbsolute() ) {
-   libDir = new File(workingDir, filename);
+   File file = new File(filename);
+   if ( !file.isAbsolute() ) {
+   file = new File(workingDir, filename);
}

-   return libDir;
+   return file;
}

private String replaceNull(final String value, final String 
replacement) {



[1/3] incubator-nifi git commit: NIFI-27: - Latest version of D3.

2014-12-10 Thread mcgilman
Repository: incubator-nifi
Updated Branches:
  refs/heads/nifi-27 eb880757b - fef807136


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/fef80713/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/js/nf/nf-status-history.js
--
diff --git 
a/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/js/nf/nf-status-history.js
 
b/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/js/nf/nf-status-history.js
index f570082..178207e 100644
--- 
a/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/js/nf/nf-status-history.js
+++ 
b/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/js/nf/nf-status-history.js
@@ -60,13 +60,6 @@ nf.StatusHistory = (function () {
 };
 
 /**
- * version 3.4+ of D3 provides a mechanism for specifying
- * a number of custom formatters. this achieves similar function
- * until we're able to upgrade.
- */
-var timeFormats = null;
-
-/**
  * The time offset of the server.
  */
 var serverTimeOffset = null;
@@ -373,26 +366,21 @@ nf.StatusHistory = (function () {
 visible: instances[instance.id] === true
 });
 });
-
+
 // --
 // custom time axis formatter
 // --
 
-// create the formatting function
-var customTimeFormat = function (d) {
-var formatter;
-
-// identify the most appropriate formatter for this date
-$.each(timeFormats, function (_, timeFormat) {
-if (timeFormat[1](d)) {
-formatter = timeFormat;
-return false;
-}
-});
-
-// return the formatter date
-return formatter[0](d);
-};
+var customTimeFormat = d3.time.format.multi([
+[':%S.%L', function (d) { return d.getMilliseconds(); }], 
+[':%S', function (d) { return d.getSeconds(); }],
+['%H:%M', function (d) { return d.getMinutes(); }],
+['%H:%M', function (d) { return d.getHours(); }],
+['%a %d', function (d) { return d.getDay()  d.getDate() !== 1; 
}],
+['%b %d', function (d) { return d.getDate() !== 1; }],
+['%B', function (d) { return d.getMonth(); }],
+['%Y', function () { return true; }]
+]);
 
 // --
 // main chart
@@ -1136,34 +1124,6 @@ nf.StatusHistory = (function () {
 init: function (timeOffset) {
 serverTimeOffset = timeOffset;
 
-// initialize the time formats
-timeFormats = [
-[d3.time.format(':%S.%L'), function (d) {
-return d.getMilliseconds();
-}],
-[d3.time.format(':%S'), function (d) {
-return d.getSeconds();
-}],
-[d3.time.format('%H:%M'), function (d) {
-return d.getMinutes();
-}],
-[d3.time.format('%H:%M'), function (d) {
-return d.getHours();
-}],
-[d3.time.format('%a %d'), function (d) {
-return d.getDay()  d.getDate() !== 1;
-}],
-[d3.time.format('%b %d'), function (d) {
-return d.getDate() !== 1;
-}],
-[d3.time.format('%B'), function (d) {
-return d.getMonth();
-}],
-[d3.time.format('%Y'), function () {
-return true;
-}]
-];
-
 nf.Common.addHoverEffect('#status-history-refresh-button', 
'button-refresh', 'button-refresh-hover').click(function () {
 var statusHistory = 
$('#status-history-dialog').data('status-history');
 if (statusHistory !== null) {



incubator-nifi git commit: NIFI-52: Created new implementation of PreparedQuery so that we can still prepare a query even if the expression is invalid

2014-12-10 Thread markap14
Repository: incubator-nifi
Updated Branches:
  refs/heads/develop cce36335e - 8254b7543


NIFI-52: Created new implementation of PreparedQuery so that we can still 
prepare a query even if the expression is invalid


Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/8254b754
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/8254b754
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/8254b754

Branch: refs/heads/develop
Commit: 8254b75437a5b5a168259c7e46460ee3a7bc52f0
Parents: cce3633
Author: Mark Payne marka...@hotmail.com
Authored: Wed Dec 10 11:47:00 2014 -0500
Committer: Mark Payne marka...@hotmail.com
Committed: Wed Dec 10 11:47:00 2014 -0500

--
 .../language/InvalidPreparedQuery.java  | 71 
 .../attribute/expression/language/Query.java| 44 ++--
 .../exception/IllegalAttributeException.java|  1 +
 3 files changed, 96 insertions(+), 20 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/8254b754/commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/InvalidPreparedQuery.java
--
diff --git 
a/commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/InvalidPreparedQuery.java
 
b/commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/InvalidPreparedQuery.java
new file mode 100644
index 000..e23bcc0
--- /dev/null
+++ 
b/commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/InvalidPreparedQuery.java
@@ -0,0 +1,71 @@
+/*
+ * 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.attribute.expression.language;
+
+import java.util.Map;
+
+import 
org.apache.nifi.attribute.expression.language.exception.AttributeExpressionLanguageException;
+import org.apache.nifi.expression.AttributeValueDecorator;
+import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.processor.exception.ProcessException;
+
+
+/**
+ * An implementation of PreparedQuery that throws an {@link 
AttributeExpressionLanguageException} when attempting
+ * to evaluate the query. This allows a PreparedQuery to be created, even 
though it can't
+ * be evaluated.
+ */
+public class InvalidPreparedQuery implements PreparedQuery {
+private final String query;
+private final String explanation;
+
+public InvalidPreparedQuery(final String query, final String explanation) {
+this.query = query;
+this.explanation = explanation;
+}
+
+@Override
+public String evaluateExpressions(final FlowFile flowFile, final 
AttributeValueDecorator decorator) throws ProcessException {
+throw new AttributeExpressionLanguageException(Invalid Expression:  
+ query +  due to  + explanation);
+}
+
+@Override
+public String evaluateExpressions() throws ProcessException {
+throw new AttributeExpressionLanguageException(Invalid Expression:  
+ query +  due to  + explanation);
+}
+
+@Override
+public String evaluateExpressions(final AttributeValueDecorator decorator) 
throws ProcessException {
+throw new AttributeExpressionLanguageException(Invalid Expression:  
+ query +  due to  + explanation);
+}
+
+@Override
+public String evaluateExpressions(final FlowFile flowFile) throws 
ProcessException {
+throw new AttributeExpressionLanguageException(Invalid Expression:  
+ query +  due to  + explanation);
+}
+
+@Override
+public String evaluateExpressions(final MapString, String attributes) 
throws ProcessException {
+throw new AttributeExpressionLanguageException(Invalid Expression:  
+ query +  due to  + explanation);
+}
+
+@Override
+public String evaluateExpressions(final MapString, String attributes, 
final AttributeValueDecorator decorator) throws ProcessException {
+throw new AttributeExpressionLanguageException(Invalid 

[jira] [Resolved] (NIFI-52) Event-Driven Processors with scheduling period 0 ms do not commit session

2014-12-10 Thread Mark Payne (JIRA)

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

Mark Payne resolved NIFI-52.

Resolution: Fixed

 Event-Driven Processors with scheduling period  0 ms do not commit session
 ---

 Key: NIFI-52
 URL: https://issues.apache.org/jira/browse/NIFI-52
 Project: Apache NiFi
  Issue Type: Bug
  Components: Core Framework
Reporter: Mark Payne
Priority: Critical
 Fix For: 0.0.1






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


[jira] [Updated] (NIFI-87) Configuration across nodes in a cluster should be identical including properties files and more

2014-12-10 Thread Mark Payne (JIRA)

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

Mark Payne updated NIFI-87:
---
Description: 
Currently each node must have different values in its nifi.properties file for 
the hostname

nifi.web.http.host
nifi.web.https.host
nifi.cluster.node.address

In order to be scalable it must be the case that all nodes can have the exact 
same configuration.  this should be achived by removing any reference to the 
hostname frmo the properties file and instead use the name of the Network 
Interface (or interfaces)

nifi.web.http.interfaces=etho0,eth1,...

Generall in order to quickly scale up and down VMs will be used and it is 
considered acceptable to expect that all VM's should use the same NIC for 
comms.  This means we must fully understand exactly how these properties are 
used.  They are used in teh JettyServer class as well as in clustering.

  was:
Currently each node must have different values in its nifi.properties file for 
the hostname

nifi.web.http.host
nifi.web.https.host
nifi.cluster.node.address

In order to be scalable it must be the case that all nodes can have teh exact 
same configuration.  this should be achived by removing any reference to the 
hostname frmo the properties file and instead use the name of the Network 
Interface (or interfaces)

nifi.web.http.interfaces=etho0,eth1,...

Generall in order to quickly scale up and down VMs will be used and it is 
considered acceptable to expect that all VM's should use the same NIC for 
comms.  This means we must fully understand exactly how these properties are 
used.  They are used in teh JettyServer class as well as in clustering.


 Configuration across nodes in a cluster should be identical including 
 properties files and more
 ---

 Key: NIFI-87
 URL: https://issues.apache.org/jira/browse/NIFI-87
 Project: Apache NiFi
  Issue Type: Improvement
  Components: Core Framework
Reporter: Joseph Witt

 Currently each node must have different values in its nifi.properties file 
 for the hostname
 nifi.web.http.host
 nifi.web.https.host
 nifi.cluster.node.address
 In order to be scalable it must be the case that all nodes can have the exact 
 same configuration.  this should be achived by removing any reference to the 
 hostname frmo the properties file and instead use the name of the Network 
 Interface (or interfaces)
 nifi.web.http.interfaces=etho0,eth1,...
 Generall in order to quickly scale up and down VMs will be used and it is 
 considered acceptable to expect that all VM's should use the same NIC for 
 comms.  This means we must fully understand exactly how these properties are 
 used.  They are used in teh JettyServer class as well as in clustering.



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


[jira] [Resolved] (NIFI-158) Unable to delete UpdateAttribute Processor when property is invalid

2014-12-10 Thread Mark Payne (JIRA)

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

Mark Payne resolved NIFI-158.
-
Resolution: Fixed

 Unable to delete UpdateAttribute Processor when property is invalid
 ---

 Key: NIFI-158
 URL: https://issues.apache.org/jira/browse/NIFI-158
 Project: Apache NiFi
  Issue Type: Bug
  Components: Core Framework
Affects Versions: 0.0.1
Reporter: Mark Payne
Assignee: Mark Payne
 Fix For: 0.0.1






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


[jira] [Resolved] (NIFI-12) If @OnRemoved throws Exception, remove from graph anyway

2014-12-10 Thread Mark Payne (JIRA)

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

Mark Payne resolved NIFI-12.

Resolution: Fixed

 If @OnRemoved throws Exception, remove from graph anyway
 

 Key: NIFI-12
 URL: https://issues.apache.org/jira/browse/NIFI-12
 Project: Apache NiFi
  Issue Type: Bug
  Components: Core Framework, Core UI
Reporter: Joseph Witt
 Fix For: 0.0.1


 Otherwise, if in cluster and some nodes throw Exception while others don't, 
 then flows are now out of sync.



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


[05/28] incubator-nifi git commit: NIFIDEV-145: Bug fixes and pulled bootstrap into the assembly pom

2014-12-10 Thread mcgilman
NIFIDEV-145: Bug fixes and pulled bootstrap into the assembly pom


Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/e544191f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/e544191f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/e544191f

Branch: refs/heads/nifi-27
Commit: e544191f1d59dbaf9aec6e1bd708bbe013c6661a
Parents: eed4a9b
Author: Mark Payne marka...@hotmail.com
Authored: Tue Dec 9 14:37:31 2014 -0500
Committer: Mark Payne marka...@hotmail.com
Committed: Tue Dec 9 14:37:31 2014 -0500

--
 assemblies/nifi/pom.xml |  5 +
 .../java/org/apache/nifi/bootstrap/RunNiFi.java | 22 +++-
 2 files changed, 17 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e544191f/assemblies/nifi/pom.xml
--
diff --git a/assemblies/nifi/pom.xml b/assemblies/nifi/pom.xml
index ec06a23..556b8fe 100644
--- a/assemblies/nifi/pom.xml
+++ b/assemblies/nifi/pom.xml
@@ -120,6 +120,11 @@
 version${framework.version}/version
 /dependency
 dependency
+   groupIdorg.apache.nifi/groupId
+   artifactIdnifi-bootstrap/artifactId
+   version0.0.1-SNAPSHOT/version
+/dependency
+dependency
 groupIdorg.apache.nifi/groupId
 artifactIdnifi-resources/artifactId
 version${framework.version}/version

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/e544191f/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/RunNiFi.java
--
diff --git 
a/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/RunNiFi.java 
b/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/RunNiFi.java
index ea3e566..54932c8 100644
--- a/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/RunNiFi.java
+++ b/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/RunNiFi.java
@@ -30,7 +30,6 @@ import java.net.InetSocketAddress;
 import java.net.Socket;
 import java.nio.charset.StandardCharsets;
 import java.nio.file.Files;
-import java.nio.file.Path;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -250,7 +249,13 @@ public class RunNiFi {
builder.directory(new File(specifiedWorkingDir));
}
 
-   final File workingDir = builder.directory();
+   final File bootstrapConfigAbsoluteFile = 
bootstrapConfigFile.getAbsoluteFile();
+   final File binDir = bootstrapConfigAbsoluteFile.getParentFile();
+   final File workingDir = binDir.getParentFile();
+   
+   if ( specifiedWorkingDir == null ) {
+   builder.directory(workingDir);
+   }

final String libFilename = replaceNull(props.get(lib.dir), 
./lib).trim();
File libDir = getFile(libFilename, workingDir);
@@ -295,13 +300,10 @@ public class RunNiFi {
throw new RuntimeException(Could not find conf 
directory at  + confDir.getAbsolutePath());
}
 
-   final Path workingDirPath = workingDir.toPath();
final ListString cpFiles = new ArrayList(confFiles.length + 
libFiles.length);
cpFiles.add(confDir.getAbsolutePath());
for ( final File file : libFiles ) {
-   final Path path = 
workingDirPath.relativize(file.toPath());
-   final String cpPath = path.toString();
-   cpFiles.add(cpPath);
+   cpFiles.add(file.getAbsolutePath());
}

final StringBuilder classPathBuilder = new StringBuilder();
@@ -380,12 +382,12 @@ public class RunNiFi {
}

private File getFile(final String filename, final File workingDir) {
-   File libDir = new File(filename);
-   if ( !libDir.isAbsolute() ) {
-   libDir = new File(workingDir, filename);
+   File file = new File(filename);
+   if ( !file.isAbsolute() ) {
+   file = new File(workingDir, filename);
}

-   return libDir;
+   return file;
}

private String replaceNull(final String value, final String 
replacement) {



[02/28] incubator-nifi git commit: Merge branch 'develop' of https://git-wip-us.apache.org/repos/asf/incubator-nifi into develop

2014-12-10 Thread mcgilman
Merge branch 'develop' of 
https://git-wip-us.apache.org/repos/asf/incubator-nifi into develop


Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/cb63c666
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/cb63c666
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/cb63c666

Branch: refs/heads/nifi-27
Commit: cb63c66602a398b0c14cc78732db5ca63e36a94c
Parents: 567dfc7 0125f3d
Author: Mark Payne marka...@hotmail.com
Authored: Tue Dec 9 11:20:13 2014 -0500
Committer: Mark Payne marka...@hotmail.com
Committed: Tue Dec 9 11:20:13 2014 -0500

--
 nar-bundles/framework-bundle/framework/site-to-site/pom.xml | 4 
 nar-bundles/framework-bundle/pom.xml| 5 +
 2 files changed, 9 insertions(+)
--




[15/28] incubator-nifi git commit: NIFI-27: - Latest version of D3.

2014-12-10 Thread mcgilman
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/b61a1def/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/js/d3/d3.min.js
--
diff --git 
a/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/js/d3/d3.min.js
 
b/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/js/d3/d3.min.js
old mode 100755
new mode 100644
index 862fcb2..ddaf546
--- 
a/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/js/d3/d3.min.js
+++ 
b/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/js/d3/d3.min.js
@@ -1,5385 +1,5 @@
-d3 = function () {
-function n(n) {
-return null != n  !isNaN(n)
-}
-function t(n) {
-return n.length
-}
-function e(n) {
-for (var t = 1; n * t % 1; )
-t *= 10;
-return t
-}
-function r(n, t) {
-try {
-for (var e in t)
-Object.defineProperty(n.prototype, e, {value: t[e], 
enumerable: !1})
-} catch (r) {
-n.prototype = t
-}
-}
-function u() {
-}
-function i() {
-}
-function o(n, t, e) {
-return function () {
-var r = e.apply(t, arguments);
-return r === t ? n : r
-}
-}
-function a(n, t) {
-if (t in n)
-return t;
-t = t.charAt(0).toUpperCase() + t.substring(1);
-for (var e = 0, r = Co.length; r  e; ++e) {
-var u = Co[e] + t;
-if (u in n)
-return u
-}
-}
-function c() {
-}
-function l() {
-}
-function s(n) {
-function t() {
-for (var t, r = e, u = -1, i = r.length; ++u  i; )
-(t = r[u].on)  t.apply(this, arguments);
-return n
-}
-var e = [], r = new u;
-return t.on = function (t, u) {
-var i, o = r.get(t);
-return arguments.length  2 ? o  o.on : (o  (o.on = null, e = 
e.slice(0, i = e.indexOf(o)).concat(e.slice(i + 1)), r.remove(t)), u  
e.push(r.set(t, {on: u})), n)
-}, t
-}
-function f() {
-vo.event.preventDefault()
-}
-function h() {
-for (var n, t = vo.event; n = t.sourceEvent; )
-t = n;
-return t
-}
-function g(n) {
-for (var t = new l, e = 0, r = arguments.length; ++e  r; )
-t[arguments[e]] = s(t);
-return t.of = function (e, r) {
-return function (u) {
-try {
-var i = u.sourceEvent = vo.event;
-u.target = n, vo.event = u, t[u.type].apply(e, r)
-} finally {
-vo.event = i
-}
-}
-}, t
-}
-function p(n) {
-return jo(n, Oo), n
-}
-function d(n) {
-returnfunction == typeof n ? n : function () {
-return Lo(n, this)
-}
-}
-function v(n) {
-returnfunction == typeof n ? n : function () {
-return Ho(n, this)
-}
-}
-function m(n, t) {
-function e() {
-this.removeAttribute(n)
-}
-function r() {
-this.removeAttributeNS(n.space, n.local)
-}
-function u() {
-this.setAttribute(n, t)
-}
-function i() {
-this.setAttributeNS(n.space, n.local, t)
-}
-function o() {
-var e = t.apply(this, arguments);
-null == e ? this.removeAttribute(n) : this.setAttribute(n, e)
-}
-function a() {
-var e = t.apply(this, arguments);
-null == e ? this.removeAttributeNS(n.space, n.local) : 
this.setAttributeNS(n.space, n.local, e)
-}
-return n = vo.ns.qualify(n), null == t ? n.local ? r : e : function 
== typeof t ? n.local ? a : o : n.local ? i : u
-}
-function y(n) {
-return n.trim().replace(/\s+/g,  )
-}
-function M(n) {
-return new RegExp((?:^|\\s+) + vo.requote(n) + (?:\\s+|$), g)
-}
-function x(n, t) {
-function e() {
-for (var e = -1; ++e  u; )
-n[e](this, t)
-}
-function r() {
-for (var e = -1, r = t.apply(this, arguments); ++e  u; )
-n[e](this, r)
-}
-n = n.trim().split(/\s+/).map(b);
-var u = n.length;
-returnfunction == typeof t ? r : e
-}
-function b(n) {
-var t = M(n);
-return function (e, r) {
-if (u = e.classList)
-return r ? u.add(n) : u.remove(n);
-var u = e.getAttribute(class) || ;
-r ? (t.lastIndex = 0, t.test(u) || e.setAttribute(class, y(u +  
 + n))) : e.setAttribute(class, y(u.replace(t,  )))
-}
-}
-function _(n, t, e) {
-function r() {
-this.style.removeProperty(n)

[20/28] incubator-nifi git commit: NIFI-27: - Latest version of slickgrid.

2014-12-10 Thread mcgilman
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/53f44060/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/js/jquery/slickgrid/slick.editors.js
--
diff --git 
a/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/js/jquery/slickgrid/slick.editors.js
 
b/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/js/jquery/slickgrid/slick.editors.js
index 2d8a482..04b20d2 100755
--- 
a/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/js/jquery/slickgrid/slick.editors.js
+++ 
b/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/js/jquery/slickgrid/slick.editors.js
@@ -5,508 +5,508 @@
  */
 
 (function ($) {
-// register namespace
-$.extend(true, window, {
-Slick: {
-Editors: {
-Text: TextEditor,
-Integer: IntegerEditor,
-Date: DateEditor,
-YesNoSelect: YesNoSelectEditor,
-Checkbox: CheckboxEditor,
-PercentComplete: PercentCompleteEditor,
-LongText: LongTextEditor
-}
-}
-});
-
-function TextEditor(args) {
-var $input;
-var defaultValue;
-var scope = this;
-
-this.init = function () {
-$input = $(INPUT type=text class='editor-text' /)
-.appendTo(args.container)
-.bind(keydown.nav, function (e) {
-if (e.keyCode === $.ui.keyCode.LEFT || e.keyCode === 
$.ui.keyCode.RIGHT) {
-e.stopImmediatePropagation();
-}
-})
-.focus()
-.select();
-};
-
-this.destroy = function () {
-$input.remove();
-};
-
-this.focus = function () {
-$input.focus();
-};
-
-this.getValue = function () {
-return $input.val();
-};
-
-this.setValue = function (val) {
-$input.val(val);
-};
-
-this.loadValue = function (item) {
-defaultValue = item[args.column.field] || ;
-$input.val(defaultValue);
-$input[0].defaultValue = defaultValue;
-$input.select();
-};
-
-this.serializeValue = function () {
-return $input.val();
-};
-
-this.applyValue = function (item, state) {
-item[args.column.field] = state;
-};
-
-this.isValueChanged = function () {
-return (!($input.val() ==   defaultValue == null))  
($input.val() != defaultValue);
-};
-
-this.validate = function () {
-if (args.column.validator) {
-var validationResults = args.column.validator($input.val());
-if (!validationResults.valid) {
-return validationResults;
-}
-}
-
-return {
-valid: true,
-msg: null
-};
-};
-
-this.init();
-}
-
-function IntegerEditor(args) {
-var $input;
-var defaultValue;
-var scope = this;
-
-this.init = function () {
-$input = $(INPUT type=text class='editor-text' /);
-
-$input.bind(keydown.nav, function (e) {
-if (e.keyCode === $.ui.keyCode.LEFT || e.keyCode === 
$.ui.keyCode.RIGHT) {
-e.stopImmediatePropagation();
-}
-});
-
-$input.appendTo(args.container);
-$input.focus().select();
-};
-
-this.destroy = function () {
-$input.remove();
-};
-
-this.focus = function () {
-$input.focus();
-};
-
-this.loadValue = function (item) {
-defaultValue = item[args.column.field];
-$input.val(defaultValue);
-$input[0].defaultValue = defaultValue;
-$input.select();
-};
-
-this.serializeValue = function () {
-return parseInt($input.val(), 10) || 0;
-};
-
-this.applyValue = function (item, state) {
-item[args.column.field] = state;
-};
-
-this.isValueChanged = function () {
-return (!($input.val() ==   defaultValue == null))  
($input.val() != defaultValue);
-};
-
-this.validate = function () {
-if (isNaN($input.val())) {
-return {
-valid: false,
-msg: Please enter a valid integer
-};
-}
-
-return {
-valid: true,
-msg: null
-};
-};
-
-this.init();
-}
-
-function DateEditor(args) {
-var $input;
-var defaultValue;
-var scope = this;
-var 

[25/28] incubator-nifi git commit: NIFI-27: - Latest version of codemirror.

2014-12-10 Thread mcgilman
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/9180b7d4/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/js/codemirror/lib/codemirror.css
--
diff --git 
a/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/js/codemirror/lib/codemirror.css
 
b/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/js/codemirror/lib/codemirror.css
old mode 100755
new mode 100644
index 4de1393..e2d4ec2
--- 
a/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/js/codemirror/lib/codemirror.css
+++ 
b/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/js/codemirror/lib/codemirror.css
@@ -1,67 +1,97 @@
 /* BASICS */
 
 .CodeMirror {
-/* Set height, width, borders, and global font properties here */
-font-family: monospace;
-height: 300px;
+  /* Set height, width, borders, and global font properties here */
+  font-family: monospace;
+  height: 300px;
 }
 .CodeMirror-scroll {
-/* Set scrolling behaviour here */
-overflow: auto;
+  /* Set scrolling behaviour here */
+  overflow: auto;
 }
 
 /* PADDING */
 
 .CodeMirror-lines {
-padding: 4px 0; /* Vertical padding around content */
+  padding: 4px 0; /* Vertical padding around content */
 }
 .CodeMirror pre {
-padding: 0 4px; /* Horizontal padding of content */
+  padding: 0 4px; /* Horizontal padding of content */
 }
 
 .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
-background-color: white; /* The little square between H and V scrollbars */
+  background-color: white; /* The little square between H and V scrollbars */
 }
 
 /* GUTTER */
 
 .CodeMirror-gutters {
-border-right: 1px solid #ddd;
-background-color: #f7f7f7;
-white-space: nowrap;
+  border-right: 1px solid #ddd;
+  background-color: #f7f7f7;
+  white-space: nowrap;
 }
 .CodeMirror-linenumbers {}
 .CodeMirror-linenumber {
-padding: 0 3px 0 5px;
-min-width: 20px;
-text-align: right;
-color: #999;
--moz-box-sizing: content-box;
-box-sizing: content-box;
+  padding: 0 3px 0 5px;
+  min-width: 20px;
+  text-align: right;
+  color: #999;
+  -moz-box-sizing: content-box;
+  box-sizing: content-box;
 }
 
+.CodeMirror-guttermarker { color: black; }
+.CodeMirror-guttermarker-subtle { color: #999; }
+
 /* CURSOR */
 
 .CodeMirror div.CodeMirror-cursor {
-border-left: 1px solid black;
+  border-left: 1px solid black;
 }
 /* Shown when moving in bi-directional text */
 .CodeMirror div.CodeMirror-secondarycursor {
-border-left: 1px solid silver;
+  border-left: 1px solid silver;
+}
+.CodeMirror.cm-fat-cursor div.CodeMirror-cursor {
+  width: auto;
+  border: 0;
+  background: #7e7;
+}
+.CodeMirror.cm-fat-cursor div.CodeMirror-cursors {
+  z-index: 1;
+}
+
+.cm-animate-fat-cursor {
+  width: auto;
+  border: 0;
+  -webkit-animation: blink 1.06s steps(1) infinite;
+  -moz-animation: blink 1.06s steps(1) infinite;
+  animation: blink 1.06s steps(1) infinite;
+}
+@-moz-keyframes blink {
+  0% { background: #7e7; }
+  50% { background: none; }
+  100% { background: #7e7; }
+}
+@-webkit-keyframes blink {
+  0% { background: #7e7; }
+  50% { background: none; }
+  100% { background: #7e7; }
 }
-.CodeMirror.cm-keymap-fat-cursor div.CodeMirror-cursor {
-width: auto;
-border: 0;
-background: #7e7;
+@keyframes blink {
+  0% { background: #7e7; }
+  50% { background: none; }
+  100% { background: #7e7; }
 }
+
 /* Can style cursor different in overwrite (non-insert) mode */
 div.CodeMirror-overwrite div.CodeMirror-cursor {}
 
-.cm-tab { display: inline-block; }
+.cm-tab { display: inline-block; text-decoration: inherit; }
 
 .CodeMirror-ruler {
-border-left: 1px solid #ccc;
-position: absolute;
+  border-left: 1px solid #ccc;
+  position: absolute;
 }
 
 /* DEFAULT THEME */
@@ -70,11 +100,12 @@ div.CodeMirror-overwrite div.CodeMirror-cursor {}
 .cm-s-default .cm-atom {color: #219;}
 .cm-s-default .cm-number {color: #164;}
 .cm-s-default .cm-def {color: #00f;}
-.cm-s-default .cm-variable {color: black;}
+.cm-s-default .cm-variable,
+.cm-s-default .cm-punctuation,
+.cm-s-default .cm-property,
+.cm-s-default .cm-operator {}
 .cm-s-default .cm-variable-2 {color: #05a;}
 .cm-s-default .cm-variable-3 {color: #085;}
-.cm-s-default .cm-property {color: black;}
-.cm-s-default .cm-operator {color: black;}
 .cm-s-default .cm-comment {color: #a50;}
 .cm-s-default .cm-string {color: #a11;}
 .cm-s-default .cm-string-2 {color: #f50;}
@@ -94,12 +125,16 @@ div.CodeMirror-overwrite div.CodeMirror-cursor {}
 .cm-header, .cm-strong {font-weight: bold;}
 .cm-em {font-style: italic;}
 .cm-link {text-decoration: underline;}
+.cm-strikethrough {text-decoration: line-through;}
 
 .cm-s-default .cm-error {color: #f00;}
 .cm-invalidchar {color: #f00;}
 
+/* Default styles for common addons */
+
 div.CodeMirror span.CodeMirror-matchingbracket {color: #0f0;}
 div.CodeMirror 

[04/28] incubator-nifi git commit: NIFI-145: Added batch scripts and a simple bootstrap.conf file and fixed ShutdownHook to be Java 7 compliant

2014-12-10 Thread mcgilman
NIFI-145: Added batch scripts and a simple bootstrap.conf file and fixed 
ShutdownHook to be Java 7 compliant


Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/eed4a9bb
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/eed4a9bb
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/eed4a9bb

Branch: refs/heads/nifi-27
Commit: eed4a9bb810ceb5a366009c8379b06ed80b833f3
Parents: 6465704
Author: Mark Payne marka...@hotmail.com
Authored: Tue Dec 9 13:51:15 2014 -0500
Committer: Mark Payne marka...@hotmail.com
Committed: Tue Dec 9 13:51:15 2014 -0500

--
 .../src/main/resources/bin/nifi-status.bat  | 15 +
 .../src/main/resources/bin/start-nifi.bat   | 15 +
 .../src/main/resources/bin/stop-nifi.bat| 15 +
 .../src/main/resources/conf/bootstrap.conf  |  9 ++
 .../org/apache/nifi/bootstrap/ShutdownHook.java | 33 +++-
 5 files changed, 79 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/eed4a9bb/nar-bundles/framework-bundle/framework/resources/src/main/resources/bin/nifi-status.bat
--
diff --git 
a/nar-bundles/framework-bundle/framework/resources/src/main/resources/bin/nifi-status.bat
 
b/nar-bundles/framework-bundle/framework/resources/src/main/resources/bin/nifi-status.bat
new file mode 100644
index 000..9b88349
--- /dev/null
+++ 
b/nar-bundles/framework-bundle/framework/resources/src/main/resources/bin/nifi-status.bat
@@ -0,0 +1,15 @@
+@echo off
+
+rem Use JAVA_HOME if it's set; otherwise, just use java
+IF %JAVA_HOME%== (SET JAVA_EXE=java) ELSE (SET 
JAVA_EXE=%JAVA_HOME%\bin\java.exe)
+
+SET LIB_DIR=%~dp0..\lib
+SET CONF_DIR=%~dp0..\conf
+
+SET BOOTSTRAP_CONF_FILE=%CONF_DIR%\bootstrap.conf
+SET JAVA_ARGS=-Dorg.apache.nifi.boostrap.config.file=%BOOTSTRAP_CONF_FILE%
+
+SET JAVA_PARAMS=-cp %LIB_DIR%\nifi-bootstrap*.jar -Xms12m -Xmx24m %JAVA_ARGS% 
org.apache.nifi.bootstrap.RunNiFi
+SET BOOTSTRAP_ACTION=status
+
+cmd.exe /C %JAVA_EXE% %JAVA_PARAMS% %BOOTSTRAP_ACTION%

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/eed4a9bb/nar-bundles/framework-bundle/framework/resources/src/main/resources/bin/start-nifi.bat
--
diff --git 
a/nar-bundles/framework-bundle/framework/resources/src/main/resources/bin/start-nifi.bat
 
b/nar-bundles/framework-bundle/framework/resources/src/main/resources/bin/start-nifi.bat
new file mode 100644
index 000..c088672
--- /dev/null
+++ 
b/nar-bundles/framework-bundle/framework/resources/src/main/resources/bin/start-nifi.bat
@@ -0,0 +1,15 @@
+@echo off
+
+rem Use JAVA_HOME if it's set; otherwise, just use java
+IF %JAVA_HOME%== (SET JAVA_EXE=java) ELSE (SET 
JAVA_EXE=%JAVA_HOME%\bin\java.exe)
+
+SET LIB_DIR=%~dp0..\lib
+SET CONF_DIR=%~dp0..\conf
+
+SET BOOTSTRAP_CONF_FILE=%CONF_DIR%\bootstrap.conf
+SET JAVA_ARGS=-Dorg.apache.nifi.boostrap.config.file=%BOOTSTRAP_CONF_FILE%
+
+SET JAVA_PARAMS=-cp %LIB_DIR%\nifi-bootstrap*.jar -Xms12m -Xmx24m %JAVA_ARGS% 
org.apache.nifi.bootstrap.RunNiFi
+SET BOOTSTRAP_ACTION=start
+
+cmd.exe /C %JAVA_EXE% %JAVA_PARAMS% %BOOTSTRAP_ACTION%

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/eed4a9bb/nar-bundles/framework-bundle/framework/resources/src/main/resources/bin/stop-nifi.bat
--
diff --git 
a/nar-bundles/framework-bundle/framework/resources/src/main/resources/bin/stop-nifi.bat
 
b/nar-bundles/framework-bundle/framework/resources/src/main/resources/bin/stop-nifi.bat
new file mode 100644
index 000..753b09f
--- /dev/null
+++ 
b/nar-bundles/framework-bundle/framework/resources/src/main/resources/bin/stop-nifi.bat
@@ -0,0 +1,15 @@
+@echo off
+
+rem Use JAVA_HOME if it's set; otherwise, just use java
+IF %JAVA_HOME%== (SET JAVA_EXE=java) ELSE (SET 
JAVA_EXE=%JAVA_HOME%\bin\java.exe)
+
+SET LIB_DIR=%~dp0..\lib
+SET CONF_DIR=%~dp0..\conf
+
+SET BOOTSTRAP_CONF_FILE=%CONF_DIR%\bootstrap.conf
+SET JAVA_ARGS=-Dorg.apache.nifi.boostrap.config.file=%BOOTSTRAP_CONF_FILE%
+
+SET JAVA_PARAMS=-cp %LIB_DIR%\nifi-bootstrap*.jar -Xms12m -Xmx24m %JAVA_ARGS% 
org.apache.nifi.bootstrap.RunNiFi
+SET BOOTSTRAP_ACTION=stop
+
+cmd.exe /C %JAVA_EXE% %JAVA_PARAMS% %BOOTSTRAP_ACTION%

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/eed4a9bb/nar-bundles/framework-bundle/framework/resources/src/main/resources/conf/bootstrap.conf
--
diff --git 
a/nar-bundles/framework-bundle/framework/resources/src/main/resources/conf/bootstrap.conf
 
b/nar-bundles/framework-bundle/framework/resources/src/main/resources/conf/bootstrap.conf
new file 

[01/28] incubator-nifi git commit: NIFI-145: Initial commit of bootstrap module

2014-12-10 Thread mcgilman
Repository: incubator-nifi
Updated Branches:
  refs/heads/nifi-27 fef807136 - 2f2474efb


NIFI-145: Initial commit of bootstrap module


Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/567dfc79
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/567dfc79
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/567dfc79

Branch: refs/heads/nifi-27
Commit: 567dfc794c565854850b7e223601528f2a3fd814
Parents: 203e83e
Author: Mark Payne marka...@hotmail.com
Authored: Tue Dec 9 08:48:07 2014 -0500
Committer: Mark Payne marka...@hotmail.com
Committed: Tue Dec 9 08:48:07 2014 -0500

--
 .gitignore  |   1 +
 nifi-bootstrap/pom.xml  |  18 ++
 .../java/org/apache/nifi/bootstrap/RunNiFi.java | 176 +++
 .../org/apache/nifi/bootstrap/ShutdownHook.java |  14 ++
 4 files changed, 209 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/567dfc79/.gitignore
--
diff --git a/.gitignore b/.gitignore
index f026df6..6d4eca9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
 target
 .project
 .settings
+.classpath
 nbactions.xml
 .DS_Store
 

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/567dfc79/nifi-bootstrap/pom.xml
--
diff --git a/nifi-bootstrap/pom.xml b/nifi-bootstrap/pom.xml
new file mode 100644
index 000..b620c84
--- /dev/null
+++ b/nifi-bootstrap/pom.xml
@@ -0,0 +1,18 @@
+project xmlns=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;
+   modelVersion4.0.0/modelVersion
+
+   parent
+   groupIdorg.apache.nifi/groupId
+   artifactIdnifi-parent/artifactId
+   version0.0.1-SNAPSHOT/version
+   /parent
+
+   artifactIdnifi-bootstrap/artifactId
+   packagingjar/packaging
+
+   namenifi-bootstrap/name
+
+   dependencies
+   /dependencies
+/project

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/567dfc79/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/RunNiFi.java
--
diff --git 
a/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/RunNiFi.java 
b/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/RunNiFi.java
new file mode 100644
index 000..afa1f47
--- /dev/null
+++ b/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/RunNiFi.java
@@ -0,0 +1,176 @@
+package org.apache.nifi.bootstrap;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FilenameFilter;
+import java.io.IOException;
+import java.nio.file.Path;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+
+
+/**
+ * Bootstrap class to run Apache NiFi.
+ * 
+ * This class looks for the bootstrap.conf file by looking in the following 
places (in order):
+ * ol
+ * liFirst argument to the program/li
+ *  liJava System Property named {@code 
org.apache.nifi.bootstrap.config.file}/li
+ *  li${NIFI_HOME}/./conf/bootstrap.conf, where ${NIFI_HOME} references an 
environment variable {@code NIFI_HOME}/li
+ *  li./conf/bootstrap.conf, where {@code .} represents the working 
directory.
+ * /ol
+ *
+ * If the {@code bootstrap.conf} file cannot be found, throws a {@code 
FileNotFoundException].
+ */
+public class RunNiFi {
+   public static final String DEFAULT_CONFIG_FILE = ./conf/boostrap.conf;
+   public static final String DEFAULT_NIFI_PROPS_FILE = 
./conf/nifi.properties;
+   
+   @SuppressWarnings({ rawtypes, unchecked })
+   public static void main(final String[] args) throws IOException, 
InterruptedException {
+   final ProcessBuilder builder = new ProcessBuilder();
+
+   String configFilename = (args.length  0) ? args[0] : 
System.getProperty(org.apache.nifi.boostrap.config.file);
+   
+   if ( configFilename == null ) {
+   final String nifiHome = System.getenv(NIFI_HOME);
+   if ( nifiHome != null ) {
+   final File nifiHomeFile = new 
File(nifiHome.trim());
+   final File configFile = new File(nifiHomeFile, 
DEFAULT_CONFIG_FILE);
+   configFilename = configFile.getAbsolutePath();
+   }
+   }
+   
+   if ( configFilename == null ) {
+   configFilename = 

[24/28] incubator-nifi git commit: NIFI-27: - Latest version of codemirror.

2014-12-10 Thread mcgilman
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/9180b7d4/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/js/codemirror/lib/codemirror.js
--
diff --git 
a/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/js/codemirror/lib/codemirror.js
 
b/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/js/codemirror/lib/codemirror.js
deleted file mode 100755
index a085720..000
--- 
a/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/js/codemirror/lib/codemirror.js
+++ /dev/null
@@ -1,8488 +0,0 @@
-// This is CodeMirror (http://codemirror.net), a code editor
-// implemented in JavaScript on top of the browser's DOM.
-//
-// You can find some technical background for some of the code below
-// at http://marijnhaverbeke.nl/blog/#cm-internals .
-
-(function (mod) {
-if (typeof exports == object  typeof module == object) // CommonJS
-module.exports = mod();
-else if (typeof define == function  define.amd) // AMD
-return define([], mod);
-else // Plain browser env
-this.CodeMirror = mod();
-})(function () {
-use strict;
-
-// BROWSER SNIFFING
-
-// Kludges for bugs and behavior differences that can't be feature
-// detected are enabled based on userAgent etc sniffing.
-
-var gecko = /gecko\/\d/i.test(navigator.userAgent);
-// ie_uptoN means Internet Explorer version N or lower
-var ie_upto10 = /MSIE \d/.test(navigator.userAgent);
-var ie_upto7 = ie_upto10  (document.documentMode == null || 
document.documentMode  8);
-var ie_upto8 = ie_upto10  (document.documentMode == null || 
document.documentMode  9);
-var ie_upto9 = ie_upto10  (document.documentMode == null || 
document.documentMode  10);
-var ie_11up = /Trident\/([7-9]|\d{2,})\./.test(navigator.userAgent);
-var ie = ie_upto10 || ie_11up;
-var webkit = /WebKit\//.test(navigator.userAgent);
-var qtwebkit = webkit  /Qt\/\d+\.\d+/.test(navigator.userAgent);
-var chrome = /Chrome\//.test(navigator.userAgent);
-var presto = /Opera\//.test(navigator.userAgent);
-var safari = /Apple Computer/.test(navigator.vendor);
-var khtml = /KHTML\//.test(navigator.userAgent);
-var mac_geLion = /Mac OS X 1\d\D([7-9]|\d\d)\D/.test(navigator.userAgent);
-var mac_geMountainLion = /Mac OS X 
1\d\D([8-9]|\d\d)\D/.test(navigator.userAgent);
-var phantom = /PhantomJS/.test(navigator.userAgent);
-
-var ios = /AppleWebKit/.test(navigator.userAgent)  
/Mobile\/\w+/.test(navigator.userAgent);
-// This is woefully incomplete. Suggestions for alternative methods 
welcome.
-var mobile = ios || /Android|webOS|BlackBerry|Opera Mini|Opera 
Mobi|IEMobile/i.test(navigator.userAgent);
-var mac = ios || /Mac/.test(navigator.platform);
-var windows = /win/i.test(navigator.platform);
-
-var presto_version = presto  
navigator.userAgent.match(/Version\/(\d*\.\d*)/);
-if (presto_version)
-presto_version = Number(presto_version[1]);
-if (presto_version  presto_version = 15) {
-presto = false;
-webkit = true;
-}
-// Some browsers use the wrong event properties to signal cmd/ctrl on OS X
-var flipCtrlCmd = mac  (qtwebkit || presto  (presto_version == null || 
presto_version  12.11));
-var captureRightClick = gecko || (ie  !ie_upto8);
-
-// Optimize some code when these features are not used.
-var sawReadOnlySpans = false, sawCollapsedSpans = false;
-
-// EDITOR CONSTRUCTOR
-
-// A CodeMirror instance represents an editor. This is the object
-// that user code is usually dealing with.
-
-function CodeMirror(place, options) {
-if (!(this instanceof CodeMirror))
-return new CodeMirror(place, options);
-
-this.options = options = options || {};
-// Determine effective options based on given values and defaults.
-for (var opt in defaults)
-if (!options.hasOwnProperty(opt))
-options[opt] = defaults[opt];
-setGuttersForLineNumbers(options);
-
-var doc = options.value;
-if (typeof doc == string)
-doc = new Doc(doc, options.mode);
-this.doc = doc;
-
-var display = this.display = new Display(place, doc);
-display.wrapper.CodeMirror = this;
-updateGutters(this);
-themeChanged(this);
-if (options.lineWrapping)
-this.display.wrapper.className +=  CodeMirror-wrap;
-if (options.autofocus  !mobile)
-focusInput(this);
-
-this.state = {
-keyMaps: [], // stores maps added by addKeyMap
-overlays: [], // highlighting overlays, as added by addOverlay
-modeGen: 0, // bumped when mode/overlay changes, used to 
invalidate highlighting info
-overwrite: false, focused: false,
-suppressEdits: false, // used to 

[28/28] incubator-nifi git commit: Merge branch 'nifi-27' of https://git-wip-us.apache.org/repos/asf/incubator-nifi into nifi-27

2014-12-10 Thread mcgilman
Merge branch 'nifi-27' of 
https://git-wip-us.apache.org/repos/asf/incubator-nifi into nifi-27


Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/2f2474ef
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/2f2474ef
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/2f2474ef

Branch: refs/heads/nifi-27
Commit: 2f2474efbc20f07a5ee2ce10ce48954f4854146e
Parents: 9180b7d fef8071
Author: Matt Gilman matt.c.gil...@gmail.com
Authored: Wed Dec 10 12:58:18 2014 -0500
Committer: Matt Gilman matt.c.gil...@gmail.com
Committed: Wed Dec 10 12:58:18 2014 -0500

--

--




[18/28] incubator-nifi git commit: NIFI-27: - Latest version of qtip2.

2014-12-10 Thread mcgilman
NIFI-27:
- Latest version of qtip2.


Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/57b4178f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/57b4178f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/57b4178f

Branch: refs/heads/nifi-27
Commit: 57b4178f19960bb4359d79f462c6e790e3e8f1a1
Parents: f60a97b
Author: Matt Gilman matt.c.gil...@gmail.com
Authored: Wed Dec 10 08:35:31 2014 -0500
Committer: Matt Gilman matt.c.gil...@gmail.com
Committed: Wed Dec 10 12:19:26 2014 -0500

--
 .../webapp/WEB-INF/pages/bulletin-board.jsp |   2 +-
 .../src/main/webapp/WEB-INF/pages/canvas.jsp|   2 +-
 .../src/main/webapp/WEB-INF/pages/cluster.jsp   |   2 +-
 .../src/main/webapp/WEB-INF/pages/counters.jsp  |   2 +-
 .../src/main/webapp/WEB-INF/pages/history.jsp   |   2 +-
 .../main/webapp/WEB-INF/pages/provenance.jsp|   2 +-
 .../src/main/webapp/WEB-INF/pages/summary.jsp   |   2 +-
 .../src/main/webapp/WEB-INF/pages/templates.jsp |   2 +-
 .../src/main/webapp/WEB-INF/pages/users.jsp |   2 +-
 .../main/webapp/js/jquery/qtip2/jquery.qtip.css | 557 ---
 .../webapp/js/jquery/qtip2/jquery.qtip.min.css  |   3 +
 .../webapp/js/jquery/qtip2/jquery.qtip.min.js   | 711 +--
 12 files changed, 17 insertions(+), 1272 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/57b4178f/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/WEB-INF/pages/bulletin-board.jsp
--
diff --git 
a/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/WEB-INF/pages/bulletin-board.jsp
 
b/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/WEB-INF/pages/bulletin-board.jsp
index 8669f6c..083862d 100644
--- 
a/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/WEB-INF/pages/bulletin-board.jsp
+++ 
b/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/WEB-INF/pages/bulletin-board.jsp
@@ -24,7 +24,7 @@
 ${nf.bulletin.board.style.tags}
 link rel=stylesheet 
href=js/jquery/combo/jquery.combo.css?${project.version} type=text/css /
 link rel=stylesheet 
href=js/jquery/modal/jquery.modal.css?${project.version} type=text/css /
-link rel=stylesheet href=js/jquery/qtip2/jquery.qtip.css? 
type=text/css /
+link rel=stylesheet href=js/jquery/qtip2/jquery.qtip.min.css? 
type=text/css /
 link rel=stylesheet 
href=js/jquery/css/smoothness/jquery-ui-1.8.10.custom.css type=text/css /
 script type=text/javascript 
src=js/jquery/jquery-1.7.min.js/script
 script type=text/javascript 
src=js/jquery/jquery.center.js/script

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/57b4178f/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/WEB-INF/pages/canvas.jsp
--
diff --git 
a/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/WEB-INF/pages/canvas.jsp
 
b/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/WEB-INF/pages/canvas.jsp
index acdd147..c8f2ff7 100644
--- 
a/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/WEB-INF/pages/canvas.jsp
+++ 
b/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/WEB-INF/pages/canvas.jsp
@@ -28,7 +28,7 @@
 link rel=stylesheet 
href=js/jquery/tabbs/jquery.tabbs.css?${project.version} type=text/css /
 link rel=stylesheet 
href=js/jquery/combo/jquery.combo.css?${project.version} type=text/css /
 link rel=stylesheet 
href=js/jquery/modal/jquery.modal.css?${project.version} type=text/css /
-link rel=stylesheet href=js/jquery/qtip2/jquery.qtip.css? 
type=text/css /
+link rel=stylesheet href=js/jquery/qtip2/jquery.qtip.min.css? 
type=text/css /
 link rel=stylesheet 
href=js/jquery/css/smoothness/jquery-ui-1.8.10.custom.css type=text/css /
 link rel=stylesheet 
href=js/jquery/minicolors/jquery.minicolors.css type=text/css /
 link rel=stylesheet href=js/jquery/slickgrid/css/slick.grid.css 
type=text/css /

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/57b4178f/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/WEB-INF/pages/cluster.jsp
--
diff --git 
a/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/WEB-INF/pages/cluster.jsp
 
b/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/WEB-INF/pages/cluster.jsp
index 33fdbb0..e3e7b86 100644
--- 
a/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/WEB-INF/pages/cluster.jsp
+++ 

[08/28] incubator-nifi git commit: Merge branch 'develop' of https://git-wip-us.apache.org/repos/asf/incubator-nifi into develop

2014-12-10 Thread mcgilman
Merge branch 'develop' of 
https://git-wip-us.apache.org/repos/asf/incubator-nifi into develop


Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/5ebf3b51
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/5ebf3b51
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/5ebf3b51

Branch: refs/heads/nifi-27
Commit: 5ebf3b51cd7a51ed52ac38c37797b5268129d633
Parents: cb63c66 2735c6c
Author: Mark Payne marka...@hotmail.com
Authored: Wed Dec 10 11:08:10 2014 -0500
Committer: Mark Payne marka...@hotmail.com
Committed: Wed Dec 10 11:08:10 2014 -0500

--
 .../resources/src/main/resources/bin/nifi.sh| 16 +++-
 .../web/controller/StandardSearchContext.java   | 18 +---
 .../accesscontrol/DfmAccessControlTest.java | 26 +-
 .../src/main/webapp/js/nf/canvas/nf-canvas.js   | 95 ++--
 .../main/webapp/js/nf/canvas/nf-connectable.js  |  8 +-
 .../main/webapp/js/nf/canvas/nf-draggable.js| 49 ++
 .../js/nf/canvas/nf-processor-property-table.js | 10 +--
 .../main/webapp/js/nf/canvas/nf-selectable.js   |  6 +-
 .../main/webapp/js/nf/nf-processor-details.js   | 16 ++--
 9 files changed, 142 insertions(+), 102 deletions(-)
--




[11/28] incubator-nifi git commit: NIFI-54: When incrementing active thread count, if the value exceeds max, do not run

2014-12-10 Thread mcgilman
NIFI-54: When incrementing active thread count, if the value exceeds max, do 
not run


Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/97f8ab0c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/97f8ab0c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/97f8ab0c

Branch: refs/heads/nifi-27
Commit: 97f8ab0cc50f77a2ff3a4e9d575ec05c185e5b80
Parents: 8254b75
Author: Mark Payne marka...@hotmail.com
Authored: Wed Dec 10 11:57:33 2014 -0500
Committer: Mark Payne marka...@hotmail.com
Committed: Wed Dec 10 11:57:33 2014 -0500

--
 .../scheduling/EventDrivenSchedulingAgent.java  | 24 ++--
 .../controller/scheduling/ScheduleState.java|  8 +++
 2 files changed, 26 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/97f8ab0c/nar-bundles/framework-bundle/framework/core/src/main/java/org/apache/nifi/controller/scheduling/EventDrivenSchedulingAgent.java
--
diff --git 
a/nar-bundles/framework-bundle/framework/core/src/main/java/org/apache/nifi/controller/scheduling/EventDrivenSchedulingAgent.java
 
b/nar-bundles/framework-bundle/framework/core/src/main/java/org/apache/nifi/controller/scheduling/EventDrivenSchedulingAgent.java
index 5b237ff..af801bb 100644
--- 
a/nar-bundles/framework-bundle/framework/core/src/main/java/org/apache/nifi/controller/scheduling/EventDrivenSchedulingAgent.java
+++ 
b/nar-bundles/framework-bundle/framework/core/src/main/java/org/apache/nifi/controller/scheduling/EventDrivenSchedulingAgent.java
@@ -263,7 +263,17 @@ public class EventDrivenSchedulingAgent implements 
SchedulingAgent {
 }
 
 private void trigger(final Connectable worker, final ScheduleState 
scheduleState, final ConnectableProcessContext processContext, final 
ProcessSessionFactory sessionFactory) {
-scheduleState.incrementActiveThreadCount();
+final int newThreadCount = 
scheduleState.incrementActiveThreadCount();
+if (newThreadCount  worker.getMaxConcurrentTasks()  
worker.getMaxConcurrentTasks()  0) {
+ // its possible that the worker queue could give us a worker 
node that is eligible to run based
+ // on the number of threads but another thread has already 
incremented the thread count, result in
+ // reaching the maximum number of threads. we won't know this 
until we atomically increment the thread count 
+ // on the Schedule State, so we check it here. in this case, 
we cannot trigger the Processor, as doing so would
+ // result in using more than the maximum number of defined 
threads
+ scheduleState.decrementActiveThreadCount();
+ return;
+}
+
 try {
 try (final AutoCloseable ncl = NarCloseable.withNarLoader()) {
 worker.onTrigger(processContext, sessionFactory);
@@ -293,7 +303,17 @@ public class EventDrivenSchedulingAgent implements 
SchedulingAgent {
 }
 
 private void trigger(final ProcessorNode worker, final ProcessContext 
context, final ScheduleState scheduleState, final StandardProcessContext 
processContext, final ProcessSessionFactory sessionFactory) {
-scheduleState.incrementActiveThreadCount();
+final int newThreadCount = 
scheduleState.incrementActiveThreadCount();
+if (newThreadCount  worker.getMaxConcurrentTasks()  
worker.getMaxConcurrentTasks()  0) {
+ // its possible that the worker queue could give us a worker 
node that is eligible to run based
+ // on the number of threads but another thread has already 
incremented the thread count, result in
+ // reaching the maximum number of threads. we won't know this 
until we atomically increment the thread count 
+ // on the Schedule State, so we check it here. in this case, 
we cannot trigger the Processor, as doing so would
+ // result in using more than the maximum number of defined 
threads
+ scheduleState.decrementActiveThreadCount();
+ return;
+}
+
 try {
 try (final AutoCloseable ncl = NarCloseable.withNarLoader()) {
 worker.onTrigger(processContext, sessionFactory);

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/97f8ab0c/nar-bundles/framework-bundle/framework/core/src/main/java/org/apache/nifi/controller/scheduling/ScheduleState.java
--
diff --git 

[21/28] incubator-nifi git commit: NIFI-27: - Latest version of slickgrid.

2014-12-10 Thread mcgilman
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/53f44060/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/js/jquery/slickgrid/slick.dataview.js
--
diff --git 
a/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/js/jquery/slickgrid/slick.dataview.js
 
b/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/js/jquery/slickgrid/slick.dataview.js
index 07f5900..f1c1b5e 100755
--- 
a/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/js/jquery/slickgrid/slick.dataview.js
+++ 
b/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/js/jquery/slickgrid/slick.dataview.js
@@ -1,914 +1,1126 @@
 (function ($) {
-$.extend(true, window, {
-Slick: {
-Data: {
-DataView: DataView,
-Aggregators: {
-Avg: AvgAggregator,
-Min: MinAggregator,
-Max: MaxAggregator,
-Sum: SumAggregator
-}
-}
+  $.extend(true, window, {
+Slick: {
+  Data: {
+DataView: DataView,
+Aggregators: {
+  Avg: AvgAggregator,
+  Min: MinAggregator,
+  Max: MaxAggregator,
+  Sum: SumAggregator
 }
-});
-
+  }
+}
+  });
+
+
+  /***
+   * A sample Model implementation.
+   * Provides a filtered view of the underlying data.
+   *
+   * Relies on the data item having an id property uniquely identifying it.
+   */
+  function DataView(options) {
+var self = this;
+
+var defaults = {
+  groupItemMetadataProvider: null,
+  inlineFilters: false
+};
+
+
+// private
+var idProperty = id;  // property holding a unique row id
+var items = []; // data by index
+var rows = [];  // data by row
+var idxById = {};   // indexes by id
+var rowsById = null;// rows by id; lazy-calculated
+var filter = null;  // filter function
+var updated = null; // updated item ids
+var suspend = false;// suspends the recalculation
+var sortAsc = true;
+var fastSortField;
+var sortComparer;
+var refreshHints = {};
+var prevRefreshHints = {};
+var filterArgs;
+var filteredItems = [];
+var compiledFilter;
+var compiledFilterWithCaching;
+var filterCache = [];
+
+// grouping
+var groupingInfoDefaults = {
+  getter: null,
+  formatter: null,
+  comparer: function(a, b) { return a.value - b.value; },
+  predefinedValues: [],
+  aggregators: [],
+  aggregateEmpty: false,
+  aggregateCollapsed: false,
+  aggregateChildGroups: false,
+  collapsed: false,
+  displayTotalsRow: true,
+  lazyTotalsCalculation: false
+};
+var groupingInfos = [];
+var groups = [];
+var toggledGroupsByLevel = [];
+var groupingDelimiter = ':|:';
+
+var pagesize = 0;
+var pagenum = 0;
+var totalRows = 0;
+
+// events
+var onRowCountChanged = new Slick.Event();
+var onRowsChanged = new Slick.Event();
+var onPagingInfoChanged = new Slick.Event();
+
+options = $.extend(true, {}, defaults, options);
+
+
+function beginUpdate() {
+  suspend = true;
+}
+
+function endUpdate() {
+  suspend = false;
+  refresh();
+}
+
+function setRefreshHints(hints) {
+  refreshHints = hints;
+}
+
+function setFilterArgs(args) {
+  filterArgs = args;
+}
+
+function updateIdxById(startingIndex) {
+  startingIndex = startingIndex || 0;
+  var id;
+  for (var i = startingIndex, l = items.length; i  l; i++) {
+id = items[i][idProperty];
+if (id === undefined) {
+  throw Each data element must implement a unique 'id' property;
+}
+idxById[id] = i;
+  }
+}
+
+function ensureIdUniqueness() {
+  var id;
+  for (var i = 0, l = items.length; i  l; i++) {
+id = items[i][idProperty];
+if (id === undefined || idxById[id] !== i) {
+  throw Each data element must implement a unique 'id' property;
+}
+  }
+}
+
+function getItems() {
+  return items;
+}
+
+function setItems(data, objectIdProperty) {
+  if (objectIdProperty !== undefined) {
+idProperty = objectIdProperty;
+  }
+  items = filteredItems = data;
+  idxById = {};
+  updateIdxById();
+  ensureIdUniqueness();
+  refresh();
+}
+
+function setPagingOptions(args) {
+  if (args.pageSize != undefined) {
+pagesize = args.pageSize;
+pagenum = pagesize ? Math.min(pagenum, Math.max(0, Math.ceil(totalRows 
/ pagesize) - 1)) : 0;
+  }
+
+  if (args.pageNum != undefined) {
+pagenum = Math.min(args.pageNum, Math.max(0, Math.ceil(totalRows / 
pagesize) - 1));
+  }
+
+  onPagingInfoChanged.notify(getPagingInfo(), 

[10/17] incubator-nifi git commit: NIFI-27: - Latest version of D3.

2014-12-10 Thread mcgilman
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/8a0e2cee/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/js/nf/nf-status-history.js
--
diff --git 
a/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/js/nf/nf-status-history.js
 
b/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/js/nf/nf-status-history.js
index f570082..178207e 100644
--- 
a/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/js/nf/nf-status-history.js
+++ 
b/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/js/nf/nf-status-history.js
@@ -60,13 +60,6 @@ nf.StatusHistory = (function () {
 };
 
 /**
- * version 3.4+ of D3 provides a mechanism for specifying
- * a number of custom formatters. this achieves similar function
- * until we're able to upgrade.
- */
-var timeFormats = null;
-
-/**
  * The time offset of the server.
  */
 var serverTimeOffset = null;
@@ -373,26 +366,21 @@ nf.StatusHistory = (function () {
 visible: instances[instance.id] === true
 });
 });
-
+
 // --
 // custom time axis formatter
 // --
 
-// create the formatting function
-var customTimeFormat = function (d) {
-var formatter;
-
-// identify the most appropriate formatter for this date
-$.each(timeFormats, function (_, timeFormat) {
-if (timeFormat[1](d)) {
-formatter = timeFormat;
-return false;
-}
-});
-
-// return the formatter date
-return formatter[0](d);
-};
+var customTimeFormat = d3.time.format.multi([
+[':%S.%L', function (d) { return d.getMilliseconds(); }], 
+[':%S', function (d) { return d.getSeconds(); }],
+['%H:%M', function (d) { return d.getMinutes(); }],
+['%H:%M', function (d) { return d.getHours(); }],
+['%a %d', function (d) { return d.getDay()  d.getDate() !== 1; 
}],
+['%b %d', function (d) { return d.getDate() !== 1; }],
+['%B', function (d) { return d.getMonth(); }],
+['%Y', function () { return true; }]
+]);
 
 // --
 // main chart
@@ -1136,34 +1124,6 @@ nf.StatusHistory = (function () {
 init: function (timeOffset) {
 serverTimeOffset = timeOffset;
 
-// initialize the time formats
-timeFormats = [
-[d3.time.format(':%S.%L'), function (d) {
-return d.getMilliseconds();
-}],
-[d3.time.format(':%S'), function (d) {
-return d.getSeconds();
-}],
-[d3.time.format('%H:%M'), function (d) {
-return d.getMinutes();
-}],
-[d3.time.format('%H:%M'), function (d) {
-return d.getHours();
-}],
-[d3.time.format('%a %d'), function (d) {
-return d.getDay()  d.getDate() !== 1;
-}],
-[d3.time.format('%b %d'), function (d) {
-return d.getDate() !== 1;
-}],
-[d3.time.format('%B'), function (d) {
-return d.getMonth();
-}],
-[d3.time.format('%Y'), function () {
-return true;
-}]
-];
-
 nf.Common.addHoverEffect('#status-history-refresh-button', 
'button-refresh', 'button-refresh-hover').click(function () {
 var statusHistory = 
$('#status-history-dialog').data('status-history');
 if (statusHistory !== null) {