[Utils] Moving method repackFilter to utils
authorWojciech Kosowicz <w.kosowicz@samsung.com>
Tue, 17 Mar 2015 13:00:24 +0000 (14:00 +0100)
committerRafal Galka <r.galka@samsung.com>
Wed, 18 Mar 2015 07:28:02 +0000 (16:28 +0900)
This method is used by Calendar, Contact, Content when dealing with
filter therefore it was moved to utils

[Verification] Calendar, Contact tct without changes

Change-Id: I58448ee35924531ccfc9e4cbfe1cf6d391c60e27
Signed-off-by: Wojciech Kosowicz <w.kosowicz@samsung.com>
src/calendar/js/calendar.js
src/calendar/js/common.js
src/contact/js/common.js
src/contact/js/contact_manager.js
src/utils/utils_api.js

index 0b185740daa26282ff8d433d46ec441165828f96..f4866405d9fd6fb53c7edb3c01d65ea0c20a55be 100644 (file)
@@ -454,7 +454,7 @@ Calendar.prototype.find = function(successCallback, errorCallback, filter, sortM
       nullable: true
     }
   ]);
-  args.filter = C.repackFilter(args.filter);
+  args.filter = utils_.repackFilter(args.filter);
   var calendarType = this.type;
 
   var callback = function(result) {
index 9892e8aed8ecddb5c1d5152d927146834133e7a8..9a254f76a2aaa6bbf0e9823078296ee4d06e9481 100644 (file)
@@ -3,6 +3,7 @@
 // found in the LICENSE file.
 
 var utils_ = xwalk.utils;
+var dateConverter_ = utils_.dateConverter;
 var type_ = utils_.type;
 var converter_ = utils_.converter;
 var validator_ = utils_.validator;
@@ -24,49 +25,6 @@ EditManager.prototype.disallow = function() {
 
 var _edit = new EditManager();
 
-var DateConverter = function() {};
-
-DateConverter.prototype.toTZDate = function(v, isAllDay) {
-  if (typeof v === 'number') {
-    v = {
-      UTCTimestamp: v
-        };
-    isAllDay = false;
-  }
-
-  if (!(v instanceof Object)) {
-    return v;
-  }
-
-  if (isAllDay) {
-    return new tizen.TZDate(v.year, v.month, v.day,
-        null, null, null, null, v.timezone || null);
-  } else {
-    return new tizen.TZDate(new Date(v.UTCTimestamp * 1000), 'UTC').toLocalTimezone();
-  }
-};
-
-DateConverter.prototype.fromTZDate = function(v) {
-  if (!(v instanceof tizen.TZDate)) {
-    return v;
-  }
-
-  var utc = v.toUTC();
-  var timestamp = new Date(utc.getFullYear(), utc.getMonth(), utc.getDate(), utc.getHours(),
-      utc.getMinutes(), utc.getSeconds()) / 1000;
-
-  return {
-    year: v.getFullYear(),
-    month: v.getMonth(),
-    day: v.getDate(),
-    timezone: v.getTimezone(),
-    UTCTimestamp: timestamp
-  };
-
-};
-
-var _dateConverter = new DateConverter();
-
 var ItemConverter = function() {};
 
 ItemConverter.prototype.toTizenObject = function(item) {
@@ -77,7 +35,7 @@ ItemConverter.prototype.toTizenObject = function(item) {
             prop === 'dueDate' ||
             prop === 'completedDate' ||
             prop === 'lastModificationDate') {
-      tmp[prop] = _dateConverter.toTZDate(item[prop], item.isAllDay);
+      tmp[prop] = dateConverter_.toTZDate(item[prop], item.isAllDay);
     } else {
       tmp[prop] = item[prop];
     }
@@ -88,7 +46,7 @@ ItemConverter.prototype.toTizenObject = function(item) {
   for (var i = 0; i < tmp.alarms.length; i++) {
     alarm = tmp.alarms[i];
     if (alarm.absoluteDate) {
-      time = _dateConverter.toTZDate(alarm.absoluteDate, tmp.isAllDay);
+      time = dateConverter_.toTZDate(alarm.absoluteDate, tmp.isAllDay);
     } else if (alarm.before) {
       time = new tizen.TimeDuration(alarm.before.length, alarm.before.unit);
     }
@@ -112,11 +70,11 @@ ItemConverter.prototype.toTizenObject = function(item) {
   var untilDate;
   var exceptions = [];
   if (tmp.recurrenceRule) {
-    untilDate = _dateConverter.toTZDate(tmp.recurrenceRule.untilDate, tmp.isAllDay);
+    untilDate = dateConverter_.toTZDate(tmp.recurrenceRule.untilDate, tmp.isAllDay);
     tmp.recurrenceRule.untilDate = untilDate;
 
     for (var i = 0; i < tmp.recurrenceRule.exceptions.length; i++) {
-      exceptions.push(_dateConverter.toTZDate(tmp.recurrenceRule.exceptions[i], tmp.isAllDay));
+      exceptions.push(dateConverter_.toTZDate(tmp.recurrenceRule.exceptions[i], tmp.isAllDay));
     }
     tmp.recurrenceRule.exceptions = exceptions;
 
@@ -141,7 +99,7 @@ ItemConverter.prototype.fromTizenObject = function(item) {
   var tmp = {};
   for (var prop in item) {
     if (item[prop] instanceof tizen.TZDate) {
-      tmp[prop] = _dateConverter.fromTZDate(item[prop]);
+      tmp[prop] = dateConverter_.fromTZDate(item[prop]);
     } else if (item[prop] instanceof Array) {
       tmp[prop] = [];
       for (var i = 0, length = item[prop].length; i < length; i++) {
@@ -149,7 +107,7 @@ ItemConverter.prototype.fromTizenObject = function(item) {
           tmp[prop][i] = {};
           for (var p in item[prop][i]) {
             if (item[prop][i][p] instanceof tizen.TZDate) {
-              tmp[prop][i][p] = _dateConverter.fromTZDate(item[prop][i][p]);
+              tmp[prop][i][p] = dateConverter_.fromTZDate(item[prop][i][p]);
             } else {
               tmp[prop][i][p] = item[prop][i][p];
             }
@@ -162,11 +120,11 @@ ItemConverter.prototype.fromTizenObject = function(item) {
       tmp[prop] = {};
       for (var p in item[prop]) {
         if (item[prop][p] instanceof tizen.TZDate) {
-          tmp[prop][p] = _dateConverter.fromTZDate(item[prop][p]);
+          tmp[prop][p] = dateConverter_.fromTZDate(item[prop][p]);
         } else if (item[prop][p] instanceof Array) {
           tmp[prop][p] = [];
           for (var j = 0, l = item[prop][p].length; j < l; j++) {
-            tmp[prop][p].push(_dateConverter.fromTZDate(item[prop][p][j]));
+            tmp[prop][p].push(dateConverter_.fromTZDate(item[prop][p][j]));
           }
         } else {
           tmp[prop][p] = item[prop][p];
@@ -291,43 +249,3 @@ RecurrenceManager.prototype.get = function(event, startDate, endDate) {
 };
 
 var _recurrenceManager = new RecurrenceManager();
-
-//TODO: Can be moved to utils
-var Common = function() {};
-
-Common.prototype.repackFilter = function(filter) {
-  if (filter instanceof tizen.AttributeFilter) {
-    return {
-      filterType: 'AttributeFilter',
-      attributeName: filter.attributeName,
-      matchFlag: filter.matchFlag,
-      matchValue: _dateConverter.fromTZDate(filter.matchValue)
-    };
-  }
-  if (filter instanceof tizen.AttributeRangeFilter) {
-    return {
-      filterType: 'AttributeRangeFilter',
-      attributeName: filter.attributeName,
-      initialValue: _dateConverter.fromTZDate(filter.initialValue),
-      endValue: _dateConverter.fromTZDate(filter.endValue)
-    };
-  }
-  if (filter instanceof tizen.CompositeFilter) {
-    var _f = [];
-    var filters = filter.filters;
-
-    for (var i = 0; i < filters.length; ++i) {
-      _f.push(this.repackFilter(filters[i]));
-    }
-
-    return {
-      filterType: 'CompositeFilter',
-      type: filter.type,
-      filters: _f
-    };
-  }
-
-  return null;
-};
-
-var C = new Common();
index 5db0caf3b0ada66ddb04fcd21e3d207b34b900be..db94a394b229712f497b1cac9e6881d300da0c18 100644 (file)
@@ -150,39 +150,4 @@ Common.prototype.filter = function(arr, filter) {
   return arr;
 };
 
-Common.prototype.repackFilter = function (filter) {
-  if (filter instanceof tizen.AttributeFilter) {
-    return {
-      filterType: 'AttributeFilter',
-      attributeName: filter.attributeName,
-      matchFlag: filter.matchFlag,
-      matchValue: filter.matchValue
-    };
-  }
-  if (filter instanceof tizen.AttributeRangeFilter) {
-    return {
-      filterType: 'AttributeRangeFilter',
-      attributeName: filter.attributeName,
-      initialValue: type_.isNullOrUndefined(filter.initialValue) ? null : filter.initialValue,
-      endValue: type_.isNullOrUndefined(filter.endValue) ? null : filter.endValue
-    };
-  }
-  if (filter instanceof tizen.CompositeFilter) {
-    var _f = [];
-    var filters = filter.filters;
-
-    for (var i = 0; i < filters.length; ++i) {
-      _f.push(this.repackFilter(filters[i]));
-    }
-
-    return {
-      filterType: 'CompositeFilter',
-      type: filter.type,
-      filters: _f
-    };
-  }
-
-  return null;
-};
-
 var C = new Common();
index 639f690774e235060938d0b14e1785b96daa53db..44b7b58367aab95f28e99838f75db5401ce8bcbf 100644 (file)
@@ -365,7 +365,7 @@ ContactManager.prototype.find = function() {
 
   // TODO implement contact filtering/sorting.
   var data = {
-    filter: C.repackFilter(args.filter),
+    filter: utils_.repackFilter(args.filter),
     sortMode: args.sortMode
   };
 
index 36b922503e71629264424c75c7b6ef055d875f63..6f3efe81eeee3886ebe1284759b7fe8749a348d3 100644 (file)
@@ -17,11 +17,86 @@ var signature_to_type = {
   'o': 'object'
 };
 
+var DateConverter = function() {};
 
+DateConverter.prototype.toTZDate = function(v, isAllDay) {
+  if (typeof v === 'number') {
+    v = {
+      UTCTimestamp: v
+        };
+    isAllDay = false;
+  }
+
+  if (!(v instanceof Object)) {
+    return v;
+  }
+
+  if (isAllDay) {
+    return new tizen.TZDate(v.year, v.month, v.day,
+        null, null, null, null, v.timezone || null);
+  } else {
+    return new tizen.TZDate(new Date(v.UTCTimestamp * 1000), 'UTC').toLocalTimezone();
+  }
+};
+
+DateConverter.prototype.fromTZDate = function(v) {
+  if (!(v instanceof tizen.TZDate)) {
+    return v;
+  }
+
+  var utc = v.toUTC();
+  var timestamp = new Date(utc.getFullYear(), utc.getMonth(), utc.getDate(), utc.getHours(),
+      utc.getMinutes(), utc.getSeconds()) / 1000;
+
+  return {
+    year: v.getFullYear(),
+    month: v.getMonth(),
+    day: v.getDate(),
+    timezone: v.getTimezone(),
+    UTCTimestamp: timestamp
+  };
+
+};
+
+var _dateConverter = new DateConverter();
 
 /** @constructor */
 function Utils() {}
 
+Utils.prototype.repackFilter = function(filter) {
+  if (filter instanceof tizen.AttributeFilter) {
+    return {
+      filterType: 'AttributeFilter',
+      attributeName: filter.attributeName,
+      matchFlag: filter.matchFlag,
+      matchValue: _dateConverter.fromTZDate(filter.matchValue)
+    };
+  }
+  if (filter instanceof tizen.AttributeRangeFilter) {
+    return {
+      filterType: 'AttributeRangeFilter',
+      attributeName: filter.attributeName,
+      initialValue: _dateConverter.fromTZDate(filter.initialValue),
+      endValue: _dateConverter.fromTZDate(filter.endValue)
+    };
+  }
+  if (filter instanceof tizen.CompositeFilter) {
+    var _f = [];
+    var filters = filter.filters;
+
+    for (var i = 0; i < filters.length; ++i) {
+      _f.push(this.repackFilter(filters[i]));
+    }
+
+    return {
+      filterType: 'CompositeFilter',
+      type: filter.type,
+      filters: _f
+    };
+  }
+
+  return null;
+};
 
 /**
  * @deprecated You should use xwalk.utils.validator.validateMethod() instead.
@@ -1268,6 +1343,7 @@ scope = scope || {};
 scope.WebAPIException = WebAPIException;
 scope.WebAPIError = WebAPIException;
 
+Utils.prototype.dateConverter = _dateConverter;
 Utils.prototype.type = _type;
 Utils.prototype.converter = _converter;
 Utils.prototype.validator = _validator;