Search code examples
grailsgrails-controller

help with oauthService and linkedin


I am trying to iterate over a list of parameters, in a grails controller. when I have a list, longer than one element, like this:

     [D4L2DYJlSw, 8OXQWKDDvX]

the following code works fine:

def recipientId = params.email
recipientId.each { test->
     System.print(test + "\n")  
}

The output being:

  A4L2DYJlSw
  8OXQWKDDvX

But, if the list only has one item, the output is not the only item, but each letter in the list. for example, if my params list is :

 A4L2DYJlSwD

using the same code as above, the output becomes:

 A
 4
 L
 2
 D
 Y
 J
 l
 S
 w

can anyone tell me what's going on and what I am doing wrong?

thanks

jason


Solution

  • I run at the same problem a while ago! My solution for that it was

    def gameId = params.gameId
    def selectedGameList = gameId.class.isArray() ? Game.getAll(gameId as List) : Game.get(gameId);
    

    because in my case I was getting 1 or more game Ids as parameters!

    What you can do is the same:

    def recipientId = params.email
    if(recipientId.class.isArray()){
     // smtg
    }else{
      // smtg
    }
    

    Because what is happening here is, as soon as you call '.each' groovy transform that object in a list! and 'String AS LIST' in groovy means char_array of that string!