RE: Accessing a key in a java map.

2012-06-04 Thread Lukas, Ray
Sorry.. I was a bit sloppy in naming my variables as I was working (guessing) 
.. it all makes sense.. it is key and not key().. sigh. 

Behind any velocity variable there's a real Java object..  of course!! Sigh.. 

Bingo.. now it makes sense.. so simple.. see what the correct perspective can 
do ..  :)

Thanks so much.. 


-Original Message-
From: Sergiu Dumitriu [mailto:sergiu.dumit...@gmail.com] On Behalf Of Sergiu 
Dumitriu
Sent: Friday, June 01, 2012 5:50 PM
To: Velocity Users List
Subject: Re: Accessing a key in a java map.

On 06/01/2012 01:20 PM, Lukas, Ray wrote:
 I have created a java.util.HashMapString, TressSetMyJavaObject   and have 
 placed that into the $values map which I then pass into Velocity.  The name 
 of a group of things mapped to a sorted set of those things.
 I have no problem iterating through the map but I cannot seem to find a way 
 to access the key (the String) of the map.entry and overlay that into my 
 form. How is this done. I want to print out the name of the group and then 
 the group. Common thing to do I would think..

 #foreach($LabTestTypeEntrySet in 
 $values.TestTypeGroupedBySpecimenName.keySet())
 $LabTestTypeEntrySet.??? - what goes here ---??
 #foreach($LabTestType in 
 $values.TestTypeGroupedBySpecimenName.get($LabTestTypeEntrySet) ) 
 $LabTestType.labTestTypeCode #end #end

 I am kind of new to Velocity and have been hunting for the solution.. can 
 someone help me out real quick.
 Thanks guys..


Behind any velocity variable there's a real Java object. So, given that, as you 
said, $values is a HashMapString, TreeSet, then what would you do to get the 
key in Java?

There are some things that don't seem to be right in your code...

The name of $LabTestTypeEntrySet seems wrong, since the variable that you're 
iterating with will not hold a set, but only one value at a time, so it should 
be called $LabTestTypeEntry.

$values.TestTypeGroupedBySpecimenName translates into HashMapString, 
TreeSet.get('TestTypeGroupedBySpecimenName'), which returns a value
from the map, which should have the type TreeSetMyJavaObject. There's no 
keySet() method for a TreeSet, so that whole #foreach shouldn't have any values 
to iterate on...

Perhaps you placed this whole map as an entry into the the $values object, 
under the 'TestTypeGroupedBySpecimenName' key? In that case, this code should 
work:

#foreach($LabTestTypeEntry in
$values.TestTypeGroupedBySpecimenName.entrySet())
   ## Notice that I used entrySet(), not keySet()
   ## $LabTestTypeEntry.key is the key, of type String
   ## $LabTestTypeEntry.value is the value, of type TressSetMyJavaObject
   #foreach($LabTestType in $LabTestTypeEntry.value)
 ## $LabTestType is a MyJavaObject from the TreeSet
 $LabTestType.labTestTypeCode
 ## I guess that your MyJavaObject has a getLabTestTypeCode() method
   #end
#end
--
Sergiu Dumitriu
http://purl.org/net/sergiu/

-
To unsubscribe, e-mail: user-unsubscr...@velocity.apache.org
For additional commands, e-mail: user-h...@velocity.apache.org



Re: Accessing a key in a java map.

2012-06-01 Thread Sergiu Dumitriu

On 06/01/2012 01:20 PM, Lukas, Ray wrote:

I have created a java.util.HashMapString, TressSetMyJavaObject   and have 
placed that into the $values map which I then pass into Velocity.  The name of a group of 
things mapped to a sorted set of those things.
I have no problem iterating through the map but I cannot seem to find a way to 
access the key (the String) of the map.entry and overlay that into my form. How 
is this done. I want to print out the name of the group and then the group. 
Common thing to do I would think..

#foreach($LabTestTypeEntrySet in $values.TestTypeGroupedBySpecimenName.keySet())
$LabTestTypeEntrySet.??? - what goes here ---??
#foreach($LabTestType in 
$values.TestTypeGroupedBySpecimenName.get($LabTestTypeEntrySet) )
$LabTestType.labTestTypeCode
#end
#end

I am kind of new to Velocity and have been hunting for the solution.. can 
someone help me out real quick.
Thanks guys..



Behind any velocity variable there's a real Java object. So, given that, 
as you said, $values is a HashMapString, TreeSet, then what would you 
do to get the key in Java?


There are some things that don't seem to be right in your code...

The name of $LabTestTypeEntrySet seems wrong, since the variable that 
you're iterating with will not hold a set, but only one value at a time, 
so it should be called $LabTestTypeEntry.


$values.TestTypeGroupedBySpecimenName translates into HashMapString, 
TreeSet.get('TestTypeGroupedBySpecimenName'), which returns a value 
from the map, which should have the type TreeSetMyJavaObject. There's 
no keySet() method for a TreeSet, so that whole #foreach shouldn't have 
any values to iterate on...


Perhaps you placed this whole map as an entry into the the $values 
object, under the 'TestTypeGroupedBySpecimenName' key? In that case, 
this code should work:


#foreach($LabTestTypeEntry in 
$values.TestTypeGroupedBySpecimenName.entrySet())

  ## Notice that I used entrySet(), not keySet()
  ## $LabTestTypeEntry.key is the key, of type String
  ## $LabTestTypeEntry.value is the value, of type TressSetMyJavaObject
  #foreach($LabTestType in $LabTestTypeEntry.value)
## $LabTestType is a MyJavaObject from the TreeSet
$LabTestType.labTestTypeCode
## I guess that your MyJavaObject has a getLabTestTypeCode() method
  #end
#end
--
Sergiu Dumitriu
http://purl.org/net/sergiu/

-
To unsubscribe, e-mail: user-unsubscr...@velocity.apache.org
For additional commands, e-mail: user-h...@velocity.apache.org