You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by mc...@apache.org on 2015/12/01 17:44:03 UTC
[25/51] [abbrv] nifi git commit: NIFI-655: - Refactoring web security
to use Spring Security Java Configuration. - Introducing security in Web UI
in order to get JWT.
http://git-wip-us.apache.org/repos/asf/nifi/blob/aaf14c45/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/pages/login.jsp
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/pages/login.jsp b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/pages/login.jsp
new file mode 100644
index 0000000..978d019
--- /dev/null
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/pages/login.jsp
@@ -0,0 +1,54 @@
+<%--
+ 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.
+--%>
+<%@ page contentType="text/html" pageEncoding="UTF-8" session="false" %>
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>NiFi Login</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <link rel="shortcut icon" href="images/nifi16.ico"/>
+ <link rel="stylesheet" href="css/reset.css" type="text/css" />
+ ${nf.login.style.tags}
+ <link rel="stylesheet" href="js/jquery/modal/jquery.modal.css?${project.version}" type="text/css" />
+ <link rel="stylesheet" href="js/jquery/qtip2/jquery.qtip.min.css?" type="text/css" />
+ <link rel="stylesheet" href="js/jquery/ui-smoothness/jquery-ui-1.10.4.min.css" type="text/css" />
+ <script type="text/javascript" src="js/jquery/jquery-2.1.1.min.js"></script>
+ <script type="text/javascript" src="js/jquery/jquery.base64.js"></script>
+ <script type="text/javascript" src="js/jquery/jquery.count.js"></script>
+ <script type="text/javascript" src="js/jquery/jquery.center.js"></script>
+ <script type="text/javascript" src="js/jquery/modal/jquery.modal.js?${project.version}"></script>
+ <script type="text/javascript" src="js/jquery/qtip2/jquery.qtip.min.js"></script>
+ <script type="text/javascript" src="js/jquery/ui-smoothness/jquery-ui-1.10.4.min.js"></script>
+ <script type="text/javascript" src="js/nf/nf-namespace.js?${project.version}"></script>
+ ${nf.login.script.tags}
+ </head>
+ <body class="login-body">
+ <div id="user-logout-container" class="hidden">
+ <span id="user-logout" class="link">logout</span>
+ </div>
+ <div id="login-contents-container">
+ <jsp:include page="/WEB-INF/partials/login/login-message.jsp"/>
+ <jsp:include page="/WEB-INF/partials/login/login-form.jsp"/>
+ <jsp:include page="/WEB-INF/partials/login/nifi-registration-form.jsp"/>
+ <jsp:include page="/WEB-INF/partials/login/login-submission.jsp"/>
+ <jsp:include page="/WEB-INF/partials/login/login-progress.jsp"/>
+ </div>
+ <jsp:include page="/WEB-INF/partials/ok-dialog.jsp"/>
+ <div id="faded-background"></div>
+ <div id="glass-pane"></div>
+ </body>
+</html>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/nifi/blob/aaf14c45/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/pages/message-page.jsp
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/pages/message-page.jsp b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/pages/message-page.jsp
index 796877f..b0ba026 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/pages/message-page.jsp
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/pages/message-page.jsp
@@ -27,8 +27,8 @@
<body class="message-pane">
<div class="message-pane-message-box">
- <p class="message-pane-title"><%= request.getAttribute("title") == null ? "" : org.apache.nifi.util.EscapeUtils.escapeHtml(request.getAttribute("title").toString()) %></p>
- <p class="message-pane-content"><%= request.getAttribute("messages") == null ? "" : org.apache.nifi.util.EscapeUtils.escapeHtml(request.getAttribute("messages").toString()) %></p>
+ <div class="message-pane-title"><%= request.getAttribute("title") == null ? "" : org.apache.nifi.util.EscapeUtils.escapeHtml(request.getAttribute("title").toString()) %></div>
+ <div class="message-pane-content"><%= request.getAttribute("messages") == null ? "" : org.apache.nifi.util.EscapeUtils.escapeHtml(request.getAttribute("messages").toString()) %></div>
</div>
</body>
</html>
http://git-wip-us.apache.org/repos/asf/nifi/blob/aaf14c45/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/pages/provenance.jsp
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/pages/provenance.jsp b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/pages/provenance.jsp
index e02a7cd..496bfd1 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/pages/provenance.jsp
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/pages/provenance.jsp
@@ -31,6 +31,7 @@
<link rel="stylesheet" href="js/jquery/slickgrid/css/slick.grid.css" type="text/css" />
<link rel="stylesheet" href="js/jquery/slickgrid/css/slick-default-theme.css" type="text/css" />
<script type="text/javascript" src="js/jquery/jquery-2.1.1.min.js"></script>
+ <script type="text/javascript" src="js/jquery/jquery.base64.js"></script>
<script type="text/javascript" src="js/jquery/jquery.center.js"></script>
<script type="text/javascript" src="js/jquery/modal/jquery.modal.js?${project.version}"></script>
<script type="text/javascript" src="js/jquery/tabbs/jquery.tabbs.js?${project.version}"></script>
http://git-wip-us.apache.org/repos/asf/nifi/blob/aaf14c45/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/pages/summary.jsp
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/pages/summary.jsp b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/pages/summary.jsp
index e6f3305..45dff93 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/pages/summary.jsp
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/pages/summary.jsp
@@ -38,6 +38,7 @@
<script type="text/javascript" src="js/codemirror/lib/codemirror-compressed.js"></script>
<script type="text/javascript" src="js/jquery/jquery-2.1.1.min.js"></script>
<script type="text/javascript" src="js/jquery/ui-smoothness/jquery-ui-1.10.4.min.js"></script>
+ <script type="text/javascript" src="js/jquery/jquery.base64.js"></script>
<script type="text/javascript" src="js/jquery/jquery.center.js"></script>
<script type="text/javascript" src="js/jquery/tabbs/jquery.tabbs.js?${project.version}"></script>
<script type="text/javascript" src="js/jquery/combo/jquery.combo.js?${project.version}"></script>
http://git-wip-us.apache.org/repos/asf/nifi/blob/aaf14c45/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/pages/templates.jsp
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/pages/templates.jsp b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/pages/templates.jsp
index 126c388..452064d 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/pages/templates.jsp
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/pages/templates.jsp
@@ -30,6 +30,7 @@
<link rel="stylesheet" href="js/jquery/slickgrid/css/slick.grid.css" type="text/css" />
<link rel="stylesheet" href="js/jquery/slickgrid/css/slick-default-theme.css" type="text/css" />
<script type="text/javascript" src="js/jquery/jquery-2.1.1.min.js"></script>
+ <script type="text/javascript" src="js/jquery/jquery.base64.js"></script>
<script type="text/javascript" src="js/jquery/jquery.center.js"></script>
<script type="text/javascript" src="js/jquery/jquery.form.min.js"></script>
<script type="text/javascript" src="js/jquery/combo/jquery.combo.js?${project.version}"></script>
http://git-wip-us.apache.org/repos/asf/nifi/blob/aaf14c45/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/pages/users.jsp
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/pages/users.jsp b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/pages/users.jsp
index a5f422c..b3e0968 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/pages/users.jsp
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/pages/users.jsp
@@ -31,6 +31,7 @@
<link rel="stylesheet" href="js/jquery/slickgrid/css/slick.grid.css" type="text/css" />
<link rel="stylesheet" href="js/jquery/slickgrid/css/slick-default-theme.css" type="text/css" />
<script type="text/javascript" src="js/jquery/jquery-2.1.1.min.js"></script>
+ <script type="text/javascript" src="js/jquery/jquery.base64.js"></script>
<script type="text/javascript" src="js/jquery/jquery.center.js"></script>
<script type="text/javascript" src="js/jquery/tabbs/jquery.tabbs.js?${project.version}"></script>
<script type="text/javascript" src="js/jquery/combo/jquery.combo.js?${project.version}"></script>
http://git-wip-us.apache.org/repos/asf/nifi/blob/aaf14c45/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/canvas/canvas-header.jsp
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/canvas/canvas-header.jsp b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/canvas/canvas-header.jsp
index f312327..2ea7ca6 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/canvas/canvas-header.jsp
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/canvas/canvas-header.jsp
@@ -44,6 +44,17 @@
</div>
<div id="header-links-container">
<ul>
+ <li id="current-user-container">
+ <div id="anonymous-user-alert" class="hidden"></div>
+ <div id="current-user"></div>
+ <div class="clear"></div>
+ </li>
+ <li id="login-link-container">
+ <span id="login-link" class="link">login</span>
+ </li>
+ <li id="logout-link-container" style="display: none;">
+ <span id="logout-link" class="link">logout</span>
+ </li>
<li>
<span id="help-link" class="link">help</span>
</li>
http://git-wip-us.apache.org/repos/asf/nifi/blob/aaf14c45/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/canvas/registration.jsp
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/canvas/registration.jsp b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/canvas/registration.jsp
deleted file mode 100644
index 56b3236..0000000
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/canvas/registration.jsp
+++ /dev/null
@@ -1,44 +0,0 @@
-<%--
- 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.
---%>
-<%@ page contentType="text/html" pageEncoding="UTF-8" session="false" %>
-<div id="registration-pane" class="message-pane hidden">
- <div class="message-pane-message-box">
- <p id="register-title" class="message-pane-title">You are not authorized to access this data flow</p>
- <p id="register-content" class="message-pane-content">
- <div>
- <div id="expand-registration-button" class="collapsed pointer"></div>
- <span id="expand-registration-text" class="link">Request Access</span>
- </div>
- <div id="registration-form" class="settings hidden">
- <div class="setting">
- <div class="setting-name">Justification</div>
- <div class="setting-field">
- <textarea cols="30" rows="4" id="registration-justification" maxlength="500" name="registration-justification" class="setting-input"></textarea>
- </div>
- <div style="text-align: right; color: #666; margin-top: 2px;">
- <span id="remaining-characters"></span> characters remaining
- </div>
- <div class="clear"></div>
- </div>
- <div>
- <div id="registration-form-submit" class="button">Submit</div>
- <div class="clear"></div>
- </div>
- </div>
- </p>
- </div>
-</div>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/nifi/blob/aaf14c45/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/login/login-form.jsp
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/login/login-form.jsp b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/login/login-form.jsp
new file mode 100644
index 0000000..f8f06f3
--- /dev/null
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/login/login-form.jsp
@@ -0,0 +1,32 @@
+<%--
+ 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.
+--%>
+<%@ page contentType="text/html" pageEncoding="UTF-8" session="false" %>
+<div id="login-container" class="hidden">
+ <div class="login-title">Log In</div>
+ <div class="setting">
+ <div class="setting-name">Username</div>
+ <div class="setting-field">
+ <input type="text" id="username"/>
+ </div>
+ </div>
+ <div class="setting">
+ <div class="setting-name">Password</div>
+ <div class="setting-field">
+ <input type="password" id="password"/>
+ </div>
+ </div>
+</div>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/nifi/blob/aaf14c45/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/login/login-message.jsp
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/login/login-message.jsp b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/login/login-message.jsp
new file mode 100644
index 0000000..053af81
--- /dev/null
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/login/login-message.jsp
@@ -0,0 +1,21 @@
+<%--
+ 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.
+--%>
+<%@ page contentType="text/html" pageEncoding="UTF-8" session="false" %>
+<div id="login-message-container" class="hidden">
+ <div id="login-message-title"></div>
+ <div id="login-message"></div>
+</div>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/nifi/blob/aaf14c45/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/login/login-progress.jsp
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/login/login-progress.jsp b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/login/login-progress.jsp
new file mode 100644
index 0000000..6b08e54
--- /dev/null
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/login/login-progress.jsp
@@ -0,0 +1,22 @@
+<%--
+ 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.
+--%>
+<%@ page contentType="text/html" pageEncoding="UTF-8" session="false" %>
+<div id="login-progress-container" class="login-container hidden">
+ <div id="login-progress-spinner" class="loading-container"></div>
+ <div id="login-progress-label"></div>
+ <div class="clear"></div>
+</div>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/nifi/blob/aaf14c45/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/login/login-submission.jsp
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/login/login-submission.jsp b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/login/login-submission.jsp
new file mode 100644
index 0000000..508ead3
--- /dev/null
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/login/login-submission.jsp
@@ -0,0 +1,20 @@
+<%--
+ 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.
+--%>
+<%@ page contentType="text/html" pageEncoding="UTF-8" session="false" %>
+<div id="login-submission-container" class="login-container hidden">
+ <div id="login-submission-button" class="button">Log in</div>
+</div>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/nifi/blob/aaf14c45/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/login/nifi-registration-form.jsp
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/login/nifi-registration-form.jsp b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/login/nifi-registration-form.jsp
new file mode 100644
index 0000000..3806bd5
--- /dev/null
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/login/nifi-registration-form.jsp
@@ -0,0 +1,38 @@
+<%--
+ 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.
+--%>
+<%@ page contentType="text/html" pageEncoding="UTF-8" session="false" %>
+<div id="nifi-registration-container" class="login-container hidden">
+ <div id="nifi-registration-title" class="login-title nifi-submit-justification">Submit Justification</div>
+ <div id="nifi-user-submit-justification-container" class="nifi-submit-justification">
+ <div class="setting">
+ <div class="setting-name">User</div>
+ <div class="setting-field">
+ <div id="nifi-user-submit-justification"></div>
+ </div>
+ </div>
+ </div>
+ <div class="setting">
+ <div class="setting-name">Justification</div>
+ <div class="setting-field">
+ <textarea cols="30" rows="4" id="nifi-registration-justification" maxlength="500" class="setting-input"></textarea>
+ </div>
+ <div style="text-align: right; color: #666; margin-top: 2px; float: right;">
+ <span id="remaining-characters"></span> characters remaining
+ </div>
+ <div class="clear"></div>
+ </div>
+</div>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/nifi/blob/aaf14c45/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/message-pane.jsp
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/message-pane.jsp b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/message-pane.jsp
index 1bdec3d..db5dece 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/message-pane.jsp
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/message-pane.jsp
@@ -16,8 +16,11 @@
--%>
<%@ page contentType="text/html" pageEncoding="UTF-8" session="false" %>
<div id="message-pane" class="message-pane hidden">
+ <div id="user-logout-container" class="hidden">
+ <span id="user-logout" class="link">logout</span>
+ </div>
<div class="message-pane-message-box">
- <p id="message-title" class="message-pane-title"></p>
- <p id="message-content" class="message-pane-content"></p>
+ <div id="message-title" class="message-pane-title"></div>
+ <div id="message-content" class="message-pane-content"></div>
</div>
</div>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/nifi/blob/aaf14c45/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/users/user-details-dialog.jsp
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/users/user-details-dialog.jsp b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/users/user-details-dialog.jsp
index 8587be3..8a81882 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/users/user-details-dialog.jsp
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/users/user-details-dialog.jsp
@@ -25,7 +25,7 @@
<div class="clear"></div>
</div>
<div class="setting">
- <div class="setting-name">DN</div>
+ <div class="setting-name">Identity</div>
<div class="setting-field">
<span id="user-dn-details-dialog"></span>
</div>
http://git-wip-us.apache.org/repos/asf/nifi/blob/aaf14c45/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/web.xml b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/web.xml
index d0a5e39..232dbce 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/web.xml
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/web.xml
@@ -17,18 +17,17 @@
<display-name>nifi</display-name>
<!-- servlet to map to canvas page -->
-
<servlet>
<servlet-name>NiFiCanvas</servlet-name>
<jsp-file>/WEB-INF/pages/canvas.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>NiFiCanvas</servlet-name>
+ <!--<url-pattern>/token</url-pattern>-->
<url-pattern>/canvas</url-pattern>
</servlet-mapping>
<!-- servlet to map to summary page -->
-
<servlet>
<servlet-name>NiFiSummary</servlet-name>
<jsp-file>/WEB-INF/pages/summary.jsp</jsp-file>
@@ -39,7 +38,6 @@
</servlet-mapping>
<!-- servlet to map to history page -->
-
<servlet>
<servlet-name>NiFiHistory</servlet-name>
<jsp-file>/WEB-INF/pages/history.jsp</jsp-file>
@@ -50,7 +48,6 @@
</servlet-mapping>
<!-- servlet to map to provenance page -->
-
<servlet>
<servlet-name>NiFiProvenance</servlet-name>
<jsp-file>/WEB-INF/pages/provenance.jsp</jsp-file>
@@ -61,7 +58,6 @@
</servlet-mapping>
<!-- servlet to map to counters page -->
-
<servlet>
<servlet-name>NiFiCounters</servlet-name>
<jsp-file>/WEB-INF/pages/counters.jsp</jsp-file>
@@ -72,7 +68,6 @@
</servlet-mapping>
<!-- servlet to map to templates page -->
-
<servlet>
<servlet-name>NiFiTemplates</servlet-name>
<jsp-file>/WEB-INF/pages/templates.jsp</jsp-file>
@@ -83,7 +78,6 @@
</servlet-mapping>
<!-- servlet to map to users page -->
-
<servlet>
<servlet-name>NiFiUsers</servlet-name>
<jsp-file>/WEB-INF/pages/users.jsp</jsp-file>
@@ -94,7 +88,6 @@
</servlet-mapping>
<!-- servlet to map to cluster page -->
-
<servlet>
<servlet-name>NiFiCluster</servlet-name>
<jsp-file>/WEB-INF/pages/cluster.jsp</jsp-file>
@@ -105,7 +98,6 @@
</servlet-mapping>
<!-- servlet to map to bulletin board page -->
-
<servlet>
<servlet-name>BulletinBoard</servlet-name>
<jsp-file>/WEB-INF/pages/bulletin-board.jsp</jsp-file>
@@ -116,7 +108,6 @@
</servlet-mapping>
<!-- servlet to support message page -->
-
<servlet>
<servlet-name>MessagePage</servlet-name>
<jsp-file>/WEB-INF/pages/message-page.jsp</jsp-file>
@@ -127,7 +118,6 @@
</servlet-mapping>
<!-- servlet to support image downloading -->
-
<servlet>
<servlet-name>DownloadSvg</servlet-name>
<servlet-class>org.apache.nifi.web.servlet.DownloadSvg</servlet-class>
@@ -137,6 +127,16 @@
<url-pattern>/download-svg</url-pattern>
</servlet-mapping>
+ <!-- servlet to login page -->
+ <servlet>
+ <servlet-name>Login</servlet-name>
+ <jsp-file>/WEB-INF/pages/login.jsp</jsp-file>
+ </servlet>
+ <servlet-mapping>
+ <servlet-name>Login</servlet-name>
+ <url-pattern>/login</url-pattern>
+ </servlet-mapping>
+
<filter>
<filter-name>IeEdgeHeader</filter-name>
<filter-class>org.apache.nifi.web.filter.IeEdgeHeader</filter-class>
http://git-wip-us.apache.org/repos/asf/nifi/blob/aaf14c45/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/canvas.css
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/canvas.css b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/canvas.css
index a8866ad..abb5ebd 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/canvas.css
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/canvas.css
@@ -28,7 +28,6 @@
@import url(connection-configuration.css);
@import url(connection-details.css);
@import url(shell.css);
-@import url(registration.css);
@import url(dialog.css);
@import url(new-processor-dialog.css);
@import url(new-controller-service-dialog.css);
http://git-wip-us.apache.org/repos/asf/nifi/blob/aaf14c45/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/header.css
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/header.css b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/header.css
index 0f08b47..49dd3a0 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/header.css
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/header.css
@@ -506,6 +506,24 @@ div.search-glass-pane {
/* styles for the status link */
+#anonymous-user-alert {
+ float: left;
+ margin-top: -2px;
+ margin-right: 6px;
+ width: 18px;
+ height: 16px;
+ background-image: url(../images/iconAlert.png);
+}
+
+#current-user {
+ float: left;
+ margin-right: 8px;
+ font-weight: bold;
+ max-width: 250px;
+ text-overflow: ellipsis;
+ overflow: hidden;
+}
+
#utilities-container {
float: right;
}
http://git-wip-us.apache.org/repos/asf/nifi/blob/aaf14c45/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/login.css
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/login.css b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/login.css
new file mode 100644
index 0000000..68086a7
--- /dev/null
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/login.css
@@ -0,0 +1,95 @@
+/*
+ * 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.
+ */
+
+/*
+ Login Styles
+*/
+
+#login-contents-container {
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ bottom: 0px;
+ right: 0px;
+ background: #fff url(../images/bg-error.png) left top no-repeat;
+ font-family: Verdana, Geneva, sans-serif;
+ padding-top: 100px;
+ padding-left: 100px;
+}
+
+#login-message-title {
+ font-size: 18px;
+ color: #294c58;
+ margin-bottom: 16px;
+}
+
+#login-message {
+ font-size: 11px;
+}
+
+.login-title {
+ font-size: 12px;
+ font-weight: bold;
+ margin-bottom: 10px;
+ color: #000;
+}
+
+/*
+ Login
+*/
+
+body.login-body input, body.login-body textarea {
+ width: 400px;
+}
+
+div.login-container {
+ width: 412px;
+}
+
+/*
+ NiFi Registration
+*/
+
+#nifi-user-submit-justification-container {
+ margin-bottom: 10px;
+}
+
+#nifi-user-submit-justification {
+ font-weight: bold;
+}
+
+#nifi-registration-justification {
+ height: 200px;
+}
+
+/*
+ Login Progress
+*/
+
+#login-progress-label {
+ float: right;
+ font-weight: bold;
+ line-height: 16px;
+}
+
+#login-progress-spinner {
+ float: right;
+ width: 16px;
+ height: 16px;
+ background-color: transparent;
+ margin-left: 3px;
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/nifi/blob/aaf14c45/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/main.css
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/main.css b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/main.css
index 95ee641..deadcd5 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/main.css
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/main.css
@@ -77,6 +77,17 @@ div.context-menu-provenance {
background-position: top left;
}
+#user-logout-container {
+ position: absolute;
+ left: 478px;
+ top: 100px;
+ z-index: 1300;
+}
+
+#user-logout {
+ text-decoration: underline;
+}
+
/*
General Styles
*/
@@ -153,7 +164,7 @@ input.filter-list {
background: transparent url(../images/iconTwistArrow.png) no-repeat scroll top right;
}
-input[type=text], textarea {
+input[type=text], input[type=password], textarea {
background: white url(../images/bgInputText.png) repeat-x scroll top;
border: 1px solid #ccc;
font-family: Verdana;
http://git-wip-us.apache.org/repos/asf/nifi/blob/aaf14c45/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/registration.css
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/registration.css b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/registration.css
deleted file mode 100644
index d4fdc7e..0000000
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/registration.css
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * 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.
- */
-/*
- Registration form styles.
-*/
-
-#registration-pane {
- z-index: 1299;
-}
-
-#registration-form {
- margin-top: 10px;
- width: 610px;
-}
-
-#expand-registration-button {
- width: 10px;
- height: 10px;
- float: left;
- margin-right: 5px;
-}
-
-#expand-registration-text {
- -webkit-user-select: none;
- -moz-user-select: none;
-}
-
-#registration-justification {
- width: 600px;
- height: 200px;
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/nifi/blob/aaf14c45/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/jquery/jquery.base64.js
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/jquery/jquery.base64.js b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/jquery/jquery.base64.js
new file mode 100644
index 0000000..32ceab0
--- /dev/null
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/jquery/jquery.base64.js
@@ -0,0 +1,123 @@
+/*!
+ * jquery.base64.js 0.0.3 - https://github.com/yckart/jquery.base64.js
+ * Makes Base64 en & -decoding simpler as it is.
+ *
+ * Based upon: https://gist.github.com/Yaffle/1284012
+ *
+ * Copyright (c) 2012 Yannick Albert (http://yckart.com)
+ * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php).
+ * 2013/02/10
+ **/
+;(function($) {
+
+ var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
+ a256 = '',
+ r64 = [256],
+ r256 = [256],
+ i = 0;
+
+ var UTF8 = {
+
+ /**
+ * Encode multi-byte Unicode string into utf-8 multiple single-byte characters
+ * (BMP / basic multilingual plane only)
+ *
+ * Chars in range U+0080 - U+07FF are encoded in 2 chars, U+0800 - U+FFFF in 3 chars
+ *
+ * @param {String} strUni Unicode string to be encoded as UTF-8
+ * @returns {String} encoded string
+ */
+ encode: function(strUni) {
+ // use regular expressions & String.replace callback function for better efficiency
+ // than procedural approaches
+ var strUtf = strUni.replace(/[\u0080-\u07ff]/g, // U+0080 - U+07FF => 2 bytes 110yyyyy, 10zzzzzz
+ function(c) {
+ var cc = c.charCodeAt(0);
+ return String.fromCharCode(0xc0 | cc >> 6, 0x80 | cc & 0x3f);
+ })
+ .replace(/[\u0800-\uffff]/g, // U+0800 - U+FFFF => 3 bytes 1110xxxx, 10yyyyyy, 10zzzzzz
+ function(c) {
+ var cc = c.charCodeAt(0);
+ return String.fromCharCode(0xe0 | cc >> 12, 0x80 | cc >> 6 & 0x3F, 0x80 | cc & 0x3f);
+ });
+ return strUtf;
+ },
+
+ /**
+ * Decode utf-8 encoded string back into multi-byte Unicode characters
+ *
+ * @param {String} strUtf UTF-8 string to be decoded back to Unicode
+ * @returns {String} decoded string
+ */
+ decode: function(strUtf) {
+ // note: decode 3-byte chars first as decoded 2-byte strings could appear to be 3-byte char!
+ var strUni = strUtf.replace(/[\u00e0-\u00ef][\u0080-\u00bf][\u0080-\u00bf]/g, // 3-byte chars
+ function(c) { // (note parentheses for precence)
+ var cc = ((c.charCodeAt(0) & 0x0f) << 12) | ((c.charCodeAt(1) & 0x3f) << 6) | (c.charCodeAt(2) & 0x3f);
+ return String.fromCharCode(cc);
+ })
+ .replace(/[\u00c0-\u00df][\u0080-\u00bf]/g, // 2-byte chars
+ function(c) { // (note parentheses for precence)
+ var cc = (c.charCodeAt(0) & 0x1f) << 6 | c.charCodeAt(1) & 0x3f;
+ return String.fromCharCode(cc);
+ });
+ return strUni;
+ }
+ };
+
+ while(i < 256) {
+ var c = String.fromCharCode(i);
+ a256 += c;
+ r256[i] = i;
+ r64[i] = b64.indexOf(c);
+ ++i;
+ }
+
+ function code(s, discard, alpha, beta, w1, w2) {
+ s = String(s);
+ var buffer = 0,
+ i = 0,
+ length = s.length,
+ result = '',
+ bitsInBuffer = 0;
+
+ while(i < length) {
+ var c = s.charCodeAt(i);
+ c = c < 256 ? alpha[c] : -1;
+
+ buffer = (buffer << w1) + c;
+ bitsInBuffer += w1;
+
+ while(bitsInBuffer >= w2) {
+ bitsInBuffer -= w2;
+ var tmp = buffer >> bitsInBuffer;
+ result += beta.charAt(tmp);
+ buffer ^= tmp << bitsInBuffer;
+ }
+ ++i;
+ }
+ if(!discard && bitsInBuffer > 0) result += beta.charAt(buffer << (w2 - bitsInBuffer));
+ return result;
+ }
+
+ var Plugin = $.base64 = function(dir, input, encode) {
+ return input ? Plugin[dir](input, encode) : dir ? null : this;
+ };
+
+ Plugin.btoa = Plugin.encode = function(plain, utf8encode) {
+ plain = Plugin.raw === false || Plugin.utf8encode || utf8encode ? UTF8.encode(plain) : plain;
+ plain = code(plain, false, r256, b64, 8, 6);
+ return plain + '===='.slice((plain.length % 4) || 4);
+ };
+
+ Plugin.atob = Plugin.decode = function(coded, utf8decode) {
+ coded = coded.replace(/[^A-Za-z0-9\+\/\=]/g, "");
+ coded = String(coded).split('=');
+ var i = coded.length;
+ do {--i;
+ coded[i] = code(coded[i], true, r64, a256, 6, 8);
+ } while (i > 0);
+ coded = coded.join('');
+ return Plugin.raw === false || Plugin.utf8decode || utf8decode ? UTF8.decode(coded) : coded;
+ };
+}(jQuery));
http://git-wip-us.apache.org/repos/asf/nifi/blob/aaf14c45/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/bulletin-board/nf-bulletin-board.js
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/bulletin-board/nf-bulletin-board.js b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/bulletin-board/nf-bulletin-board.js
index 656755e..55d0a9d 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/bulletin-board/nf-bulletin-board.js
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/bulletin-board/nf-bulletin-board.js
@@ -417,6 +417,8 @@ nf.BulletinBoard = (function () {
* Initializes the bulletin board page.
*/
init: function () {
+ nf.Storage.init();
+
initializePage().done(function () {
start();
});
http://git-wip-us.apache.org/repos/asf/nifi/blob/aaf14c45/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-canvas-header.js
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-canvas-header.js b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-canvas-header.js
index 5cc1eff..7d63534 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-canvas-header.js
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-canvas-header.js
@@ -31,8 +31,10 @@ nf.CanvasHeader = (function () {
return {
/**
* Initialize the canvas header.
+ *
+ * @argument {boolean} supportsLogin Whether login is supported
*/
- init: function () {
+ init: function (supportsLogin) {
// mouse over for the reporting link
nf.Common.addHoverEffect('#reporting-link', 'reporting-link', 'reporting-link-hover').click(function () {
nf.Shell.showPage('summary');
@@ -139,6 +141,28 @@ nf.CanvasHeader = (function () {
nf.Shell.showPage(config.urls.helpDocument);
});
+ // show the login link if supported and user is currently anonymous
+ var isAnonymous = $('#current-user').text() === nf.Common.ANONYMOUS_USER_TEXT;
+ if (supportsLogin === true && isAnonymous) {
+ // login link
+ $('#login-link').click(function () {
+ nf.Shell.showPage('login', false);
+ });
+ } else {
+ $('#login-link-container').css('display', 'none');
+ }
+
+ // if login is not supported, don't show the current user
+ if (supportsLogin === false) {
+ $('#current-user-container').css('display', 'none');
+ }
+
+ // logout link
+ $('#logout-link').click(function () {
+ nf.Storage.removeItem("jwt");
+ window.location = '/nifi';
+ });
+
// initialize the new template dialog
$('#new-template-dialog').modal({
headerText: 'Create Template',
@@ -154,11 +178,11 @@ nf.CanvasHeader = (function () {
handler: {
click: function () {
var selection = nf.CanvasUtils.getSelection();
-
+
// color the selected components
selection.each(function (d) {
var selected = d3.select(this);
-
+
var revision = nf.Client.getRevision();
var selectedData = selected.datum();
@@ -197,7 +221,7 @@ nf.CanvasHeader = (function () {
});
}
});
-
+
// close the dialog
$('#fill-color-dialog').modal('hide');
}
@@ -238,20 +262,20 @@ nf.CanvasHeader = (function () {
});
}
});
-
+
// updates the color if its a valid hex color string
var updateColor = function () {
var hex = $('#fill-color-value').val();
-
+
// only update the fill color when its a valid hex color string
// #[six hex characters|three hex characters] case insensitive
if (/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(hex)) {
$('#fill-color').minicolors('value', hex);
}
};
-
+
// apply fill color from field on blur and enter press
- $('#fill-color-value').on('blur', updateColor).on('keyup', function(e) {
+ $('#fill-color-value').on('blur', updateColor).on('keyup', function (e) {
var code = e.keyCode ? e.keyCode : e.which;
if (code === $.ui.keyCode.ENTER) {
updateColor();
@@ -310,23 +334,22 @@ nf.CanvasHeader = (function () {
}
}
});
-
+
var toolbar = $('#toolbar');
var groupButton = $('#action-group');
- $(window).on('resize', function() {
+ $(window).on('resize', function () {
if (toolbar.width() < MIN_TOOLBAR_WIDTH && groupButton.is(':visible')) {
toolbar.find('.secondary').hide();
} else if (toolbar.width() > MIN_TOOLBAR_WIDTH && groupButton.is(':hidden')) {
toolbar.find('.secondary').show();
}
});
-
+
// set up the initial visibility
if (toolbar.width() < MIN_TOOLBAR_WIDTH) {
toolbar.find('.secondary').hide();
}
},
-
/**
* Reloads and clears any warnings.
*/
@@ -341,7 +364,7 @@ nf.CanvasHeader = (function () {
// hide the refresh link on the canvas
$('#stats-last-refreshed').removeClass('alert');
$('#refresh-required-container').hide();
-
+
// hide the refresh link on the settings
$('#settings-last-refreshed').removeClass('alert');
$('#settings-refresh-required-icon').hide();
http://git-wip-us.apache.org/repos/asf/nifi/blob/aaf14c45/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-canvas.js
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-canvas.js b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-canvas.js
index 7137fe4..c9498fe 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-canvas.js
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-canvas.js
@@ -57,6 +57,7 @@ nf.Canvas = (function () {
var config = {
urls: {
+ identity: '../nifi-api/controller/identity',
authorities: '../nifi-api/controller/authorities',
revision: '../nifi-api/controller/revision',
status: '../nifi-api/controller/status',
@@ -64,6 +65,7 @@ nf.Canvas = (function () {
banners: '../nifi-api/controller/banners',
controller: '../nifi-api/controller',
controllerConfig: '../nifi-api/controller/config',
+ accessConfig: '../nifi-api/access/config',
cluster: '../nifi-api/cluster',
d3Script: 'js/d3/d3.min.js'
}
@@ -1018,122 +1020,166 @@ nf.Canvas = (function () {
* Initialize NiFi.
*/
init: function () {
- // init the registration form before performing the first query since
- // the response could lead to a registration attempt
- nf.Registration.init();
+ // get the current user's identity
+ var identityXhr = $.ajax({
+ type: 'GET',
+ url: config.urls.identity,
+ dataType: 'json'
+ });
- // get the controller config to register the status poller
- var configXhr = $.ajax({
+ // get the current user's authorities
+ var authoritiesXhr = $.ajax({
type: 'GET',
- url: config.urls.controllerConfig,
+ url: config.urls.authorities,
dataType: 'json'
});
- // create the deferred cluster request
- var isClusteredRequest = $.Deferred(function (deferred) {
- $.ajax({
- type: 'HEAD',
- url: config.urls.cluster
- }).done(function (response, status, xhr) {
- clustered = true;
- deferred.resolve(response, status, xhr);
+ // load the identity and authorities for the current user
+ var userXhr = $.Deferred(function (deferred) {
+ $.when(authoritiesXhr, identityXhr).done(function (authoritiesResult, identityResult) {
+ var authoritiesResponse = authoritiesResult[0];
+ var identityResponse = identityResult[0];
+
+ // set the user's authorities
+ nf.Common.setAuthorities(authoritiesResponse.authorities);
+
+ // at this point the user may be themselves or anonymous
+
+ // if the user is logged, we want to determine if they were logged in using a certificate
+ if (identityResponse.identity !== 'anonymous') {
+ // rendner the users name
+ $('#current-user').text(identityResponse.identity).show();
+
+ // render the logout button if there is a token locally
+ if (nf.Storage.getItem('jwt') !== null) {
+ $('#logout-link-container').show();
+ }
+ } else {
+ // set the anonymous user label
+ nf.Common.setAnonymousUserLabel();
+ }
+ deferred.resolve();
}).fail(function (xhr, status, error) {
- if (xhr.status === 404) {
- clustered = false;
- deferred.resolve('', 'success', xhr);
+ // there is no anonymous access and we don't know this user - open the login page which handles login/registration/etc
+ if (xhr.status === 401 || xhr.status === 403) {
+ window.location = '/nifi/login';
} else {
deferred.reject(xhr, status, error);
}
});
}).promise();
- // load the authorities
- var authoritiesXhr = $.ajax({
- type: 'GET',
- url: config.urls.authorities,
- dataType: 'json'
- });
+ userXhr.done(function () {
+ // get the controller config to register the status poller
+ var configXhr = $.ajax({
+ type: 'GET',
+ url: config.urls.controllerConfig,
+ dataType: 'json'
+ });
- // ensure the authorities and config request is processed first
- $.when(authoritiesXhr, configXhr).done(function (authoritiesResult, configResult) {
- var authoritiesResponse = authoritiesResult[0];
- var configResponse = configResult[0];
+ // get the login config
+ var loginXhr = $.ajax({
+ type: 'GET',
+ url: config.urls.accessConfig,
+ dataType: 'json'
+ });
- // set the user's authorities
- nf.Common.setAuthorities(authoritiesResponse.authorities);
+ // create the deferred cluster request
+ var isClusteredRequest = $.Deferred(function (deferred) {
+ $.ajax({
+ type: 'HEAD',
+ url: config.urls.cluster
+ }).done(function (response, status, xhr) {
+ clustered = true;
+ deferred.resolve(response, status, xhr);
+ }).fail(function (xhr, status, error) {
+ if (xhr.status === 404) {
+ clustered = false;
+ deferred.resolve('', 'success', xhr);
+ } else {
+ deferred.reject(xhr, status, error);
+ }
+ });
+ }).promise();
- // calculate the canvas offset
- var canvasContainer = $('#canvas-container');
- nf.Canvas.CANVAS_OFFSET = canvasContainer.offset().top;
-
- // get the config details
- var configDetails = configResponse.config;
-
- // when both request complete, load the application
- isClusteredRequest.done(function () {
- // get the auto refresh interval
- var autoRefreshIntervalSeconds = parseInt(configDetails.autoRefreshIntervalSeconds, 10);
-
- // initialize whether site to site is secure
- secureSiteToSite = configDetails.siteToSiteSecure;
-
- // load d3
- loadD3().done(function () {
- nf.Storage.init();
-
- // initialize the application
- initCanvas();
- nf.Canvas.View.init();
- nf.ContextMenu.init();
- nf.CanvasToolbar.init();
- nf.CanvasToolbox.init();
- nf.CanvasHeader.init();
- nf.GraphControl.init();
- nf.Search.init();
- nf.Settings.init();
- nf.Actions.init();
-
- // initialize the component behaviors
- nf.Draggable.init();
- nf.Selectable.init();
- nf.Connectable.init();
-
- // initialize the chart
- nf.StatusHistory.init(configDetails.timeOffset);
-
- // initialize the birdseye
- nf.Birdseye.init();
-
- // initialize components
- nf.ConnectionConfiguration.init();
- nf.ControllerService.init();
- nf.ReportingTask.init();
- nf.ProcessorConfiguration.init();
- nf.ProcessGroupConfiguration.init();
- nf.RemoteProcessGroupConfiguration.init();
- nf.RemoteProcessGroupPorts.init();
- nf.PortConfiguration.init();
- nf.SecurePortConfiguration.init();
- nf.LabelConfiguration.init();
- nf.ProcessorDetails.init();
- nf.ProcessGroupDetails.init();
- nf.PortDetails.init();
- nf.SecurePortDetails.init();
- nf.ConnectionDetails.init();
- nf.RemoteProcessGroupDetails.init();
- nf.GoTo.init();
- nf.Graph.init().done(function () {
- // determine the split between the polling
- var pollingSplit = autoRefreshIntervalSeconds / 2;
-
- // register the revision and status polling
- startRevisionPolling(autoRefreshIntervalSeconds);
- setTimeout(function () {
- startStatusPolling(autoRefreshIntervalSeconds);
- }, pollingSplit * 1000);
-
- // hide the splash screen
- nf.Canvas.hideSplash();
+ // ensure the config requests are loaded
+ $.when(configXhr, loginXhr, userXhr).done(function (configResult, loginResult) {
+ var configResponse = configResult[0];
+ var loginResponse = loginResult[0];
+
+ // calculate the canvas offset
+ var canvasContainer = $('#canvas-container');
+ nf.Canvas.CANVAS_OFFSET = canvasContainer.offset().top;
+
+ // get the config details
+ var configDetails = configResponse.config;
+ var loginDetails = loginResponse.config;
+
+ // when both request complete, load the application
+ isClusteredRequest.done(function () {
+ // get the auto refresh interval
+ var autoRefreshIntervalSeconds = parseInt(configDetails.autoRefreshIntervalSeconds, 10);
+
+ // initialize whether site to site is secure
+ secureSiteToSite = configDetails.siteToSiteSecure;
+
+ // load d3
+ loadD3().done(function () {
+ nf.Storage.init();
+
+ // initialize the application
+ initCanvas();
+ nf.Canvas.View.init();
+ nf.ContextMenu.init();
+ nf.CanvasToolbar.init();
+ nf.CanvasToolbox.init();
+ nf.CanvasHeader.init(loginDetails.supportsLogin);
+ nf.GraphControl.init();
+ nf.Search.init();
+ nf.Settings.init();
+
+ // initialize the component behaviors
+ nf.Draggable.init();
+ nf.Selectable.init();
+ nf.Connectable.init();
+
+ // initialize the chart
+ nf.StatusHistory.init(configDetails.timeOffset);
+
+ // initialize the birdseye
+ nf.Birdseye.init();
+
+ // initialize components
+ nf.ConnectionConfiguration.init();
+ nf.ControllerService.init();
+ nf.ReportingTask.init();
+ nf.ProcessorConfiguration.init();
+ nf.ProcessGroupConfiguration.init();
+ nf.RemoteProcessGroupConfiguration.init();
+ nf.RemoteProcessGroupPorts.init();
+ nf.PortConfiguration.init();
+ nf.SecurePortConfiguration.init();
+ nf.LabelConfiguration.init();
+ nf.ProcessorDetails.init();
+ nf.ProcessGroupDetails.init();
+ nf.PortDetails.init();
+ nf.SecurePortDetails.init();
+ nf.ConnectionDetails.init();
+ nf.RemoteProcessGroupDetails.init();
+ nf.GoTo.init();
+ nf.Graph.init().done(function () {
+ // determine the split between the polling
+ var pollingSplit = autoRefreshIntervalSeconds / 2;
+
+ // register the revision and status polling
+ startRevisionPolling(autoRefreshIntervalSeconds);
+ setTimeout(function () {
+ startStatusPolling(autoRefreshIntervalSeconds);
+ }, pollingSplit * 1000);
+
+ // hide the splash screen
+ nf.Canvas.hideSplash();
+ }).fail(nf.Common.handleAjaxError);
}).fail(nf.Common.handleAjaxError);
}).fail(nf.Common.handleAjaxError);
}).fail(nf.Common.handleAjaxError);
http://git-wip-us.apache.org/repos/asf/nifi/blob/aaf14c45/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-registration.js
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-registration.js b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-registration.js
deleted file mode 100644
index b678e27..0000000
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-registration.js
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * 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.
- */
-
-/* global nf */
-
-nf.Registration = (function () {
-
- var config = {
- urls: {
- users: '../nifi-api/controller/users'
- }
- };
-
- return {
- /**
- * Initializes the user account registration form.
- */
- init: function () {
- $('#registration-justification').count({
- charCountField: '#remaining-characters'
- });
-
- // register a click listener to expand/collapse the registration form
- $('#expand-registration-button, #expand-registration-text').click(function () {
- var registrationForm = $('#registration-form');
- if (registrationForm.is(':visible')) {
- $('#expand-registration-button').removeClass('registration-expanded').addClass('collapsed');
- } else {
- $('#expand-registration-button').removeClass('registration-collapsed').addClass('expanded');
- }
- registrationForm.toggle();
- });
-
- // register a click listener for submitting user account requests
- $('#registration-form-submit').one('click', function () {
- var justification = $('#registration-justification').val();
-
- // attempt to create the user account registration
- $.ajax({
- type: 'POST',
- url: config.urls.users,
- data: {
- 'justification': justification
- }
- }).done(function (response) {
- // hide the registration pane
- $('#registration-pane').hide();
-
- // show the message pane
- $('#message-pane').show();
- $('#message-title').text('Thanks');
- $('#message-content').text('Your request will be processed shortly.');
- }).fail(nf.Common.handleAjaxError);
- });
- }
- };
-}());
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/nifi/blob/aaf14c45/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-storage.js
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-storage.js b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-storage.js
deleted file mode 100644
index 3937970..0000000
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-storage.js
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * 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.
- */
-
-/* global nf, d3 */
-
-nf.Storage = (function () {
-
- // Store items for two days before being eligible for removal.
- var TWO_DAYS = 86400000 * 2;
-
- // alternative to local storage thats used when localStorage isn't available
- var alternativeStorage;
-
- // determine if this browser supports local storage
- var SUPPORTS_LOCAL_STORAGE = (function () {
- var test = 'test';
- try {
- localStorage.setItem(test, test);
- localStorage.removeItem(test);
- return true;
- } catch (e) {
- return false;
- }
- }());
-
- return {
- /**
- * Initializes the storage. When the browser supports localStorage,
- * the items will be persisted for two days. Once the scripts runs
- * thereafter, all eligible items will be removed. If localStorage
- * is not supported, a data structure will be used to hold items.
- * This strategy does not support persistence.
- */
- init: function () {
- // if we support local storage, see if anything can be removed
- if (SUPPORTS_LOCAL_STORAGE) {
- for (var i = 0; i < localStorage.length; i++) {
- try {
- // get the next item
- var key = localStorage.key(i);
- var entry = JSON.parse(localStorage.getItem(key));
-
- // get the expiration
- var expires = new Date(entry.expires);
- var now = new Date();
-
- // if the expiration date has passed, remove it
- if (expires.valueOf() < now.valueOf()) {
- localStorage.removeItem(key);
- }
- } catch (e) {
- // likely unable to parse the item
- }
- }
- } else {
- alternativeStorage = d3.map();
- }
- },
-
- /**
- * Stores the specified item. If supported, will be persisted
- * in localStorage.
- *
- * @param {type} key
- * @param {type} item
- */
- setItem: function (key, item) {
- if (SUPPORTS_LOCAL_STORAGE) {
- // calculate the expiration
- var expires = new Date().valueOf() + TWO_DAYS;
-
- // create the entry
- var entry = {
- expires: expires,
- item: item
- };
-
- // store the item
- localStorage.setItem(key, JSON.stringify(entry));
- } else {
- alternativeStorage.set(key, item);
- }
- },
-
- /**
- * Gets the item with the specified key. If an item with this key does
- * not exist, null is returned. If an item exists but cannot be parsed
- * or is malformed/unrecognized, null is returned.
- *
- * @param {type} key
- */
- getItem: function (key) {
- if (SUPPORTS_LOCAL_STORAGE) {
- try {
- // parse the entry
- var entry = JSON.parse(localStorage.getItem(key));
-
- // ensure the entry and item are present
- if (nf.Common.isDefinedAndNotNull(entry) && nf.Common.isDefinedAndNotNull(entry.item)) {
- return entry.item;
- } else {
- return null;
- }
- } catch (e) {
- return null;
- }
- } else {
- return alternativeStorage.get(key);
- }
- },
-
- /**
- * Removes the item with the specified key.
- *
- * @param {type} key
- */
- removeItem: function (key) {
- if (SUPPORTS_LOCAL_STORAGE) {
- localStorage.removeItem(key);
- } else {
- alternativeStorage.remove(key);
- }
- }
- };
-}());
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/nifi/blob/aaf14c45/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/cluster/nf-cluster.js
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/cluster/nf-cluster.js b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/cluster/nf-cluster.js
index 5f00e2c..1eafa67 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/cluster/nf-cluster.js
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/cluster/nf-cluster.js
@@ -123,6 +123,8 @@ nf.Cluster = (function () {
* Initializes the counters page.
*/
init: function () {
+ nf.Storage.init();
+
// load the users authorities
loadAuthorities().done(function () {
// create the counters table
http://git-wip-us.apache.org/repos/asf/nifi/blob/aaf14c45/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/counters/nf-counters.js
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/counters/nf-counters.js b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/counters/nf-counters.js
index cbfe336..6af3d20 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/counters/nf-counters.js
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/counters/nf-counters.js
@@ -123,6 +123,8 @@ nf.Counters = (function () {
* Initializes the counters page.
*/
init: function () {
+ nf.Storage.init();
+
// load the users authorities
loadAuthorities().done(function () {
// create the counters table
http://git-wip-us.apache.org/repos/asf/nifi/blob/aaf14c45/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/history/nf-history.js
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/history/nf-history.js b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/history/nf-history.js
index 516507c..8f749c0 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/history/nf-history.js
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/history/nf-history.js
@@ -124,6 +124,8 @@ nf.History = (function () {
* Initializes the status page.
*/
init: function () {
+ nf.Storage.init();
+
// load the users authorities
loadAuthorities().done(function () {
// create the history table