Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [udig-devel] refresh a catalog item

> Hmmm.  I'm afraid I'm not sure what is happening.  There is some caching
> of labels in the CatalogUIPlugin I think but I didn't think that would
> affect the structure of the tree.

I'm also afraid I don't know exactly what happens. I'm just now
debugging the CatalogTreeViewer and I'm getting mad.
When I drag my location (with two mapsets in it, but udig remembers that
it had three, I just removed one) into the view, when it comes to create
the labels for the entry, when it comes to the method:
getText(Object element) of the DecoratingLabelProvide the element is in
fact a JGrassService and has 2 mapsets, which in this case it has to
have. So I'm glad and happy.
I click on the entry to expand the tree and what happens in the
DecoratingLabelProvide? I get also the nonexisting mapset. So I check
for the parent and get the JGrassService which was supposed to have 2
mapsets... but at that point it has 3! And I can't understand where this
happens.
I hope I was able to explain myself a bit...

Any hint?

Andrea






> 
> Jesse
> On Jul 23, 2007, at 9:34 AM, Andrea Antonello wrote:
> 
>> Let me add something more: I debugged down the line and before returning
>>  from the most top members(monitor) method (i.e. the IService method),
>> the array contains all the needed resources, which means they are read.
>> The problem is, they are then not visualized. It "remebers" the previous
>> tree. How can that be?
>>
>> Andrea
>>
>>
>>
>> Andrea Antonello probaly wrote:
>>> Yes, I also think the ResetService could work, I just have to struggle
>>> with the fact that when I reload (i.e. remove and redrag into catalog)
>>> the JGrass service, it doesn't call the members method of the nested
>>> resources. Instead when udig restarts it goes indeep again. Is there
>>> some memory somewhere or is it my fault?
>>>
>>> Andrea
>>>
>>>
>>> Jesse Eichar probaly wrote:
>>>> Hi,
>>>>
>>>> THe ServiceFactory.acquire() method creates a new instance of the
>>>> service but does not affect the catalog.  It is just a factory.  You
>>>> could probably do a find on the catalog for the service you want to
>>>> replace.  Delete that service from the catalog and then put the new
>>>> instance in the catalog.  I have used the ResetService and can verify
>>>> that it does do something.  I think it even works :P.
>>>>
>>>> Jesse
>>>>
>>>>
>>>> On Jul 23, 2007, at 8:30 AM, Andrea Antonello wrote:
>>>>
>>>>> Finally I got time to get into this and...it doesn't work.
>>>>> I'm trying to understand if it all depends on a strange behaviour
>>>>> that I
>>>>> notice. Perhaps someone can explaint that:
>>>>> I open udig drag a grass location into the catalog and it reads
>>>>> everything properly. So for example I have a location with two mapsets
>>>>> and nested inside the maps. Now I create a map in one mapset. I remove
>>>>> the service from the catalog and then drag the location into the
>>>>> catalog
>>>>> again. i thought it would read the whole thin g again, but it
>>>>> remembers
>>>>> something and the new map is not seen.
>>>>> If I reastart udig, the map appears. So what does it remember and
>>>>> where?
>>>>>
>>>>>
>>>>> For your info the part:
>>>>>         IServiceFactory locator = CatalogPlugin.getDefault()
>>>>>                 .getServiceFactory();
>>>>>         List<IService> rereadService = locator.acquire(ID,
>>>>> connectionParams);
>>>>>
>>>>> in fact creates a proper service, but without internal members. But by
>>>>> triggering manually the members method on the members fills everything
>>>>> down the tree, so that should work. (in fact it doesn't since it
>>>>> remembers the old tree)
>>>>>
>>>>> Any hint?
>>>>>
>>>>> Andrea
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Jesse Eichar probaly wrote:
>>>>>> Trying to remember.  Take a look at the ResetService class.  It
>>>>>> essentially kicks the service so that the tree will be loaded again.
>>>>>> Remember that there is a chance that there is a bug with regards to
>>>>>> multi-level services since you are the trail-blazer here.
>>>>>>
>>>>>> Jesse
>>>>>> On Jul 15, 2007, at 11:26 AM, Andrea Antonello wrote:
>>>>>>
>>>>>>> I need to add a created map to the catalog. That is easy with
>>>>>>> shapefile
>>>>>>> or so, but I can't figure out how to do that in a multilevel
>>>>>>> service,
>>>>>>> i.e. I want to add an entry to the JGrass location service, which is
>>>>>>> something similar in the level management to the WMS service.
>>>>>>> Do I have to re-read it and if yes how do I trigger the re-read of a
>>>>>>> service? Is there a more performant way?
>>>>>>>
>>>>>>> Ciao
>>>>>>> Andrea
>>>>>>> _______________________________________________
>>>>>>> User-friendly Desktop Internet GIS (uDig)
>>>>>>> http://udig.refractions.net
>>>>>>> http://lists.refractions.net/mailman/listinfo/udig-devel
>>>>>>
>>>>
>>> _______________________________________________
>>> User-friendly Desktop Internet GIS (uDig)
>>> http://udig.refractions.net
>>> http://lists.refractions.net/mailman/listinfo/udig-devel
>>>
> 
> 


Back to the top