Hi,
I've noticed in a couple of places I added code that looks like
CatalogBuilder builder = new CatalogBuilder(catalog);
builder.setStore(store);
if (store instanceof CoverageStoreInfo) {
CoverageStoreInfo cstore = (CoverageStoreInfo) store;
AbstractGridCoverage2DReader reader =
(AbstractGridCoverage2DReader)
getCatalog().getResourcePool().getGridCoverageReader(cstore, null);
CoverageInfo ci = builder.buildCoverage(reader);
return builder.buildLayer(ci);
} else if (store instanceof DataStoreInfo) {
DataStoreInfo dstore = (DataStoreInfo) store;
FeatureTypeInfo fti =
builder.buildFeatureType(dstore.getDataStore(null)
.getFeatureSource(resource.getName()));
return builder.buildLayer(fti);
}
Hmmm... the builder should already have the information
to build a coverage or a specific type once the
store is set and the resource is named, going shopping
for readers and feature sources seems like a concern
the client code should not have?
What about adding:
builder.buildCoverage() // builds the default coverage
builder.buildFeatureType(Name)
or to have a more future proof method:
builder.buildCoverage(Name)
that can be called with "null" also.
Finally, wouldn't it be nicer if the buidler
could accept a ResourceInfo in buildLayer
and figure out by itself how to handle it internally?
Cheers
Andrea
--
Andrea Aime
OpenGeo - http://opengeo.org
Expert service straight from the developers.
------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
_______________________________________________
Geoserver-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-devel