Mauro,

that looks great. Both GeoTools and GeoServer (patched branch) build 
cleanly. The docs build and look fine.

The only question I have is: why is it necessary to synchronise the 
block where resolvedLocationToOriginalLocationMap.put is called, when 
this is already a ConcurrentHashMap? (I can see why the containsKey is a 
good idea.) I am not saying this is wrong, just that I do not yet 
understand.

If you are confident that the concurrency issues are addressed, please 
go ahead an issue a pull request for master. (And please make sure the 
GeoServer changes get merged at the same time.)

Thanks again!

Kind regards,
Ben.

On 18/02/13 23:43, Mauro Bartolomeoli wrote:
> Hi all, I tried to solve the remaining issues.
>
>         Please update the javadocs in gt-app-schema-resolver and the
>         user manual, which still mention the old class names. You should
>         probably move the resolver section in the manual to xml, or
>         wherever you think it makes most sense. for your convenience, I
>         have attached a listing of all mentions of the old class names.
>
> I added a new section (resolving) in gt-xml docs, extracting info
> specific to the 3 classes moved from app-schema-resolver to core (and I
> removed the same docs from gt-app-schema-resolver).
>
>         I think you have copied too much of the test resources to gt-xml
>         (and thus too much in review.apt). I think the top-level xml
>         files and the catalog stuff is only used by the tests that are
>         still left in gt-app-schema-resolver.  Please remove the
>         duplication; you might then need no review.apt changes at all.
>
>
> Ok, I removed the extra unneeded files.
>
>
>         I am not sure about your synchronisation. SchemaResolver
>         maintains resolvedLocationToOriginalLoca__tionMap and I see no
>         reason why you cannot have multiple file resolved locations
>         (e.g. the temporary file created when concurrent downloads
>         occur) for a single HTTP URI; the resolver will fix your
>         relative imports for you (that is its job). I still see no
>         synchronisation on resolvedLocationToOriginalLoca__tionMap; what
>         happens if two threads try to update this map concurrently? (Bad
>         Things Happen.) Can this ever happen? Is a SchemaResolver ever
>         shared between threads? But if not, then how will SchemaCache
>         download synchronisation occur (monitors are on instances)? I
>         wonder if all synchronisation should be handled at a higher
>         level. As this is going into gt-xml, I would like to defer to
>         Justin's considerable expertise in this area.
>
>
> I transformed resolvedLocationToOriginalLoca__tionMap to a
> ConcurrentHashMap and synchronized updating accesses to it (the download
> stuff was already synchronized in SchemaCache).
>
> The branch is the usual one:
> https://github.com/mbarto/geotools/tree/geot_4386_no_app_schema_resolver
>
> Thanks
> Mauro
>
> --
> ==
> Our support, Your Success! Visit http://opensdi.geo-solutions.it for
> more information.
> ==
>
> Dott. Mauro Bartolomeoli
> @mauro_bart
> Senior Software Engineer
>
> GeoSolutions S.A.S.
> Via Poggio alle Viti 1187
> 55054  Massarosa (LU)
> Italy
> phone: +39 0584 962313
> fax:     +39 0584 1660272
>
> http://www.geo-solutions.it
> http://twitter.com/geosolutions_it
>
> -------------------------------------------------------

-- 
Ben Caradoc-Davies <ben.caradoc-dav...@csiro.au>
Software Engineer
CSIRO Earth Science and Resource Engineering
Australian Resources Research Centre

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
_______________________________________________
GeoTools-Devel mailing list
GeoTools-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to