Changeset 1596 for trunk/src


Ignore:
Timestamp:
Mar 8, 2011, 11:20:31 AM (10 years ago)
Author:
robert@…
Message:

Solved #344 - retrieving module data is now done using POST

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/groovy/dbnp/query/Search.groovy

    r1590 r1596  
    517517               
    518518                                        if( moduleCriteria && moduleCriteria.size() > 0 ) {
    519                                                 def callUrl = moduleCriteriaUrl( module, entities, moduleCriteria );
     519                                                def callUrl = moduleCriteriaUrl( module );
     520                                                def callArgs = moduleCriteriaArguments( module, entities, moduleCriteria );
    520521                                               
    521522                                                try {
    522                                                         def json = moduleCommunicationService.callModuleRestMethodJSON( module.url, callUrl );
     523                                                        def json = moduleCommunicationService.callModuleMethod( module.url, callUrl, callArgs, "POST" );
    523524                                                        Closure checkClosure = moduleCriterionClosure( json );
    524525                                                        entities = filterEntityList( entities, moduleCriteria, checkClosure );
    525526                                                } catch( Exception e ) {
    526                                                         log.error( "Error while retrieving data from " + module.name + ": " + e.getMessage() )
     527                                                        //log.error( "Error while retrieving data from " + module.name + ": " + e.getMessage() )
     528                                                        e.printStackTrace()
     529                                                        throw e
    527530                                                }
    528531                                        }
     
    541544               
    542545                                        if( moduleCriteria && moduleCriteria.size() > 0 ) {
    543                                                 def callUrl = moduleCriteriaUrl( module, entities, moduleCriteria );
     546                                                def callUrl = moduleCriteriaUrl( module );
     547                                                def callArgs = moduleCriteriaArguments( module, entities, moduleCriteria );
    544548                                               
    545549                                                try {
    546                                                         def json = moduleCommunicationService.callModuleRestMethodJSON( module.url, callUrl );
     550                                                        def json = moduleCommunicationService.callModuleMethod( module.url, callUrl, callArgs, "POST" );
    547551                                                        Closure checkClosure = moduleCriterionClosure( json );
    548552                                                       
     
    551555                                                       
    552556                                                } catch( Exception e ) {
    553                                                         log.error( "Error while retrieving data from " + module.name + ": " + e.getMessage() )
     557                                                        //log.error( "Error while retrieving data from " + module.name + ": " + e.getMessage() )
     558                                                        e.printStackTrace()
     559                                                        throw e
    554560                                                }
    555561                                        }
     
    608614        }
    609615       
    610         protected String moduleCriteriaUrl( module, entities, moduleCriteria ) {
     616        protected String moduleCriteriaUrl( module ) {
     617                def callUrl = module.url + '/rest/getQueryableFieldData'
     618                return callUrl;
     619        }
     620       
     621        protected String moduleCriteriaArguments( module, entities, moduleCriteria ) {
    611622                // Retrieve the data from the module
    612623                def tokens = entities.collect { it.giveUUID() }.unique();
    613624                def fields = moduleCriteria.collect { it.field }.unique();
    614625       
    615                 def callUrl = module.url + '/rest/getQueryableFieldData?entity=' + this.entity
     626                def callUrl = 'entity=' + this.entity
    616627                tokens.sort().each { callUrl += "&tokens=" + it.encodeAsURL() }
    617628                fields.sort().each { callUrl += "&fields=" + it.encodeAsURL() }
Note: See TracChangeset for help on using the changeset viewer.