Changeset 9125

Show
Ignore:
Timestamp:
06/15/08 01:23:03 (4 months ago)
Author:
robert.thurnher
Message:

further refines hibernate wrapper list method

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • sandbox/blog-ng_hibernate/app/controllers/blog.js

    r9124 r9125  
    88 
    99function main_action() { 
    10    var articles = db.list('Article', 50, 'createTime'); 
     10   var articles = db.list({ type: 'Article', orderBy: 'createTime' }); 
    1111   var context = { 
    1212      loginLink: function (macrotag, skin) { 
  • sandbox/blog-ng_hibernate/lib/hibernate.js

    r9124 r9125  
    112112            break; 
    113113         case 'list': 
    114             var criteria = sess['createCriteria(java.lang.String)'](params.type); 
     114            var criteria = sess['createCriteria(java.lang.String)'](params.listParams.type); 
    115115            criteria.setCacheable(true); 
    116             if (params.orderBy) { 
    117                var order = (params.order == 'asc') ? org.hibernate.criterion.Order.asc(params.orderBy) : 
    118                                                      org.hibernate.criterion.Order.desc(params.orderBy); 
     116            if (params.listParams.orderBy) { 
     117               var order = (params.listParams.order == 'asc') ? 
     118                           org.hibernate.criterion.Order.asc(params.listParams.orderBy) : 
     119                           org.hibernate.criterion.Order.desc(params.listParams.orderBy); 
    119120               criteria.addOrder(order); 
    120121            } 
    121             criteria.setMaxResults(params.max); 
     122            if (params.listParams.max && (typeof params.listParams.max == 'number')) { 
     123               criteria.setMaxResults(params.listParams.max); 
     124            } 
    122125 
    123126            var result = new ScriptableList(criteria.list()); 
     
    181184   }; 
    182185 
    183    this.list = function (type, max, orderBy, order) { 
    184       try { 
    185          return this.getHibernateTemplate({ method: 'list', type: type, max: max, orderBy: orderBy, order: order }); 
     186   this.list = function (params) { 
     187      try { 
     188         return this.getHibernateTemplate({ method: 'list', listParams: params }); 
    186189      } catch (e) { 
    187190         log.error('in "list": ' + e.toString());