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.

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