Hi Luca
Have a look to [1]. The method doPostInitialize registers the provider
for the DBF format.
Regards,
Jorge
[1]
https://forge.osor.eu/plugins/scmsvn/viewcvs.php/*checkout*/branches/v2_0_0_prep/libraries/libFMap_dalfile/src/org/gvsig/fmap/dal/store/dbf/DBFLibrary.java?content-type=text%2Fplain&root=gvsig-desktop
El 05/08/2010 16:18, luca bianconi escribió:
Hi all,
thanks for the big explanation.
/
This document explains how you can create a new DataStore using the
API. In this example it is creating a new DBF. The "DBF provider" has
to be previously registered with a name or the line
"serverExplorer.//getAddParameters("DBF")" will send an exception. /
How could I avoid it ? Could you show me how to do ?
Best regards,
Luca
2010/8/4 Jorge Piera Llodrá <[email protected]
<mailto:[email protected]>>
On 08/04/2010 01:31 AM, luca bianconi wrote:
Hi all,
it has past some time since I've started studying gvSIG DAL
providing system and, even if I've received many useful
explanations (thanks kind Cèsar!), read longly the
documentation [1] about it, read other DAL providers code,
made coding tests, I'm unfortunately still plenty of doubts.
I'd like asking the community some help to understand some
things (I'm very sorry if some of them could sound very
trivial to some of you).
First of all, just a curiosity I'd like to ask Spanish
speaking people :
I understand the word "almacèn" as "provider", referred in
documentation as the DAL provider. Is it correct ?
I'm not completely agree. An "Almacén" is a "DataStore" that uses
a provider (DataStoreProvider) to retrieve data from a data source.
The "Almacen o DataStore" is the API of DAL that can be used by a
data consumer to retrieve data. Providers are a part of the
Service Provider Interface (SPI) and they register in DAL new
formats that can be managed using the DAL API.
If this is correct, and I want to register a new DAL provider
I guess, after having of course read the whole available (as
much as I know) documentation [1] on fmap.dal, I should use as
main reference the chapter "Creación de un nuevo almacén" [2] .
This document explains how you can create a new DataStore using
the API. In this example it is creating a new DBF. The "DBF
provider" has to be previously registered with a name or the line
"serverExplorer.getAddParameters("DBF")" will send an exception.
I've been suggested to give a glance, as example, at the
extDwg extension for better understanding how the registration
of a DAL provider works.
I see that in this provider, as in other ones, four classes
are always implemented:
DWGLibrary -> Does it register the provider ? Does it in
doPostInitialize() method ?
Thats right. It registers the DWG provider and the DWG explorer
that is used to browse by a directory tree for searching DWG's of
creating new DWG's
DWGFilesystemServerProvider, DWGStoreParameters,
DWGStoreProvider -> How do they work exactly ? What do they do ?
DWGFilesystemServerProvider -> It is used to browse by a directory
tree and search DWG resources. It can be used to get the
DataStoreParameters that are used to open an existing DWG creating
a new DataStore or it also can be used to get the
NewDataStoreParameters that are used to create a new DWG.
DWGStoreParameters -> Defines the parameters that are needed to
open a DWG
DWGStoreProvider -> This provider is created from a
DWGStoreParameters and it is able to read (or write) a DWG.
After having implemented it, how can I register the provider
with a plugin ?
The project xxx.app.extension is the responsible to add a new
plugin in gvSIG. It will contain the new provider.
Which class among those provided by the plugin structure
should I use ?
These are the classes:
- A xxxManager: is the entry point to the API. Provides the
main services of the library.
- A xxxLocator: the responsible to provide access to the
single Manager instance.
- A xxxLibrary: initialization and configuration of the library.
- A xxxService: another interface for the API. You may use it
or not depending on your library's functionality.
Well, it depends on any project. The Library class is normally
located in all the projects, but the other classes will be
contained depending on what are you developing. (e.g. extDWG is a
DAL provider and it don't need any Manager)
I Hope I clarify you some doubts.
Regards,
Jorge
Thanks a lot for the help,
Luca
[1]
http://www.gvsig.org/web/projects/gvsig-desktop/docs/devel/org.gvsig.fmap.dal/2.0.0/featurestore
[2]
http://www.gvsig.org/web/projects/gvsig-desktop/docs/devel/org.gvsig.fmap.dal/2.0.0/featurestore/consumer-services/creacion-de-un-nuevo-almacen
_______________________________________________
Gvsig_internacional mailing list
[email protected]
<mailto:[email protected]>
http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_internacional
--
Jorge Piera Llodrá
gvSIG Development Team
PRODEVELOP
Plaza Don Juan de Villarrasa, 14 - 5
46001 Valencia
Tel: +34 963510612
Fax: +34 963510908
e-mail:[email protected] <mailto:[email protected]>
http://www.prodevelop.es
http://www.gvsig.org
_______________________________________________
Gvsig_internacional mailing list
[email protected]
<mailto:[email protected]>
http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_internacional
_______________________________________________
Gvsig_internacional mailing list
[email protected]
http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_internacional
--
Jorge Piera Llodrá
Equipo desarrollo gvSIG
PRODEVELOP
Plaza Don Juan de Villarrasa, 14 - 5
46001 Valencia
Tef: +34 963510612
Fax: +34 963510908
e-mail: [email protected]
http://www.prodevelop.es
http://www.gvsig.org
_______________________________________________
Gvsig_internacional mailing list
[email protected]
http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_internacional