Wiki » History » Version 3

Manuel Madrid, 06/23/2014 04:18 AM

1 1 Manuel Madrid
h1. Wiki
2 2 Manuel Madrid
3 2 Manuel Madrid
h2. Useful links
4 2 Manuel Madrid
5 2 Manuel Madrid
h3. Java Excel API
6 2 Manuel Madrid
* http://www.andykhan.com/jexcelapi/
7 2 Manuel Madrid
* http://sourceforge.net/projects/jexcelapi/?source=navbar
8 2 Manuel Madrid
* http://search.maven.org/#artifactdetails|net.sourceforge.jexcelapi|jxl|2.6.12|jar
9 3 Manuel Madrid
10 3 Manuel Madrid
h2. Weekly reports history
11 3 Manuel Madrid
12 3 Manuel Madrid
h3. Week #5
13 3 Manuel Madrid
14 3 Manuel Madrid
* What did I get done this week?
15 3 Manuel Madrid
16 3 Manuel Madrid
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.
17 3 Manuel Madrid
18 3 Manuel Madrid
I uploaded the installation package to the project site at:
19 3 Manuel Madrid
20 3 Manuel Madrid
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
21 3 Manuel Madrid
22 3 Manuel Madrid
I also opened a ticket asking the gvSIG project admins for adding it to the official package repository:
23 3 Manuel Madrid
24 3 Manuel Madrid
https://redmine.gvsig.net/redmine/issues/2587
25 3 Manuel Madrid
26 3 Manuel Madrid
* What do I plan on doing next week?
27 3 Manuel Madrid
28 3 Manuel Madrid
I will test the package and will create user documentation for the current functionalities.
29 3 Manuel Madrid
30 3 Manuel Madrid
* Am I blocked on anything?
31 3 Manuel Madrid
32 3 Manuel Madrid
Not really.
33 3 Manuel Madrid
34 3 Manuel Madrid
h3. Week #4
35 3 Manuel Madrid
36 3 Manuel Madrid
* What did I get done this week?
37 3 Manuel Madrid
38 3 Manuel Madrid
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.
39 3 Manuel Madrid
40 3 Manuel Madrid
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.
41 3 Manuel Madrid
42 3 Manuel Madrid
* What do I plan on doing next week?
43 3 Manuel Madrid
44 3 Manuel Madrid
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.
45 3 Manuel Madrid
46 3 Manuel Madrid
* Am I blocked on anything?
47 3 Manuel Madrid
48 3 Manuel Madrid
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.
49 3 Manuel Madrid
50 3 Manuel Madrid
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.
51 3 Manuel Madrid
52 3 Manuel Madrid
h3. Week #3
53 3 Manuel Madrid
54 3 Manuel Madrid
* What did I get done this week?
55 3 Manuel Madrid
56 3 Manuel Madrid
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.
57 3 Manuel Madrid
58 3 Manuel Madrid
I converted to Excel file format through LibreOffice the following files:
59 3 Manuel Madrid
- http://downloads.gvsig.org/download/geodata/tables/CSV/poblacionINE.csv.zip
60 3 Manuel Madrid
- http://downloads.gvsig.org/download/geodata/tables/CSV/torrent_4.csv.zip
61 3 Manuel Madrid
I uploaded them to the plugin folder and used them for testing the data loading.
62 3 Manuel Madrid
63 3 Manuel Madrid
Now it is already possible to load them as tables in gvSIG with minor issues that I will try to fix the next week.
64 3 Manuel Madrid
65 3 Manuel Madrid
* What do I plan on doing next week?
66 3 Manuel Madrid
67 3 Manuel Madrid
I will fix some issues affecting the detection of the column types.
68 3 Manuel Madrid
69 3 Manuel Madrid
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.
70 3 Manuel Madrid
71 3 Manuel Madrid
* Am I blocked on anything?
72 3 Manuel Madrid
73 3 Manuel Madrid
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.
74 3 Manuel Madrid
75 3 Manuel Madrid
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. 
76 3 Manuel Madrid
77 3 Manuel Madrid
h3. Week #2
78 3 Manuel Madrid
79 3 Manuel Madrid
* What did I get done this week?
80 3 Manuel Madrid
81 3 Manuel Madrid
- Created the maven multi-mode structure for the project.
82 3 Manuel Madrid
- Added the library modules and configuration files needed to compile and deploy the gvSIG plugin.
83 3 Manuel Madrid
- Uploaded the project to the SVN:
84 3 Manuel Madrid
85 3 Manuel Madrid
  https://devel.gvsig.org/svn/gvsig-jexcel
86 3 Manuel Madrid
87 3 Manuel Madrid
The SVN is also available from the gvSIG Redmine:
88 3 Manuel Madrid
89 3 Manuel Madrid
  https://devel.gvsig.org/redmine/projects/gvsig-jexcel/repository
90 3 Manuel Madrid
91 3 Manuel Madrid
* What do I plan on doing next week?
92 3 Manuel Madrid
93 3 Manuel Madrid
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.
94 3 Manuel Madrid
95 3 Manuel Madrid
* Am I blocked on anything?
96 3 Manuel Madrid
97 3 Manuel Madrid
- Had problems to find where to register the new data provider.
98 3 Manuel Madrid
- It was specially time-consuming to get familiar with the maven project structure.
99 3 Manuel Madrid
- I also found some problems to upload the source code to the SVN.
100 3 Manuel Madrid
- I was not sure if some aspects of the maven general configuration are correct.
101 3 Manuel Madrid
102 3 Manuel Madrid
Finally I could fix all those problems so I made the expected progress.
103 3 Manuel Madrid
104 3 Manuel Madrid
h3. Week #1
105 3 Manuel Madrid
106 3 Manuel Madrid
* What did you get done this week?
107 3 Manuel Madrid
108 3 Manuel Madrid
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.
109 3 Manuel Madrid
110 3 Manuel Madrid
I considered the following alternatives:
111 3 Manuel Madrid
112 3 Manuel Madrid
  - POI-HSSF and POI-XSSF - Java API To Access Microsoft Excel Format Files
113 3 Manuel Madrid
114 3 Manuel Madrid
  - SmartXLS for Java
115 3 Manuel Madrid
116 3 Manuel Madrid
  - Java Excel API
117 3 Manuel Madrid
118 3 Manuel Madrid
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.
119 3 Manuel Madrid
120 3 Manuel Madrid
Those are the most relevant links of this library:
121 3 Manuel Madrid
122 3 Manuel Madrid
  - http://www.andykhan.com/jexcelapi/
123 3 Manuel Madrid
  - http://sourceforge.net/projects/jexcelapi/?source=navbar
124 3 Manuel Madrid
  - http://search.maven.org/#artifactdetails|net.sourceforge.jexcelapi|jxl|2.6.12|jar
125 3 Manuel Madrid
126 3 Manuel Madrid
I've got a project within the gvSIG project infrastructure:
127 3 Manuel Madrid
128 3 Manuel Madrid
  - https://devel.gvsig.org/redmine/projects/gvsig-jexcel
129 3 Manuel Madrid
130 3 Manuel Madrid
The source code will be stored at:
131 3 Manuel Madrid
132 3 Manuel Madrid
  - https://devel.gvsig.org/svn/gvsig-jexcel
133 3 Manuel Madrid
134 3 Manuel Madrid
* What do you plan on doing next week?
135 3 Manuel Madrid
136 3 Manuel Madrid
I plan to create the Maven projects infrastructure. I will use as a basis the following gvSIG projects:
137 3 Manuel Madrid
138 3 Manuel Madrid
  - gvSIG data provider for DGN
139 3 Manuel Madrid
    https://devel.gvsig.org/redmine/projects/gvsig-dgn
140 3 Manuel Madrid
141 3 Manuel Madrid
  - gvSIG data provider for DXF
142 3 Manuel Madrid
    https://devel.gvsig.org/redmine/projects/gvsig-dxf
143 3 Manuel Madrid
144 3 Manuel Madrid
I also will use the gvSIG CVS data provider to compose the project skeleton.
145 3 Manuel Madrid
146 3 Manuel Madrid
* Are you blocked on anything?
147 3 Manuel Madrid
148 3 Manuel Madrid
Not, so far.