Hi Michelle,
I couldn't get your code to compile. I received errors such as:
VisadAPI.java:43: cannot resolve symbol
symbol : method myAutoDetect (boolean)
location: class visad.ss.SpreadSheet
mySS.myAutoDetect(false);
^
VisadAPI.java:54: cannot resolve symbol
symbol : variable myMappings
location: class visad.ss.SpreadSheet
myBasicSS.setMaps(mySS.myMappings);
^
This suggests you made additional modifications to the
SpreadSheet that you did not pass along in email. So, I
can't test your changes to determine if setMaps() has a bug.
Why are you playing around with variables like "myMappings"?
You shouldn't need to add any additional fields to the
SpreadSheet, or to BasicSSCell. All you need to do is call
myBasicSS.setMaps with those ScalarMaps you construct in
your VisadAPI.setMappings() method:
myBasicSS.setMaps(new ScalarMap[] {Alt_rad, Alt_green, Lat_blue, Long_red});
If that doesn't work, and you think the SpreadSheet has a
bug, please send me a test case demonstrating the problem
and I'll look into it.
Thanks,
Curtis
At 03:55 PM 6/11/2003, Kam, Michelle C wrote:
>Hi,
>
>Attached below is my VisadAPI.java file that loads in small.v5d and sets up
>the mappings. It compiles fine. It also runs without errors. But the default
>mappings that I specified do not appear. Would someone be able to tell if I
>passed the array myMappings correctly to BasicSSCell's setMaps method?
>
> From SpreadSheet.java:
>public void loadMyDataSet() {
>
> try {
> System.out.println("In SpreadSheet, loadMyDataSet(), and in try
>clause");
> VisadAPI mine = new VisadAPI(this, new
>BasicSSCell("testCell"));
> System.out.println("this: " + this);
> //VisadAPI.loadMyDataSet();
> mine.loadMyDataSet();
> }
> catch (VisADException exc) {
> System.out.println("VisAD Exception in SS. Could not load file
>small.v5d into the SpreadSheet");
>}
> catch (RemoteException exc) {
> System.out.println("Visad Exception in SS. Could not load file
>small.v5d into spreadsheet");
>}
>
>System.out.println("exited normally");
>}
>
>Thanks!
>Michelle
>
>Michelle Kam (408) 742-2881
>Lockheed Martin Space Systems Co. SSM/ATC/MSIS
>B/153 O/L922
>1111 Lockheed Martin Way, Sunnyvale, CA 94089
>
>
>
>
>-----Original Message-----
>From: Curtis Rueden [mailto:curtis@xxxxxxxxxxxxx]
>Sent: Tuesday, June 10, 2003 5:44 PM
>To: Kam, Michelle C
>Cc: visad-list@xxxxxxxxxxxxx
>Subject: RE: your mail
>
>
>Hi Michelle,
>
>Somewhere, you are calling BasicSSCell.addDataSource().
>Wherever you are doing that, whether by hacking SpreadSheet.java
>in your own extension of the SpreadSheet, or some other solution,
>that same method can contain the call to BasicSSCell.setMaps()
>immediately afterward.
>
>Swells.java does not use the SpreadSheet; it just uses the
>general VisAD functionality. If you want a SpreadSheet cell to
>use certain mappings, call BasicSSCell.setMaps(). If you just
>want a normal VisAD display (i.e., not a SpreadSheet cell), then
>feel free to use DisplayImpl.addMap() repeatedly to add the maps.
>
>-Curtis
>
>At 06:13 PM 6/10/2003, Kam, Michelle C wrote:
>>Hi Curtis,
>>
>>Ok so from my understanding, if I want to change the default mappings that
>>first appear or overwrite the default mappings when loading a file, I would
>>have to create a new class which creates the array of ScalarMap's and adds
>>them to the display such as with a call to display.addMap(someMap)?
>>
>>
>>Also, I was looking at Swells.java as an example, and they don't call
>>BasicSSCell.setMaps() from within that class so do you recommend trying to
>>call it from my own subclass?
>>
>>Thanks,
>>Michelle