Updated Branches:
  refs/heads/develop ac6f56d50 -> 563f9ca66

logging configuration interface finished (closes MARMOTTA-390)


Project: http://git-wip-us.apache.org/repos/asf/marmotta/repo
Commit: http://git-wip-us.apache.org/repos/asf/marmotta/commit/563f9ca6
Tree: http://git-wip-us.apache.org/repos/asf/marmotta/tree/563f9ca6
Diff: http://git-wip-us.apache.org/repos/asf/marmotta/diff/563f9ca6

Branch: refs/heads/develop
Commit: 563f9ca662b11551be497b5d0348bfd8c6c04780
Parents: ac6f56d
Author: Sebastian Schaffert <[email protected]>
Authored: Fri Nov 29 14:44:41 2013 +0100
Committer: Sebastian Schaffert <[email protected]>
Committed: Fri Nov 29 14:44:41 2013 +0100

----------------------------------------------------------------------
 parent/pom.xml                                  |  7 ++-
 platform/marmotta-core/pom.xml                  |  4 ++
 .../src/main/resources/web/admin/js/logging.js  | 50 ++++++++++++++-
 .../src/main/resources/web/admin/logging.html   | 66 +++++++++++++++-----
 .../src/main/resources/web/admin/update.html    |  2 +-
 5 files changed, 112 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/marmotta/blob/563f9ca6/parent/pom.xml
----------------------------------------------------------------------
diff --git a/parent/pom.xml b/parent/pom.xml
index 033015f..2cd2625 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -914,7 +914,12 @@
             <dependency>
                 <groupId>org.webjars</groupId>
                 <artifactId>jquery-ui</artifactId>
-                <version>1.8.21</version>
+                <version>1.10.3</version>
+            </dependency>
+            <dependency>
+                <groupId>org.webjars</groupId>
+                <artifactId>jquery-ui-themes</artifactId>
+                <version>1.10.3</version>
             </dependency>
             <dependency>
                 <groupId>org.webjars</groupId>

http://git-wip-us.apache.org/repos/asf/marmotta/blob/563f9ca6/platform/marmotta-core/pom.xml
----------------------------------------------------------------------
diff --git a/platform/marmotta-core/pom.xml b/platform/marmotta-core/pom.xml
index 07e8823..d4581b6 100644
--- a/platform/marmotta-core/pom.xml
+++ b/platform/marmotta-core/pom.xml
@@ -317,6 +317,10 @@
         </dependency>
         <dependency>
             <groupId>org.webjars</groupId>
+            <artifactId>jquery-ui</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.webjars</groupId>
             <artifactId>angularjs</artifactId>
         </dependency>
         <dependency>

http://git-wip-us.apache.org/repos/asf/marmotta/blob/563f9ca6/platform/marmotta-core/src/main/resources/web/admin/js/logging.js
----------------------------------------------------------------------
diff --git a/platform/marmotta-core/src/main/resources/web/admin/js/logging.js 
b/platform/marmotta-core/src/main/resources/web/admin/js/logging.js
index 9620d5b..8aa61fd 100644
--- a/platform/marmotta-core/src/main/resources/web/admin/js/logging.js
+++ b/platform/marmotta-core/src/main/resources/web/admin/js/logging.js
@@ -22,11 +22,22 @@
  * Time: 16:54
  * To change this template use File | Settings | File Templates.
  */
+function randomString(len, charSet) {
+    charSet = charSet || 
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
+    var randomString = '';
+    for (var i = 0; i < len; i++) {
+        var randomPoz = Math.floor(Math.random() * charSet.length);
+        randomString += charSet.substring(randomPoz,randomPoz+1);
+    }
+    return randomString;
+}
+
+
 var loggingApp = angular.module('logging', []);
 
 loggingApp.controller('LoggingController', function ($scope, $http) {
     $scope.levels = ['OFF', 'ERROR', 'WARN', 'INFO', 'DEBUG', 'TRACE'];
-
+    $scope.facilities = ['USER', 'DAEMON', 'SYSLOG', 'LOCAL0', 'LOCAL1', 
'LOCAL2', 'LOCAL3', 'LOCAL4', 'LOCAL5', 'LOCAL6', 'LOCAL7']
 
     $http.get(url + 'logging/modules').success(function(data) {
         $scope.modules = data;
@@ -112,4 +123,41 @@ loggingApp.controller('LoggingController', function 
($scope, $http) {
     $scope.needsAppendersSave = false;
 
 
+    /*
+     * model for new appender configurations
+     */
+    $scope.appenderTypes = ['logfile', 'syslog'];
+    $scope.appenderTemplate = {
+        id: '',
+        type: 'logfile',
+        level: 'INFO',
+        pattern: '%d{HH:mm:ss.SSS} %-5level %logger{36} - %msg%n',
+        file: '',
+        keep: '7',
+        host: 'localhost',
+        facility: 'LOCAL0'
+    };
+
+    $scope.appenderNew = {};
+
+
+    $scope.showNewAppender = function() {
+        $scope.appenderNew = angular.copy($scope.appenderTemplate);
+        $scope.appenderNew.id = randomString(8,"abcdefghijklmnopgrstuvwxyz");
+        $("#new-appender-dialog").dialog( "open" );
+
+    };
+
+    $scope.addNewAppender = function() {
+        $scope.appenders.push($scope.appenderNew);
+        $("#new-appender-dialog").dialog( "close" );
+    };
+
+    $scope.cancelNewAppender = function() {
+        $scope.appenderNew = {};
+        $("#new-appender-dialog").dialog( "close" );
+    };
+
+
+
 });
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/marmotta/blob/563f9ca6/platform/marmotta-core/src/main/resources/web/admin/logging.html
----------------------------------------------------------------------
diff --git a/platform/marmotta-core/src/main/resources/web/admin/logging.html 
b/platform/marmotta-core/src/main/resources/web/admin/logging.html
index 577f173..f7d0cde 100644
--- a/platform/marmotta-core/src/main/resources/web/admin/logging.html
+++ b/platform/marmotta-core/src/main/resources/web/admin/logging.html
@@ -21,10 +21,23 @@
 <head>
     <!--###BEGIN_HEAD###-->
     <title>Logging Configuration</title>
+    <link rel="stylesheet" 
href="../../webjars/jquery-ui/1.10.3/themes/base/minified/jquery-ui.min.css"/>
     <script type="text/javascript" 
src="../../webjars/jquery/1.8.2/jquery.min.js"></script>
+    <script type="text/javascript" 
src="../../webjars/jquery-ui/1.10.3/ui/minified/jquery-ui.min.js"></script>
     <script type="text/javascript" 
src="../../webjars/angularjs/1.2.2/angular.min.js"></script>
     <script type="text/javascript">
         var url = _SERVER_URL;
+
+        // initialise dialog
+        $(function() {
+            $("#new-appender-dialog").dialog({
+                autoOpen:  false,
+                resizable: false,
+                height:    300,
+                width:     600,
+                modal:     true
+            })
+        });
     </script>
     <script type="text/javascript" src="js/logging.js"></script>
 
@@ -158,24 +171,12 @@
                     <td class="pattern"><input type="text" 
ng-model="appender.pattern" size="40"/></td>
                     <td class="additional"><input type="text" 
ng-model="appender.host" size="20"/></td>
                     <td class="additional">
-                        <select ng-model="appender.facility">
-                            <option>USER</option>
-                            <option>DAEMON</option>
-                            <option>SYSLOG</option>
-                            <option>LOCAL0</option>
-                            <option>LOCAL1</option>
-                            <option>LOCAL2</option>
-                            <option>LOCAL3</option>
-                            <option>LOCAL4</option>
-                            <option>LOCAL5</option>
-                            <option>LOCAL6</option>
-                            <option>LOCAL7</option>
-                        </select>
+                        <select ng-model="appender.facility" 
ng-options="facility for facility in facilities"></select>
                     </td>
                 </tr>
             </table>
 
-            <div class="save-button"><button ng-click="saveAppenders()" 
ng-disabled="!needsAppendersSave">Save</button> </div>
+            <div class="save-button"><button 
ng-click="showNewAppender()">New</button> <button ng-click="saveAppenders()" 
ng-disabled="!needsAppendersSave">Save</button> </div>
 
 
             <h2>Log Modules</h2>
@@ -205,6 +206,43 @@
 
             <div class="save-button"><button ng-click="saveModules()" 
ng-disabled="!needsModulesSave">Save</button> </div>
 
+
+
+            <div id="new-appender-dialog" title="New Appender">
+                <table>
+                    <tr>
+                        <td><strong>Name:</strong></td><td><input type="text" 
size="40" ng-model="appenderNew.name" required/> </td>
+                    </tr>
+                    <tr>
+                        <td><strong>Type:</strong></td><td><select 
ng-model="appenderNew.type" ng-options="type for type in appenderTypes"/> </td>
+                    </tr>
+                    <tr>
+                        <td><strong>Level:</strong></td><td><select 
ng-model="appenderNew.level" ng-options="level for level in levels"/> </td>
+                    </tr>
+                    <tr>
+                        <td><strong>Pattern:</strong></td><td><input 
type="text" size="40" ng-model="appenderNew.pattern"/> </td>
+                    </tr>
+                    <tr ng-show="appenderNew.type == 'logfile'">
+                        <td><strong>File:</strong></td>
+                        <td><input type="text" size="40" 
ng-model="appenderNew.file" ng-required="appenderNew.type == 'logfile'"/> </td>
+                    </tr>
+                    <tr ng-show="appenderNew.type == 'logfile'">
+                        <td><strong>Keep Days:</strong></td>
+                        <td><input type="number" size="3" 
ng-model="appenderNew.keep" min="0"  ng-required="appenderNew.type == 
'logfile'"/> </td>
+                    </tr>
+                    <tr ng-show="appenderNew.type == 'syslog'">
+                        <td><strong>Host:</strong></td>
+                        <td><input type="text" size="40" 
ng-model="appenderNew.host"  ng-required="appenderNew.type == 'syslog'"/> </td>
+                    </tr>
+                    <tr ng-show="appenderNew.type == 'syslog'">
+                        <td><strong>Facility:</strong></td>
+                        <td><select ng-model="appenderNew.facility" 
ng-options="facility for facility in facilities"  ng-required="appenderNew.type 
== 'syslog'"></select> </td>
+                    </tr>
+
+                </table>
+                <div class="save-button"><button 
ng-click="addNewAppender()">Save</button><button 
ng-click="cancelNewAppender()">Cancel</button></div>
+            </div>
+
         </div>
 
         <!--###END_CONTENT###-->

http://git-wip-us.apache.org/repos/asf/marmotta/blob/563f9ca6/platform/marmotta-sparql/src/main/resources/web/admin/update.html
----------------------------------------------------------------------
diff --git a/platform/marmotta-sparql/src/main/resources/web/admin/update.html 
b/platform/marmotta-sparql/src/main/resources/web/admin/update.html
index 691ad66..f1d2e6e 100644
--- a/platform/marmotta-sparql/src/main/resources/web/admin/update.html
+++ b/platform/marmotta-sparql/src/main/resources/web/admin/update.html
@@ -75,7 +75,7 @@
   </form>
 
 <script type="text/javascript" 
src="../../webjars/jquery/1.8.2/jquery.min.js"></script>
-<script type="text/javascript" 
src="../../webjars/jquery-ui/1.8.21/jquery-ui.min.js"></script>
+<script type="text/javascript" 
src="../../webjars/jquery-ui/1.10.3/jquery-ui.min.js"></script>
 <script type="text/javascript" 
src="../../webjars/codemirror/3.16/codemirror.js"></script>
 
 <script type="text/javascript"> 

Reply via email to