Wiki » History » Version 12

Version 11 (Manuel Madrid, 06/23/2014 04:32 AM) → Version 12/27 (Manuel Madrid, 06/23/2014 04:34 AM)

h1. Useful links

h2. Java Excel API
* http://www.andykhan.com/jexcelapi/
* http://sourceforge.net/projects/jexcelapi/?source=navbar
* http://search.maven.org/#artifactdetails|net.sourceforge.jexcelapi|jxl|2.6.12|jar

h1. Weekly reports history

h2. Week 5

h3. What did I get done this week?

This week I have been learning the procedures for generating plugin installation packages. I found some problems when trying to configure the downloading URL of the package but finally I got it. As Joaquín, my mentor, suggested, I opened an issue ticket explaining the problem because it could be useful for other developers.

I uploaded the installation package to the project site at:

https://redmine.gvsig.net/redmine/attachments/download/895/gvSIG-desktop-2.1.0-org.gvsig.jexcel.app.mainplugin-1.0.0-SNAPSHOT-1-testing-all-all-j1_5.gvspkg

I also opened a ticket asking the gvSIG project admins for adding it to the official package repository:

https://redmine.gvsig.net/redmine/issues/2587

h3. What do I plan on doing next week?

I will test the package and will create user documentation for the current functionalities.

h3. Am I blocked on anything?

Not really.

h2. Week 4

h3. What did I get done this week?

I fixed some bugs related with the detection of the columns types. Now the plugin already recognize the following types: integer, long, float and double. The rest of the data is managed as string.

I finally decided to go for the spatial support. I made some changes and now the plugin is already able to load tables containing coordinates (X,Y and Z) as point layers.

h3. What do I plan on doing next week?

I will get to know how to generate the plugin package. Then I will generate an addon that could be installed from the gvSIG addons manager. I will check that it can be installed on the last gvSIG 2.1 build (2227). Finally I will upload the package to the gvSIG official repo so it can be installed by everyone.

h3. Am I blocked on anything?

I had some problems trying to use the latest version of the gvSIG library org.gvsig.tools. I wanted to use it as it has some interesting bugfixes but I finally couldn't.

Since those changes won't be available until the next gvSIG build release, Joaquín, my mentor, suggested to take a workaround in the meantime.

h2. Week 3

h3 What did I get done this week?

I adapted the source code of the CSV provider in order to be able to read Excel spreadsheets using the jexcelapi library. Finally I used more amount of source code of the CSV provider than expected.

I converted to Excel file format through LibreOffice the following files:
* http://downloads.gvsig.org/download/geodata/tables/CSV/poblacionINE.csv.zip
* http://downloads.gvsig.org/download/geodata/tables/CSV/torrent_4.csv.zip

I uploaded them to the plugin folder and used them for testing the data loading.

Now it is already possible to load them as tables in gvSIG with minor issues that I will try to fix the next week.

h3. What do I plan on doing next week?

I will fix some issues affecting the detection of the column types.

Depending on how long takes me to fix this issues I will consider to address the implementation of the spacial data support, despite it was initially planned in the next iteration, some weeks later.

h3. Am I blocked on anything?

I thought I could get more information from the Excel file than I finally got, as I couldn't get the information regarding the column type and the headers, in case they had.

This made me spend more time than expected studying the jexcelapi needlessly as I finally reused some of the CSV provider source code. I have to say that this made me think if using the jexcelapi library was the right decision but I finally decided to carry on with it.

h2. Week 2

h3. What did I get done this week?

* Created the maven multi-mode structure for the project.
* Added the library modules and configuration files needed to compile and deploy the gvSIG plugin.
* Uploaded the project to the SVN:
https://devel.gvsig.org/svn/gvsig-jexcel

The SVN is also available from the gvSIG Redmine:
https://devel.gvsig.org/redmine/projects/gvsig-jexcel/repository

h3. What do I plan on doing next week?

Next week I will try to have a preliminar version of the plugin that allows just to load data, without taking into account types and parameters.

h3. Am I blocked on anything?

* Had problems to find where to register the new data provider.


*
It was specially time-consuming to get familiar with the maven project structure.


*
I also found some problems to upload the source code to the SVN.


*
I was not sure if some aspects of the maven general configuration are correct.

Finally I could fix all those problems so I made the expected progress.

h2. Week 1

h3. What did you get done this week?

In order to implement the Excel data provider for gvSIG I will use as a basis a Java library that provides access to Excel data.

I considered the following alternatives:
* POI-HSSF and POI-XSSF - Java API To Access Microsoft Excel Format Files
* SmartXLS for Java
* Java Excel API

I finally decided to go for the last one as it is powerful enough and it looks quite simple. It seems that this project doesn't have activity since 2010 but I hope this is not a problem.

Those are the most relevant links of this library:
* http://www.andykhan.com/jexcelapi/
* http://sourceforge.net/projects/jexcelapi/?source=navbar
* http://search.maven.org/#artifactdetails|net.sourceforge.jexcelapi|jxl|2.6.12|jar

I've got a project within the gvSIG project infrastructure:

- https://devel.gvsig.org/redmine/projects/gvsig-jexcel

The source code will be stored at:
https://devel.gvsig.org/svn/gvsig-jexcel

h3 What do you plan on doing next week?

I plan to create the Maven projects infrastructure. I will use as a basis the following gvSIG projects:
* gvSIG data provider for DGN
https://devel.gvsig.org/redmine/projects/gvsig-dgn
* gvSIG data provider for DXF
https://devel.gvsig.org/redmine/projects/gvsig-dxf

I also will use the gvSIG CVS data provider to compose the project skeleton.

h3. Are you blocked on anything?

Not, so far.