You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by ni...@apache.org on 2020/02/06 07:33:49 UTC

[kylin] 10/12: KYLIN-3842: fix partial match regression in the kylinProperties.js

This is an automated email from the ASF dual-hosted git repository.

nic pushed a commit to branch 2.6.x
in repository https://gitbox.apache.org/repos/asf/kylin.git

commit 0467a1908081180b2b019b03d84febf8b2dbcb00
Author: zettics <ze...@rack2-41.zettics.com>
AuthorDate: Tue Apr 23 17:45:13 2019 -0400

    KYLIN-3842: fix partial match regression in the kylinProperties.js
---
 webapp/app/js/services/kylinProperties.js | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/webapp/app/js/services/kylinProperties.js b/webapp/app/js/services/kylinProperties.js
index 3c7a66f..a6735f1 100644
--- a/webapp/app/js/services/kylinProperties.js
+++ b/webapp/app/js/services/kylinProperties.js
@@ -33,16 +33,22 @@ KylinApp.service('kylinConfig', function (AdminService, $log) {
   this.getProperty = function (name) {
     if(angular.isUndefined(name)
         || name.length === 0
-        || angular.isUndefined(_config)){
+        || angular.isUndefined(_config)
+        || _config.length === 0){
       return '';
     }
-    var keyIndex = _config.indexOf(name + '=');
-    var keyLength = name.length;
-    var partialResult = _config.substr(keyIndex);
-    var preValueIndex = partialResult.indexOf("=");
-    var sufValueIndex = partialResult.indexOf("\n", 2);
-    return partialResult.substring(preValueIndex + 1, sufValueIndex);
-
+    var nameAugmented = name + '=';
+    var keyIndex = 0;
+    if(_config.substr(0, nameAugmented.length) !== nameAugmented){
+       nameAugmented = "\n" + nameAugmented;
+       keyIndex = _config.indexOf(nameAugmented);
+       if(keyIndex === -1){
+          return '';
+       }     
+    }
+    var partialResult = _config.substr(keyIndex + nameAugmented.length);
+    var sufValueIndex = partialResult.indexOf("\n");
+    return partialResult.substring(0, sufValueIndex);
   }
 
   this.getTimeZone = function () {