Hi again,
I've traced the problem to this point:
__________________________________________________
(class QuantityWrapper)
public Object getValue() {
// TODO: should be context dependent-> return default val or
actual
etc..
QuantityInfo info = new QuantityInfo();
if(!wrappedObject.isAnyAllowed()){
//a cdv quantity has a list which contains
cdvquantityitems
List<CDvQuantityItem> qitems =
((CDvQuantity)wrappedObject).getList();
String currentUnit = null;
if(!(qitems == null || qitems.size() < 1)){
String[] items = getUnitsForWrappedQuantity();
for(String s : items){
info.units.add(s);
}
//TODO for the moment, I can't see how I can
get the current unit?
so I'm using
//the first one...
info.setCurrentUnit(info.units.get(0));
}
}
if (dataValue != null){
String magnitude =
String.valueOf(((DvQuantity)dataValue).getMagnitude());
//***********
HERE WE SHOULD SET THE CURRENT VALUE BUT WE DONOT....
*//////////////
info.setMagnitude(magnitude);
}
else
info.setMagnitude("");
return info;
}
_______________________________________________________
So the problem is that for any row I retreive from DB (any quantity
item) the currentUnit is null which prevents getGUITestString() of
sending the proper String which is magnitude + unit
I do not actually understand the logic of this piece of code...
-Pariya
On Mar 26, 2010, at 3:02 PM, Pariya Kashfi wrote:
> Hi there,
> I'm trying to save and load archetype data for a sample observation
> which includes boolean and quantity as well.
> .............
> String cellDifferentiation = "/data[at0001]/events[at0002]/
> data[at0003]/items[at0006]/items[at0069]/value";
> String ana = "/data[at0001]/events[at0002]/data[at0003]/
> items[at0006]/items[at0063]/value/value";
> String ra = "/data[at0001]/events[at0002]/data[at0003]/items[at0006]/
> items[at0064]/value/value";
> .........
>
> pArchetypeWrapper
> .getElementAtNode(cellDifferentiation).setMagnitudeOfQuantity("100");
> pArchetypeWrapper
> .getElementAtNode(cellDifferentiation).setUnitOfQuantity("ml");
> pArchetypeWrapper.getElementAtNode(ana).setBooleanValue("False");
> pArchetypeWrapper.getElementAtNode(ra).setBooleanValue("True");
>
> I'm actually able to save data in DB but when I run the sample
> opereffa code to load and print data into console,
> ..........
> wrapperToLoadData.loadFromPOJO(archetypeDatas);
> System
> .out.println(wrapperToLoadData.getRootWrapper().getGUITestString());
>
> But I can just retrieve boolean values. it sounds somewhere I loose
> value (numbers) for quantity elements...
> Any idea about the reason?
>
>
> Regards
> Pariya
>
> MSc; PhD Candidate
> Department of Computing Science and Engineering
> Chalmers University of Technology
> http://www.chalmers.se/cse/EN/people/kashfi-hajar
>
>
>
>
>
>
> <ATT00001..txt>
Regards
Pariya
MSc; PhD Candidate
Department of Computing Science and Engineering
Chalmers University of Technology
http://www.chalmers.se/cse/EN/people/kashfi-hajar
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20100327/de74f2a9/attachment.html>