Revision 30197

View differences:

tags/tmp_build/extensions/extTableSummarize/build.xml
1
<project name="extTableSummarize" default="generate-without-source" basedir=".">
2
    <description>
3
        Instala el plugin de DBF Table Summarize en Andami.
4
    </description>
5
  <!-- set global properties for this build -->
6
  <property name="src" location="src"/>
7
  <property name="without_src"  location="without_src"/>
8
  <property name="src-test" location="src-test"/>
9
  <property name="build" location="bin"/>
10
  <property name="build-test" location="bin-test"/>
11
  <property name="dist"  location="dist"/>
12
  <property name="lib"  location="lib"/>
13
  <property name="plugin" value="org.gvsig.tableSummarize"/>
14
  <property name="extension-dir" location="../_fwAndami/gvSIG/extensiones"/>
15
  <property name="gvSIGlib-dir" value="${extension-dir}/com.iver.cit.gvsig/lib"/>
16
  <property name="andami-dir" location="../_fwAndami"/>
17

  
18
	<import file="../binaries/ant/utilities.xml"/>
19

  
20
  <target name="init">
21
    <!-- Create the time stamp -->
22
    <tstamp/>
23
  	<echo>
24
  			Compiling ${ant.project.name}...</echo>
25
    <!-- Create the build directory structure used by compile -->
26
    <mkdir dir="${build}"/>
27
    <mkdir dir="${dist}"/>
28
  </target>
29

  
30
	<target name="buildNumber">  
31
	  <propertyfile     file="build.number"
32
	      comment="Build Number for ANT. Do not edit!">
33
	    <entry key="build.number" default="0" type="int" operation="+" />
34
	  </propertyfile>
35
	  <property file="build.number" />
36
	</target>
37

  
38
  <target name="distribution" depends="buildNumber, copy-data-files, generate-without-source">
39
  </target>
40

  
41
  <target name="compile"
42
          description="compile the source" >
43
      <!-- Compile the Java code from ${src} to ${bin} -->
44
		<antcall target="gvSIG-import-build-number"/>
45
		<loadEclipseClasspath project="${basedir}"/>
46
		<gvSIG-javac
47
			classpath="${eclipseClasspath}"
48
		/>
49
      <!--<javac      srcdir="${src}"
50
                  destdir="${build}"
51
                  source="${JavaSourceVersion}"
52
                  target="${JavaTargetVersion}"
53
                  debug="${debug}"
54
                  debuglevel="${debuglevel}"
55
                  encoding="${encoding}"
56
	   			  classpath="${extension-dir}/com.iver.cit.gvsig/lib/fmap.jar:${extension-dir}/com.iver.cit.gvsig/lib/com.iver.cit.gvsig.jar:../FMap/lib/cms.jar:../Andami/lib/iver-utiles.jar:../FMap/lib/gdbms-0.8-SNAPSHOT.jar:../Andami/andami.jar"/>
57
	  -->
58
    </target>
59

  
60
  <target name="generate-without-source" description="generate the distribution without the source file" >
61
    <!-- Create the distribution directory -->
62
    <mkdir dir="${dist}"/>
63

  
64
  	<loadproperties srcFile="build.number"/>
65

  
66
  	<!-- Put everything in ${build} into the MyProject-${DSTAMP}.jar file -->
67
    <jar jarfile="${dist}/${plugin}.jar" basedir="${build}"/>
68

  
69
  	<copy file="config/config.xml" todir="${dist}"/>
70
  	<copy file="build.number" todir="${dist}"/>
71

  
72
  	<copy todir="${dist}/images">
73
  	  	    	<fileset dir="images/" includes="*"/>
74
  	  	</copy>
75
  	<copy todir="${dist}">
76
    	<fileset dir="config" includes="text*.properties"/>
77
    </copy>  	
78
    <move todir="${extension-dir}/${plugin}/">
79
    	<fileset dir="${dist}" includes="**/**"/>
80
    </move>
81

  
82
  	<!--mkdir dir="${extension-dir}/${plugin}/data"/>
83
  	<copy todir="${extension-dir}/${plugin}/data">
84
  	    	<fileset dir="data" includes="**/**"/>
85
  	</copy-->
86
	<copy todir="${extension-dir}/${plugin}/">
87
		<fileset dir="${lib}" includes="**/*.jar"/>
88
	</copy>
89

  
90
  </target>
91
  	
92
	<target name="copy-data-files">
93
			<copy file="config/config.xml" todir="${without_src}"/>
94
			<copy file="build.number" todir="${without_src}"/>
95
			<copy file="config/about.htm" todir="${without_src}"/>
96
			<loadproperties srcFile="build.number"/>
97
			<replace casesensitive="true"
98
	  		file="${without_src}/about.htm"
99
	  	  	token="#build.number#"
100
	  		value="${build.number}"/>
101
			<copy todir="${without_src}">
102
				<fileset dir="config" includes="text*.properties"/>
103
			</copy>
104
			<copy todir="${without_src}/images">
105
				<fileset dir="images/" includes="*"/>
106
			</copy>
107
	</target>
108

  
109
	<target name="batch-build"
110
			description="compile the sources, create the jar file"
111
			depends="init,compile,generate-without-source">
112
	</target>
113

  
114
	<target name="clean"
115
		    description="cleans the build directories">
116
		<delete dir="${build}"/>
117
		<delete dir="${dist}"/>
118
	</target>
119
	
120
	<!--target name="run-tests" depends="batch-build,compile-tests">
121
		<antcall target="generic-run-tests">
122
			<param name="TestSuite.Name" value="org.gvsig.crs.AllTests"/>
123
		</antcall>
124
	</target-->
125
</project>
126

  
127

  
tags/tmp_build/extensions/extTableSummarize/.classpath
1
<?xml version="1.0" encoding="UTF-8"?>
2
<classpath>
3
	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
4
	<classpathentry kind="src" path="src"/>
5
	<classpathentry excluding="org/gvsig/crs/test/" kind="src" path="src-test"/>
6
	<classpathentry combineaccessrules="false" kind="src" path="/libJCRS"/>
7
	<classpathentry kind="src" path="/_fwAndami"/>
8
	<classpathentry combineaccessrules="false" kind="src" path="/appgvSIG"/>
9
	<classpathentry combineaccessrules="false" kind="src" path="/libFMap"/>
10
	<classpathentry combineaccessrules="false" kind="src" path="/libUIComponent"/>
11
	<classpathentry kind="lib" path="/libFMap/lib/gdbms-0.8-SNAPSHOT.jar" sourcepath="/libGDBMS"/>
12
	<classpathentry kind="lib" path="/_fwAndami/lib/org.gvsig.exceptions.jar"/>
13
	<classpathentry kind="lib" path="/libFMap/lib/driver-manager-1.1.jar" sourcepath="/libDriverManager"/>
14
	<classpathentry kind="lib" path="lib/swing-layout-1.0.jar"/>
15
	<classpathentry kind="lib" path="lib/swingx-2007_07_22.jar"/>
16
	<classpathentry kind="lib" path="/_fwAndami/lib/iver-utiles.jar" sourcepath="/libIverUtiles"/>
17
	<classpathentry kind="lib" path="/_fwAndami/lib/log4j-1.2.8.jar"/>
18
	<classpathentry kind="output" path="bin"/>
19
</classpath>
tags/tmp_build/extensions/extTableSummarize/LICENSE.txt
1
This extension is copyright of:
2
  IVER.T.I.
3
  C/ LERIDA, 20
4
  46009 VALENCIA (SPAIN)
5
  http://www.iver.es
6

  
7
It can be used under the terms of the GPL license, version 2
8
(or any later version):
9
http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
10

  
11
Source code can be obtained from gvSIG public SVN:
12
http://subversion.gvsig.org/gvSIG/
13

  
14
The following third-party libraries are used by this gvSIG extension:
15

  
16
swingx: https://swingx.dev.java.net/
17
License: LGPL
18

  
19
swing-layout: https://swing-layout.dev.java.net/
20
License: LGPL
21
 
0 22

  
tags/tmp_build/extensions/extTableSummarize/.project
1
<?xml version="1.0" encoding="UTF-8"?>
2
<projectDescription>
3
	<name>extTableSummarize</name>
4
	<comment></comment>
5
	<projects>
6
	</projects>
7
	<buildSpec>
8
		<buildCommand>
9
			<name>org.eclipse.jdt.core.javabuilder</name>
10
			<arguments>
11
			</arguments>
12
		</buildCommand>
13
	</buildSpec>
14
	<natures>
15
		<nature>org.eclipse.jdt.core.javanature</nature>
16
	</natures>
17
</projectDescription>
tags/tmp_build/extensions/extTableSummarize/config/text_en.properties
1
#Translations for language [en]
2
#Fri Jul 10 12:48:51 CEST 2009
3
btn_SummarizeForm_aceptar=OK
4
btn_SummarizeForm_cancelar=Cancel
5
Choose_target_file_DBF=Choose target file (.DBF)
6
COUNT=COUNT
7
Data_source_not_initialized=Data source not initialized
8
DBF_files=DBF files
9
Error_creating_new_table=Error creating the new table
10
Error_summarizing_table=Error_summarizing_table
11
File_exists_Do_you_want_to_overwrite_it=File already exists. Do you want to overwrite it?
12
File_exists_Do_you_want_to_overwrite_it?=
13
GROUP=GROUP
14
GroupByField_not_initialized=GroupByField not initialized
15
Herramientas=Tools
16
lbl_SummarizeForm_descripcion1=<html>Summarize Table\: creates a new table which contains a register for each unique value from the groupBy field, plus the selected statistics from the rest of the fields.</html>
17
lbl_SummarizeForm_punto1=1. Choose the groupBy field\:
18
lbl_SummarizeForm_punto2=2. Choose one or more statistics to be included in the result table\:
19
lbl_SummarizeForm_punto3=3. Choose the target file\:
20
MAX=MAX
21
MEAN=MEAN
22
MIN=MIN
23
Not_possible_generate_unique_field_name=It is not possible to generate a unique field name
24
Operation_not_initialized=Operation not initialized
25
STDEV=STDEV
26
SUM=SUM
27
Summarize_Error_accessing_the_table=Summarize\: Error accessing the table
28
Summarize_Error_calculating_the_groups=Summarize\: Error calculating the groups
29
Summarize_Error_saving_the_output_DBF_file=Summarize\: Error saving the output DBF
30
Summarize_Field_does_not_exist=Summarize\: Field does not exist
31
Summarize_Group_by_field_does_not_exist=Summarize\: Group by field does not exist
32
Summarize_Table_has_no_fields=Summarize Error\: Selected table has no fields
33
SummarizeForm_columna_average=Mean
34
SummarizeForm_columna_id=Field
35
SummarizeForm_columna_maximum=Maximum
36
SummarizeForm_columna_minimum=Minimum
37
SummarizeForm_columna_sd=Std. Deviation
38
SummarizeForm_columna_sum=Sum
39
SummarizeForm_columna_variance=Variance
40
SummarizeForm_fichero_destino=Please, choose the target file
41
SummarizeForm_seleccionar_operaciones=Please, choose some operations to calculate
42
table_summarize=Table Summarize
43
title_summarize=Table Summarize
44
Unknown_summarize_error=Unknown summarize error
45
VAR=VAR
46
Warning_Output_File=Warning\: Output File
tags/tmp_build/extensions/extTableSummarize/config/text_gl.properties
1
#Translations for language [gl]
2
#Fri Jul 10 12:48:51 CEST 2009
3
btn_SummarizeForm_aceptar=
4
btn_SummarizeForm_cancelar=
5
Choose_target_file_DBF=
6
COUNT=
7
DBF_files=
8
Error_creating_new_table=
9
Error_summarizing_table=
10
File_exists_Do_you_want_to_overwrite_it?=
11
GROUP=
12
Herramientas=Ferramentas
13
lbl_SummarizeForm_descripcion1=
14
lbl_SummarizeForm_punto1=
15
lbl_SummarizeForm_punto2=
16
lbl_SummarizeForm_punto3=
17
MAX=
18
MEAN=
19
MIN=
20
Not_possible_generate_unique_field_name=
21
STDEV=
22
SUM=
23
Summarize_Error_accessing_the_table=
24
Summarize_Error_calculating_the_groups=
25
Summarize_Error_saving_the_output_DBF_file=
26
Summarize_Field_does_not_exist=
27
Summarize_Group_by_field_does_not_exist=
28
Summarize_Table_has_no_fields=
29
SummarizeForm_columna_average=
30
SummarizeForm_columna_id=
31
SummarizeForm_columna_maximum=
32
SummarizeForm_columna_minimum=
33
SummarizeForm_columna_sd=
34
SummarizeForm_columna_sum=
35
SummarizeForm_columna_variance=
36
SummarizeForm_fichero_destino=
37
SummarizeForm_seleccionar_operaciones=
38
table_summarize=
39
title_summarize=
40
Unknown_summarize_error=
41
VAR=
42
Warning_Output_File=
0 43

  
tags/tmp_build/extensions/extTableSummarize/config/config.xml
1
<?xml version="1.0" encoding="ISO-8859-1"?>
2
<plugin-config>
3
	<depends plugin-name="com.iver.cit.gvsig"/>
4
	<libraries library-dir="."/>
5
	<resourceBundle name="text"/>
6
	<extensions>
7
		<extension class-name="org.gvsig.app.documents.table.summarize.TableSummarizeExtension"
8
			description="M?dulo para el c?lculo de estadisticas sobre tablas DBF." 
9
			active="true" 
10
			priority="1">
11
			<tool-bar name="Herramientas" position="12">
12
				<action-tool icon="tableSummarize-statistics" tooltip="table_summarize" position="9"/>
13
			</tool-bar>
14
		</extension>
15
	</extensions>		
16
</plugin-config>
tags/tmp_build/extensions/extTableSummarize/config/text_cs.properties
1
#Translations for language [cs]
2
#Fri Jul 10 12:48:51 CEST 2009
3
btn_SummarizeForm_aceptar=
4
btn_SummarizeForm_cancelar=
5
Choose_target_file_DBF=
6
COUNT=
7
DBF_files=
8
Error_creating_new_table=
9
Error_summarizing_table=
10
File_exists_Do_you_want_to_overwrite_it?=
11
GROUP=
12
Herramientas=N\u00e1stroje
13
lbl_SummarizeForm_descripcion1=
14
lbl_SummarizeForm_punto1=
15
lbl_SummarizeForm_punto2=
16
lbl_SummarizeForm_punto3=
17
MAX=
18
MEAN=
19
MIN=
20
Not_possible_generate_unique_field_name=
21
STDEV=
22
SUM=
23
Summarize_Error_accessing_the_table=
24
Summarize_Error_calculating_the_groups=
25
Summarize_Error_saving_the_output_DBF_file=
26
Summarize_Field_does_not_exist=
27
Summarize_Group_by_field_does_not_exist=
28
Summarize_Table_has_no_fields=
29
SummarizeForm_columna_average=
30
SummarizeForm_columna_id=
31
SummarizeForm_columna_maximum=
32
SummarizeForm_columna_minimum=
33
SummarizeForm_columna_sd=
34
SummarizeForm_columna_sum=
35
SummarizeForm_columna_variance=
36
SummarizeForm_fichero_destino=
37
SummarizeForm_seleccionar_operaciones=
38
table_summarize=
39
title_summarize=
40
Unknown_summarize_error=
41
VAR=
42
Warning_Output_File=
0 43

  
tags/tmp_build/extensions/extTableSummarize/config/text_pt_br.properties
1
#Translations for language [pt_br]
2
#Fri Jul 10 12:48:52 CEST 2009
3
btn_SummarizeForm_aceptar=Aceitar
4
btn_SummarizeForm_cancelar=Cancelar
5
Choose_target_file_DBF=Escolher arquivo de destino (no formato .DBF)
6
COUNT=QUANTIDADE
7
DBF_files=Arquivo DBF
8
Error_creating_new_table=Erro na cria\u00e7\u00e3o da nova tabela.
9
Error_summarizing_table=Erro no resumo da tabela
10
File_exists_Do_you_want_to_overwrite_it?=
11
GROUP=GRUPO
12
Herramientas=Ferramentas
13
lbl_SummarizeForm_descripcion1=<html> S\u00edntese\: Cria uma nova tabela que cont\u00e9m um registro para cada valor do campo selecionado, bem como das estat\u00edsticas de outros campos. </ html>
14
lbl_SummarizeForm_punto1=1. Seleciona o campo pelo qual se agrupar\u00e1\:
15
lbl_SummarizeForm_punto2=2. Selecione uma ou mais estatisticas para ser incluidas na tabela de resultados\:
16
lbl_SummarizeForm_punto3=3. Especif\u00edque o arquivo de destino\:
17
MAX=MAX
18
MEAN=M\u00c9DIA
19
MIN=MIN
20
Not_possible_generate_unique_field_name=N\u00e3o \u00e9 poss\u00edvel gerar um nome de campo \u00fanico
21
STDEV=DT
22
SUM=Soma
23
Summarize_Error_accessing_the_table=Resumo da tabela\: Erro acessando a tabela
24
Summarize_Error_calculating_the_groups=Resumo de tabela\: Erro calculando os grupos
25
Summarize_Error_saving_the_output_DBF_file=Resumo de tabela\: Erro salvando o DBF de sa\u00edda.
26
Summarize_Field_does_not_exist=Resumo de tabela\: O campo n\u00e3o existe
27
Summarize_Group_by_field_does_not_exist=Resumo da tebale\: O campo para agrupar n\u00e3o existe
28
Summarize_Table_has_no_fields=Erro\: A tabela a resumir n\u00e3o cont\u00e9m campos
29
SummarizeForm_columna_average=M\u00e9dia
30
SummarizeForm_columna_id=Coluna
31
SummarizeForm_columna_maximum=M\u00e1ximo
32
SummarizeForm_columna_minimum=M\u00ednimo
33
SummarizeForm_columna_sd=Desvio t\u00edpico
34
SummarizeForm_columna_sum=Soma
35
SummarizeForm_columna_variance=Vari\u00e2ncia
36
SummarizeForm_fichero_destino=Defina um arquivo destino antes de realizar as opera\u00e7\u00f5es.
37
SummarizeForm_seleccionar_operaciones=Deve escolher as opera\u00e7\u00f5es a realizar antes de tentar executa-las.
38
table_summarize=Resumo das tabelas
39
title_summarize=Resumo de tabelas
40
Unknown_summarize_error=Resumo da tabela\: Erro desconhecido
41
VAR=VAR
42
Warning_Output_File=Aviso\: Arquivo de sa\u00edda
0 43

  
tags/tmp_build/extensions/extTableSummarize/config/text_fr.properties
1
#Translations for language [fr]
2
#Fri Jul 10 12:48:51 CEST 2009
3
btn_SummarizeForm_aceptar=
4
btn_SummarizeForm_cancelar=
5
Choose_target_file_DBF=
6
COUNT=
7
DBF_files=
8
Error_creating_new_table=
9
Error_summarizing_table=
10
File_exists_Do_you_want_to_overwrite_it?=
11
GROUP=
12
Herramientas=Outils
13
lbl_SummarizeForm_descripcion1=
14
lbl_SummarizeForm_punto1=
15
lbl_SummarizeForm_punto2=
16
lbl_SummarizeForm_punto3=
17
MAX=
18
MEAN=
19
MIN=
20
Not_possible_generate_unique_field_name=
21
STDEV=
22
SUM=
23
Summarize_Error_accessing_the_table=
24
Summarize_Error_calculating_the_groups=
25
Summarize_Error_saving_the_output_DBF_file=
26
Summarize_Field_does_not_exist=
27
Summarize_Group_by_field_does_not_exist=
28
Summarize_Table_has_no_fields=
29
SummarizeForm_columna_average=
30
SummarizeForm_columna_id=
31
SummarizeForm_columna_maximum=
32
SummarizeForm_columna_minimum=
33
SummarizeForm_columna_sd=
34
SummarizeForm_columna_sum=
35
SummarizeForm_columna_variance=
36
SummarizeForm_fichero_destino=
37
SummarizeForm_seleccionar_operaciones=
38
table_summarize=
39
title_summarize=
40
Unknown_summarize_error=
41
VAR=
42
Warning_Output_File=
0 43

  
tags/tmp_build/extensions/extTableSummarize/config/text_en_us.properties
1
#Translations for language [en_us]
2
#Fri Jul 10 12:48:52 CEST 2009
3
btn_SummarizeForm_aceptar=OK
4
btn_SummarizeForm_cancelar=Cancel
5
Choose_target_file_DBF=Choose target file (.DBF)
6
COUNT=COUNT
7
DBF_files=DBF files
8
Error_creating_new_table=Error creating the new table
9
Error_summarizing_table=Error_summarizing_table
10
File_exists_Do_you_want_to_overwrite_it?=
11
GROUP=GROUP
12
Herramientas=Tools
13
lbl_SummarizeForm_descripcion1=<html>Summarize Table\: creates a new table which contains a register for each unique value from the groupBy field, plus the selected statistics from the rest of the fields.</html>
14
lbl_SummarizeForm_punto1=1. Choose the groupBy field\:
15
lbl_SummarizeForm_punto2=2. Choose one or more statistics to be included in the result table\:
16
lbl_SummarizeForm_punto3=3. Choose the target file\:
17
MAX=MAX
18
MEAN=MEAN
19
MIN=MIN
20
Not_possible_generate_unique_field_name=It is not possible to generate a unique field name
21
STDEV=STDEV
22
SUM=SUM
23
Summarize_Error_accessing_the_table=Summarize\: Error accessing the table
24
Summarize_Error_calculating_the_groups=Summarize\: Error calculating the groups
25
Summarize_Error_saving_the_output_DBF_file=Summarize\: Error saving the output DBF
26
Summarize_Field_does_not_exist=Summarize\: Field does not exist
27
Summarize_Group_by_field_does_not_exist=Summarize\: Group by field does not exist
28
Summarize_Table_has_no_fields=Summarize Error\: Selected table has no fields
29
SummarizeForm_columna_average=Mean
30
SummarizeForm_columna_id=Field
31
SummarizeForm_columna_maximum=Maximum
32
SummarizeForm_columna_minimum=Minimum
33
SummarizeForm_columna_sd=Std. Deviation
34
SummarizeForm_columna_sum=Sum
35
SummarizeForm_columna_variance=Variance
36
SummarizeForm_fichero_destino=Please, choose the target file
37
SummarizeForm_seleccionar_operaciones=Please, choose some operations to calculate
38
table_summarize=Table Summarize
39
title_summarize=Table Summarize
40
Unknown_summarize_error=Unknown summarize error
41
VAR=VAR
42
Warning_Output_File=Warning\: Output File
tags/tmp_build/extensions/extTableSummarize/config/text_eu.properties
1
#Translations for language [eu]
2
#Fri Jul 10 12:48:51 CEST 2009
3
btn_SummarizeForm_aceptar=
4
btn_SummarizeForm_cancelar=
5
Choose_target_file_DBF=
6
COUNT=
7
DBF_files=
8
Error_creating_new_table=
9
Error_summarizing_table=
10
File_exists_Do_you_want_to_overwrite_it?=
11
GROUP=
12
Herramientas=Tresnak
13
lbl_SummarizeForm_descripcion1=
14
lbl_SummarizeForm_punto1=
15
lbl_SummarizeForm_punto2=
16
lbl_SummarizeForm_punto3=
17
MAX=
18
MEAN=
19
MIN=
20
Not_possible_generate_unique_field_name=
21
STDEV=
22
SUM=
23
Summarize_Error_accessing_the_table=
24
Summarize_Error_calculating_the_groups=
25
Summarize_Error_saving_the_output_DBF_file=
26
Summarize_Field_does_not_exist=
27
Summarize_Group_by_field_does_not_exist=
28
Summarize_Table_has_no_fields=
29
SummarizeForm_columna_average=
30
SummarizeForm_columna_id=
31
SummarizeForm_columna_maximum=
32
SummarizeForm_columna_minimum=
33
SummarizeForm_columna_sd=
34
SummarizeForm_columna_sum=
35
SummarizeForm_columna_variance=
36
SummarizeForm_fichero_destino=
37
SummarizeForm_seleccionar_operaciones=
38
table_summarize=
39
title_summarize=
40
Unknown_summarize_error=
41
VAR=
42
Warning_Output_File=
0 43

  
tags/tmp_build/extensions/extTableSummarize/config/text_nl.properties
1
#Translations for language [nl]
2
#Fri Jul 10 12:48:52 CEST 2009
3
btn_SummarizeForm_aceptar=
4
btn_SummarizeForm_cancelar=
5
Choose_target_file_DBF=
6
COUNT=
7
DBF_files=
8
Error_creating_new_table=
9
Error_summarizing_table=
10
File_exists_Do_you_want_to_overwrite_it?=
11
GROUP=
12
Herramientas=
13
lbl_SummarizeForm_descripcion1=
14
lbl_SummarizeForm_punto1=
15
lbl_SummarizeForm_punto2=
16
lbl_SummarizeForm_punto3=
17
MAX=
18
MEAN=
19
MIN=
20
Not_possible_generate_unique_field_name=
21
STDEV=
22
SUM=
23
Summarize_Error_accessing_the_table=
24
Summarize_Error_calculating_the_groups=
25
Summarize_Error_saving_the_output_DBF_file=
26
Summarize_Field_does_not_exist=
27
Summarize_Group_by_field_does_not_exist=
28
Summarize_Table_has_no_fields=
29
SummarizeForm_columna_average=
30
SummarizeForm_columna_id=
31
SummarizeForm_columna_maximum=
32
SummarizeForm_columna_minimum=
33
SummarizeForm_columna_sd=
34
SummarizeForm_columna_sum=
35
SummarizeForm_columna_variance=
36
SummarizeForm_fichero_destino=
37
SummarizeForm_seleccionar_operaciones=
38
table_summarize=
39
title_summarize=
40
Unknown_summarize_error=
41
VAR=
42
Warning_Output_File=
0 43

  
tags/tmp_build/extensions/extTableSummarize/config/text_pl.properties
1
#Translations for language [pl]
2
#Fri Jul 10 12:48:52 CEST 2009
3
btn_SummarizeForm_aceptar=
4
btn_SummarizeForm_cancelar=
5
Choose_target_file_DBF=
6
COUNT=
7
DBF_files=
8
Error_creating_new_table=
9
Error_summarizing_table=
10
File_exists_Do_you_want_to_overwrite_it?=
11
GROUP=
12
Herramientas=
13
lbl_SummarizeForm_descripcion1=
14
lbl_SummarizeForm_punto1=
15
lbl_SummarizeForm_punto2=
16
lbl_SummarizeForm_punto3=
17
MAX=
18
MEAN=
19
MIN=
20
Not_possible_generate_unique_field_name=
21
STDEV=
22
SUM=
23
Summarize_Error_accessing_the_table=
24
Summarize_Error_calculating_the_groups=
25
Summarize_Error_saving_the_output_DBF_file=
26
Summarize_Field_does_not_exist=
27
Summarize_Group_by_field_does_not_exist=
28
Summarize_Table_has_no_fields=
29
SummarizeForm_columna_average=
30
SummarizeForm_columna_id=
31
SummarizeForm_columna_maximum=
32
SummarizeForm_columna_minimum=
33
SummarizeForm_columna_sd=
34
SummarizeForm_columna_sum=
35
SummarizeForm_columna_variance=
36
SummarizeForm_fichero_destino=
37
SummarizeForm_seleccionar_operaciones=
38
table_summarize=
39
title_summarize=
40
Unknown_summarize_error=
41
VAR=
42
Warning_Output_File=
0 43

  
tags/tmp_build/extensions/extTableSummarize/config/text_it.properties
1
#Translations for language [it]
2
#Fri Jul 10 12:48:51 CEST 2009
3
btn_SummarizeForm_aceptar=
4
btn_SummarizeForm_cancelar=
5
Choose_target_file_DBF=
6
COUNT=
7
DBF_files=
8
Error_creating_new_table=
9
Error_summarizing_table=
10
File_exists_Do_you_want_to_overwrite_it?=
11
GROUP=
12
Herramientas=Strumenti
13
lbl_SummarizeForm_descripcion1=
14
lbl_SummarizeForm_punto1=
15
lbl_SummarizeForm_punto2=
16
lbl_SummarizeForm_punto3=
17
MAX=
18
MEAN=
19
MIN=
20
Not_possible_generate_unique_field_name=
21
STDEV=
22
SUM=
23
Summarize_Error_accessing_the_table=
24
Summarize_Error_calculating_the_groups=
25
Summarize_Error_saving_the_output_DBF_file=
26
Summarize_Field_does_not_exist=
27
Summarize_Group_by_field_does_not_exist=
28
Summarize_Table_has_no_fields=
29
SummarizeForm_columna_average=
30
SummarizeForm_columna_id=
31
SummarizeForm_columna_maximum=
32
SummarizeForm_columna_minimum=
33
SummarizeForm_columna_sd=
34
SummarizeForm_columna_sum=
35
SummarizeForm_columna_variance=
36
SummarizeForm_fichero_destino=
37
SummarizeForm_seleccionar_operaciones=
38
table_summarize=
39
title_summarize=
40
Unknown_summarize_error=
41
VAR=
42
Warning_Output_File=
0 43

  
tags/tmp_build/extensions/extTableSummarize/config/text_ro.properties
1
#Translations for language [ro]
2
#Fri Jul 10 12:48:52 CEST 2009
3
btn_SummarizeForm_aceptar=
4
btn_SummarizeForm_cancelar=
5
Choose_target_file_DBF=
6
COUNT=
7
DBF_files=
8
Error_creating_new_table=
9
Error_summarizing_table=
10
File_exists_Do_you_want_to_overwrite_it?=
11
GROUP=
12
Herramientas=
13
lbl_SummarizeForm_descripcion1=
14
lbl_SummarizeForm_punto1=
15
lbl_SummarizeForm_punto2=
16
lbl_SummarizeForm_punto3=
17
MAX=
18
MEAN=
19
MIN=
20
Not_possible_generate_unique_field_name=
21
STDEV=
22
SUM=
23
Summarize_Error_accessing_the_table=
24
Summarize_Error_calculating_the_groups=
25
Summarize_Error_saving_the_output_DBF_file=
26
Summarize_Field_does_not_exist=
27
Summarize_Group_by_field_does_not_exist=
28
Summarize_Table_has_no_fields=
29
SummarizeForm_columna_average=
30
SummarizeForm_columna_id=
31
SummarizeForm_columna_maximum=
32
SummarizeForm_columna_minimum=
33
SummarizeForm_columna_sd=
34
SummarizeForm_columna_sum=
35
SummarizeForm_columna_variance=
36
SummarizeForm_fichero_destino=
37
SummarizeForm_seleccionar_operaciones=
38
table_summarize=
39
title_summarize=
40
Unknown_summarize_error=
41
VAR=
42
Warning_Output_File=
0 43

  
tags/tmp_build/extensions/extTableSummarize/config/text.properties
1
#Translations for language [es]
2
#Fri Jul 10 12:48:51 CEST 2009
3
btn_SummarizeForm_aceptar=Aceptar
4
btn_SummarizeForm_cancelar=Cancelar
5
Choose_target_file_DBF=Escoja fichero destino (en formato .DBF)
6
COUNT=CANTIDAD
7
Data_source_not_initialized=Fuente de datos no inicializada
8
DBF_files=Ficheros DBF
9
Error_creating_new_table=Error creando la nueva tabla
10
Error_summarizing_table=Error en el resumen de tabla
11
File_exists_Do_you_want_to_overwrite_it=El fichero ya existe. \u00bfDesea sobreescribirlo?
12
File_exists_Do_you_want_to_overwrite_it?=
13
GROUP=GRUPO
14
GroupByField_not_initialized=Campo de agrupaci\u00f3n no inicializado
15
Herramientas=Herramientas
16
lbl_SummarizeForm_descripcion1=<html>Resumen de Tabla\: Crea una nueva tabla que contiene un registro\n por cada valor \u00fanico del campo seleccionado, adem\u00e1s de las estad\u00edsticas del resto de campos.</html>
17
lbl_SummarizeForm_punto1=1. Selecciona el campo por el que se agrupar\u00e1\:
18
lbl_SummarizeForm_punto2=2. Selecciona una o m\u00e1s estad\u00edsticas\n para ser incluidas en la tabla de resultados\:
19
lbl_SummarizeForm_punto3=3. Especificar fichero de destino\:
20
MAX=MAX
21
MEAN=MED
22
MIN=MIN
23
Not_possible_generate_unique_field_name=No es posible generar un nombre de campo \u00fanico
24
Operation_not_initialized=Operaci\u00f3n no inicializada
25
STDEV=DT
26
SUM=SUM
27
Summarize_Error_accessing_the_table=Resumen de tabla\: Error accediendo a la tabla
28
Summarize_Error_calculating_the_groups=Resumen de tabla\: Error calculando los grupos
29
Summarize_Error_saving_the_output_DBF_file=Resumen de tabla\: Error guardando el DBF de salida
30
Summarize_Field_does_not_exist=Resumen de tabla\: El campo no existe
31
Summarize_Group_by_field_does_not_exist=Resumen de tabla\: El campo para agrupar no existe
32
Summarize_Table_has_no_fields=Error\: La tabla a resumir no contiene campos
33
SummarizeForm_columna_average=Media
34
SummarizeForm_columna_id=Columna
35
SummarizeForm_columna_maximum=M\u00e1ximo
36
SummarizeForm_columna_minimum=M\u00ednimo
37
SummarizeForm_columna_sd=Desv. T\u00edpica
38
SummarizeForm_columna_sum=Suma
39
SummarizeForm_columna_variance=Varianza
40
SummarizeForm_fichero_destino=Por favor, debes escoger un fichero destino antes de realizar las operaciones.
41
SummarizeForm_seleccionar_operaciones=Por favor, debes escoger las operaciones a realizar antes de intentar ejecutarlas.
42
table_summarize=Resumen de tablas
43
title_summarize=Resumen de tablas
44
Unknown_summarize_error=Resumen de tabla\: Error desconocido
45
VAR=VAR
46
Warning_Output_File=Aviso\: Fichero de Salida
tags/tmp_build/extensions/extTableSummarize/config/text_zh.properties
1
#Translations for language [zh]
2
#Fri Jul 10 12:48:52 CEST 2009
3
btn_SummarizeForm_aceptar=
4
btn_SummarizeForm_cancelar=
5
Choose_target_file_DBF=
6
COUNT=
7
DBF_files=
8
Error_creating_new_table=
9
Error_summarizing_table=
10
File_exists_Do_you_want_to_overwrite_it?=
11
GROUP=
12
Herramientas=
13
lbl_SummarizeForm_descripcion1=
14
lbl_SummarizeForm_punto1=
15
lbl_SummarizeForm_punto2=
16
lbl_SummarizeForm_punto3=
17
MAX=
18
MEAN=
19
MIN=
20
Not_possible_generate_unique_field_name=
21
STDEV=
22
SUM=
23
Summarize_Error_accessing_the_table=
24
Summarize_Error_calculating_the_groups=
25
Summarize_Error_saving_the_output_DBF_file=
26
Summarize_Field_does_not_exist=
27
Summarize_Group_by_field_does_not_exist=
28
Summarize_Table_has_no_fields=
29
SummarizeForm_columna_average=
30
SummarizeForm_columna_id=
31
SummarizeForm_columna_maximum=
32
SummarizeForm_columna_minimum=
33
SummarizeForm_columna_sd=
34
SummarizeForm_columna_sum=
35
SummarizeForm_columna_variance=
36
SummarizeForm_fichero_destino=
37
SummarizeForm_seleccionar_operaciones=
38
table_summarize=
39
title_summarize=
40
Unknown_summarize_error=
41
VAR=
42
Warning_Output_File=
0 43

  
tags/tmp_build/extensions/extTableSummarize/config/text_ca.properties
1
#Translations for language [ca]
2
#Fri Jul 10 12:48:51 CEST 2009
3
btn_SummarizeForm_aceptar=
4
btn_SummarizeForm_cancelar=
5
Choose_target_file_DBF=
6
COUNT=
7
DBF_files=
8
Error_creating_new_table=
9
Error_summarizing_table=
10
File_exists_Do_you_want_to_overwrite_it?=
11
GROUP=
12
Herramientas=Ferramentes
13
lbl_SummarizeForm_descripcion1=
14
lbl_SummarizeForm_punto1=
15
lbl_SummarizeForm_punto2=
16
lbl_SummarizeForm_punto3=
17
MAX=
18
MEAN=
19
MIN=
20
Not_possible_generate_unique_field_name=
21
STDEV=
22
SUM=
23
Summarize_Error_accessing_the_table=
24
Summarize_Error_calculating_the_groups=
25
Summarize_Error_saving_the_output_DBF_file=
26
Summarize_Field_does_not_exist=
27
Summarize_Group_by_field_does_not_exist=
28
Summarize_Table_has_no_fields=
29
SummarizeForm_columna_average=
30
SummarizeForm_columna_id=
31
SummarizeForm_columna_maximum=
32
SummarizeForm_columna_minimum=
33
SummarizeForm_columna_sd=
34
SummarizeForm_columna_sum=
35
SummarizeForm_columna_variance=
36
SummarizeForm_fichero_destino=
37
SummarizeForm_seleccionar_operaciones=
38
table_summarize=
39
title_summarize=
40
Unknown_summarize_error=
41
VAR=
42
Warning_Output_File=
0 43

  
tags/tmp_build/extensions/extTableSummarize/config/text_pt.properties
1
#Translations for language [pt]
2
#Fri Jul 10 12:48:52 CEST 2009
3
btn_SummarizeForm_aceptar=
4
btn_SummarizeForm_cancelar=
5
Choose_target_file_DBF=
6
COUNT=
7
DBF_files=
8
Error_creating_new_table=
9
Error_summarizing_table=
10
File_exists_Do_you_want_to_overwrite_it?=
11
GROUP=
12
Herramientas=Ferramentas
13
lbl_SummarizeForm_descripcion1=
14
lbl_SummarizeForm_punto1=
15
lbl_SummarizeForm_punto2=
16
lbl_SummarizeForm_punto3=
17
MAX=
18
MEAN=
19
MIN=
20
Not_possible_generate_unique_field_name=
21
STDEV=
22
SUM=
23
Summarize_Error_accessing_the_table=
24
Summarize_Error_calculating_the_groups=
25
Summarize_Error_saving_the_output_DBF_file=
26
Summarize_Field_does_not_exist=
27
Summarize_Group_by_field_does_not_exist=
28
Summarize_Table_has_no_fields=
29
SummarizeForm_columna_average=
30
SummarizeForm_columna_id=
31
SummarizeForm_columna_maximum=
32
SummarizeForm_columna_minimum=
33
SummarizeForm_columna_sd=
34
SummarizeForm_columna_sum=
35
SummarizeForm_columna_variance=
36
SummarizeForm_fichero_destino=
37
SummarizeForm_seleccionar_operaciones=
38
table_summarize=
39
title_summarize=
40
Unknown_summarize_error=
41
VAR=
42
Warning_Output_File=
0 43

  
tags/tmp_build/extensions/extTableSummarize/config/text_sr.properties
1
#Translations for language [sr]
2
#Fri Jul 10 12:48:52 CEST 2009
3
btn_SummarizeForm_aceptar=
4
btn_SummarizeForm_cancelar=
5
Choose_target_file_DBF=
6
COUNT=
7
DBF_files=
8
Error_creating_new_table=
9
Error_summarizing_table=
10
File_exists_Do_you_want_to_overwrite_it?=
11
GROUP=
12
Herramientas=
13
lbl_SummarizeForm_descripcion1=
14
lbl_SummarizeForm_punto1=
15
lbl_SummarizeForm_punto2=
16
lbl_SummarizeForm_punto3=
17
MAX=
18
MEAN=
19
MIN=
20
Not_possible_generate_unique_field_name=
21
STDEV=
22
SUM=
23
Summarize_Error_accessing_the_table=
24
Summarize_Error_calculating_the_groups=
25
Summarize_Error_saving_the_output_DBF_file=
26
Summarize_Field_does_not_exist=
27
Summarize_Group_by_field_does_not_exist=
28
Summarize_Table_has_no_fields=
29
SummarizeForm_columna_average=
30
SummarizeForm_columna_id=
31
SummarizeForm_columna_maximum=
32
SummarizeForm_columna_minimum=
33
SummarizeForm_columna_sd=
34
SummarizeForm_columna_sum=
35
SummarizeForm_columna_variance=
36
SummarizeForm_fichero_destino=
37
SummarizeForm_seleccionar_operaciones=
38
table_summarize=
39
title_summarize=
40
Unknown_summarize_error=
41
VAR=
42
Warning_Output_File=
0 43

  
tags/tmp_build/extensions/extTableSummarize/config/text_de.properties
1
#Translations for language [de]
2
#Fri Jul 10 12:48:51 CEST 2009
3
btn_SummarizeForm_aceptar=Akzeptieren
4
btn_SummarizeForm_cancelar=Abbrechen
5
Choose_target_file_DBF=Zieldatei w\u00e4hlen (.DBF)
6
COUNT=MENGE
7
DBF_files=DBF- Dateien
8
Error_creating_new_table=Fehler beim Erzeugen der neuen Tabelle
9
Error_summarizing_table=Fehler bei "Summarize Table"
10
File_exists_Do_you_want_to_overwrite_it?=
11
GROUP=GROUP
12
Herramientas=Werkzeuge
13
lbl_SummarizeForm_descripcion1=<html>Summarize Tabelle\: erzeugt eine neue Tabelle, die je einen Eintrag eines eindeutigen Wertes des Feldes "group by" enth\u00e4lt. Ausserdem erh\u00e4lt Sie die Statistiken der anderen gew\u00e4hlten Felder. </html>
14
lbl_SummarizeForm_punto1=1. W\u00e4hlen Sie das Feld f\u00fcr die Gruppierung aus\:
15
lbl_SummarizeForm_punto2=2. W\u00e4hlen Sie eine oder mehrere Statistiken aus, die in der \nErgebnis-Tabelle ausgegeben werden sollen\:
16
lbl_SummarizeForm_punto3=3. W\u00e4hlen Sie die Ziel-Datei aus\: 
17
MAX=MAX
18
MEAN=MEAN
19
MIN=MIN
20
Not_possible_generate_unique_field_name=Nicht m\u00f6glich, einen eindeutigen Feldnamen zu vergeben
21
STDEV=STABW
22
SUM=SUM
23
Summarize_Error_accessing_the_table=Summarize\: Fehler beim Verbinden mit der Tabelle
24
Summarize_Error_calculating_the_groups=Summarize\: Fehler bei der Gruppierung
25
Summarize_Error_saving_the_output_DBF_file=Summarize\: Fehler beim Speichern der Ausgabe-Datei im Format DBF
26
Summarize_Field_does_not_exist=Summarize\: Feld existiert nicht
27
Summarize_Group_by_field_does_not_exist=Summarize\: Gruppierung durch Feld existiert nicht
28
Summarize_Table_has_no_fields=Fehler in Summarize\: Gew\u00e4hlte Tabelle hat keine Felder
29
SummarizeForm_columna_average=Mean
30
SummarizeForm_columna_id=Feld
31
SummarizeForm_columna_maximum=Maximum
32
SummarizeForm_columna_minimum=Minimum
33
SummarizeForm_columna_sd=Standard- Abweichung
34
SummarizeForm_columna_sum=Summe
35
SummarizeForm_columna_variance=Varianz
36
SummarizeForm_fichero_destino=Bitte w\u00e4hlen Sie die Ziel-Datei
37
SummarizeForm_seleccionar_operaciones=Bitten w\u00e4hlen Sie Optionen f\u00fcr die Berechnung
38
table_summarize=Summarize Tabelle
39
title_summarize=Summarize
40
Unknown_summarize_error=Unbekannter Fehler in Summarize
41
VAR=VAR
42
Warning_Output_File=Warnung\: Ausgabe- Datei
0 43

  
tags/tmp_build/extensions/extTableSummarize/config/text_sw.properties
1
#Translations for language [sw]
2
#Fri Jul 10 12:48:52 CEST 2009
3
btn_SummarizeForm_aceptar=
4
btn_SummarizeForm_cancelar=
5
Choose_target_file_DBF=
6
COUNT=
7
DBF_files=
8
Error_creating_new_table=
9
Error_summarizing_table=
10
File_exists_Do_you_want_to_overwrite_it?=
11
GROUP=
12
Herramientas=Zana
13
lbl_SummarizeForm_descripcion1=
14
lbl_SummarizeForm_punto1=
15
lbl_SummarizeForm_punto2=
16
lbl_SummarizeForm_punto3=
17
MAX=
18
MEAN=
19
MIN=
20
Not_possible_generate_unique_field_name=
21
STDEV=
22
SUM=
23
Summarize_Error_accessing_the_table=
24
Summarize_Error_calculating_the_groups=
25
Summarize_Error_saving_the_output_DBF_file=
26
Summarize_Field_does_not_exist=
27
Summarize_Group_by_field_does_not_exist=
28
Summarize_Table_has_no_fields=
29
SummarizeForm_columna_average=
30
SummarizeForm_columna_id=
31
SummarizeForm_columna_maximum=
32
SummarizeForm_columna_minimum=
33
SummarizeForm_columna_sd=
34
SummarizeForm_columna_sum=
35
SummarizeForm_columna_variance=
36
SummarizeForm_fichero_destino=
37
SummarizeForm_seleccionar_operaciones=
38
table_summarize=
39
title_summarize=
40
Unknown_summarize_error=
41
VAR=
42
Warning_Output_File=
0 43

  
tags/tmp_build/extensions/extTableSummarize/build.number
1
#Build Number for ANT. Do not edit!
2
#Wed Jul 22 11:57:01 GMT+01:00 2009
3
build.number=1241
tags/tmp_build/extensions/extTableSummarize/src/org/gvsig/app/documents/table/summarize/Summarize.java
1
/* gvSIG. Sistema de Informacion Geografica de la Generalitat Valenciana
2
 *
3
 * Copyright (C) 2009 IVER T.I.
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
18
 *
19
 * For more information, contact:
20
 *
21
 *  IVER T.I.
22
 *   C/ Lerida, 20
23
 *   46009 Valencia
24
 *   SPAIN
25
 *   http://www.iver.es
26
 *   dac@iver.es
27
 *   +34 963163400
28
 *   
29
 *  or
30
 *  
31
 *  Generalitat Valenciana
32
 *   Conselleria d'Infraestructures i Transport
33
 *   Av. Blasco Iba?ez, 50
34
 *   46010 VALENCIA
35
 *   SPAIN
36
 */
37
package org.gvsig.app.documents.table.summarize;
38

  
39
import java.io.File;
40
import java.io.IOException;
41
import java.math.BigDecimal;
42
import java.sql.Types;
43
import java.util.ArrayList;
44

  
45
import org.apache.log4j.Logger;
46
import org.gvsig.app.documents.table.summarize.exceptions.DBFExportException;
47
import org.gvsig.app.documents.table.summarize.exceptions.GroupByFieldNotExistsException;
48
import org.gvsig.app.documents.table.summarize.exceptions.GroupingErrorException;
49
import org.gvsig.app.documents.table.summarize.exceptions.InitializationException;
50
import org.gvsig.app.documents.table.summarize.exceptions.SummarizeException;
51
import org.gvsig.app.documents.table.summarize.utils.IntList;
52
import org.gvsig.app.documents.table.summarize.utils.SelectedStatistics;
53

  
54
import com.hardcode.driverManager.DriverLoadException;
55
import com.hardcode.gdbms.driver.exceptions.InitializeWriterException;
56
import com.hardcode.gdbms.driver.exceptions.ReadDriverException;
57
import com.hardcode.gdbms.engine.data.DataSource;
58
import com.hardcode.gdbms.engine.data.DataSourceFactory;
59
import com.hardcode.gdbms.engine.data.driver.FileDriver;
60
import com.hardcode.gdbms.engine.instruction.EvaluationException;
61
import com.hardcode.gdbms.engine.instruction.SemanticException;
62
import com.hardcode.gdbms.engine.values.Value;
63
import com.hardcode.gdbms.engine.values.ValueFactory;
64
import com.hardcode.gdbms.parser.ParseException;
65
import com.iver.andami.PluginServices;
66
import com.iver.cit.gvsig.exceptions.visitors.StartWriterVisitorException;
67
import com.iver.cit.gvsig.exceptions.visitors.StopWriterVisitorException;
68
import com.iver.cit.gvsig.exceptions.visitors.VisitorException;
69
import com.iver.cit.gvsig.fmap.core.DefaultFeature;
70
import com.iver.cit.gvsig.fmap.core.IFeature;
71
import com.iver.cit.gvsig.fmap.drivers.FieldDescription;
72
import com.iver.cit.gvsig.fmap.edition.DefaultRowEdited;
73
import com.iver.cit.gvsig.fmap.edition.IWriteable;
74
import com.iver.cit.gvsig.fmap.edition.IWriter;
75
import com.iver.cit.gvsig.fmap.layers.FBitSet;
76
import com.iver.cit.gvsig.fmap.layers.LayerFactory;
77
import com.iver.cit.gvsig.fmap.layers.SelectableDataSource;
78
import com.iver.cit.gvsig.fmap.selection.SelectionFieldIterator;
79
import com.iver.cit.gvsig.project.documents.table.Statistics.NonNumericFieldException;
80

  
81
/**
82
 * Summarizes a table. 
83
 * 
84
 * @author IVER T.I. <http://www.iver.es> 01/02/2009
85
 */
86
public class Summarize {
87
	private SelectableDataSource sds;
88
	private static Logger logger = Logger.getLogger(Summarize.class.getName());
89
	private ArrayList<SelectedStatistics> operations;
90
	private String groupByField;
91
	
92
	public Summarize() {
93
		
94
	}
95
	
96
	public Summarize(SelectableDataSource ds) {
97
		this.sds = ds;
98
	}
99

  
100
	public void summarizeToWriter(IWriter writer)
101
	throws InitializationException, GroupByFieldNotExistsException, SummarizeException, DBFExportException, GroupingErrorException {
102
		if (operations==null) {
103
			throw new InitializationException("Operation not initialized");
104
		}
105
		if (sds==null) {
106
			throw new InitializationException("Data source not initialized");
107
		}
108
		if (groupByField==null) {
109
			throw new InitializationException("GroupByField not initialized");
110
		}
111
		ArrayList<String> outputFieldNames = new ArrayList<String>();
112
		IntList outputTypeList = new IntList();
113
		try {
114
			createFieldsAndTypes(operations, outputFieldNames, outputTypeList);
115
			summarizeToWriter(writer, outputFieldNames.toArray(new String[0]), outputTypeList.toArray());
116
		} catch (ReadDriverException e) {
117
			throw new SummarizeException(e);
118
		}
119
	}
120

  
121

  
122
	public void summarizeToDbf(File dbfFile) 
123
		throws InitializationException, GroupByFieldNotExistsException, SummarizeException, DBFExportException, GroupingErrorException {
124
		if (operations==null) {
125
			throw new InitializationException("Operation not initialized");
126
		}
127
		if (sds==null) {
128
			throw new InitializationException("Data source not initialized");
129
		}
130
		if (groupByField==null) {
131
			throw new InitializationException("GroupByField not initialized");
132
		}
133
		
134
		ArrayList<String> outputFieldNames = new ArrayList<String>();
135
		IntList outputTypeList = new IntList();
136
		try {
137
			createFieldsAndTypes(operations, outputFieldNames, outputTypeList);
138
			IWriter writer = createDbfFile(dbfFile, outputFieldNames.toArray(new String[0]), outputTypeList.toArray());
139
			summarizeToWriter(writer, outputFieldNames.toArray(new String[0]), outputTypeList.toArray());
140
		} catch (ReadDriverException e) {
141
			throw new SummarizeException(e);
142
		}
143
	}
144
	
145
	protected void summarizeToWriter(IWriter writer, String[] outputFieldNames, int[] fieldTypes)
146
	throws SummarizeException, DBFExportException, 
147
	GroupingErrorException{
148
		try {
149
			initWriter(writer);
150
			calculateStats(getOperations(), groupByField, outputFieldNames, writer);
151
			finishWriter(writer);
152
		} catch (NonNumericFieldException e) {
153
			SummarizeException ex = new SummarizeException(e);
154
			throw ex;
155
		}
156
	}
157

  
158

  
159
	protected void createFieldsAndTypes(ArrayList<SelectedStatistics> operations,
160
			ArrayList<String> outputFieldNames,
161
			IntList fieldTypes) throws ReadDriverException, GroupByFieldNotExistsException, SummarizeException {
162
		
163
		//fixed columns
164
		int groupByFieldIdx;
165
		
166
		groupByFieldIdx = sds.getFieldIndexByName(groupByField);
167
		
168
		if (groupByFieldIdx==-1) {
169
			throw new GroupByFieldNotExistsException();
170
		}
171
		
172
		int maxlength = 10;
173
		
174
		String groupByName = createUniqueFieldName(outputFieldNames, "", PluginServices.getText(this, "GROUP"), maxlength);
175
		outputFieldNames.add(groupByName);
176
		fieldTypes.add(sds.getFieldType(groupByFieldIdx));
177
		
178
		String countName = createUniqueFieldName(outputFieldNames, "", PluginServices.getText(this, "COUNT"), maxlength);
179
		outputFieldNames.add(countName);
180
		fieldTypes.add(Types.INTEGER);
181
	
182
		for(int i=0; i<operations.size(); i++){				
183
			String currentFieldName = operations.get(i).getColumnName();
184
			int currFieldType = operations.get(i).getColumnType();
185
			
186
			if(operations.get(i).isMin()){
187
				String newField = createUniqueFieldName(outputFieldNames, currentFieldName, "_"+PluginServices.getText(this, "MIN"), maxlength);
188
				outputFieldNames.add(newField);
189
				fieldTypes.add(currFieldType);
190
			}
191
			if(operations.get(i).isMax()){
192
				String newField = createUniqueFieldName(outputFieldNames, currentFieldName, "_"+PluginServices.getText(this, "MAX"), maxlength);
193
				outputFieldNames.add(newField);
194
				fieldTypes.add(currFieldType);
195
			}
196
			if(operations.get(i).isMean()){
197
				String newField = createUniqueFieldName(outputFieldNames, currentFieldName, "_"+PluginServices.getText(this, "MEAN"), maxlength);
198
				outputFieldNames.add(newField);
199
				fieldTypes.add(Types.DOUBLE);
200
			}
201
			if(operations.get(i).isSum()){
202
				String newField = createUniqueFieldName(outputFieldNames, currentFieldName, "_"+PluginServices.getText(this, "SUM"), maxlength);
203
				outputFieldNames.add(newField);
204
				fieldTypes.add(currFieldType);
205
			}
206
			if(operations.get(i).isSd()){
207
				String newField = createUniqueFieldName(outputFieldNames,
208
						currentFieldName,
209
						"_"+PluginServices.getText(this, "STDEV"),
210
						maxlength);
211
				outputFieldNames.add(newField);
212
				fieldTypes.add(Types.DOUBLE);
213
			}
214
			if(operations.get(i).isVar()){
215
				String newField = createUniqueFieldName(outputFieldNames,
216
						currentFieldName,
217
						"_"+PluginServices.getText(this, "VAR"),
218
						maxlength);
219
				outputFieldNames.add(newField);
220
				fieldTypes.add(Types.DOUBLE);
221
			}
222
		}
223
	}
224
	
225
	
226
	/**
227
	 * <p>Creates a new field name (not contained in the existingFields list),
228
	 * based in the provided baseName and suffix and with the provided maximum
229
	 * length.
230
	 * The following pattern is used to create the new names:<p>
231
	 * <pre>(baseName)(index)*(suffix)</pre>
232
	 * <p>Examples of created names:</p>
233
	 * <pre>baseName: "TERRAIN", suffix: "_MAX", maxLength: 11
234
	 * existingFields: {"TERRAIN_MAX"}
235
	 * created fields: "TERRAI0_MAX", "TERRAI1_MAX", "TERRAI2_MAX", ..., "TERRA00_MAX", "TERRA01_MAX", etc.
236
	 * </pre>
237
	 * 
238
	 * @param existingFields
239
	 * @param baseName
240
	 * @param sufix
241
	 * @return
242
	 * @throws SummarizeException 
243
	 */
244
	public String createUniqueFieldName(ArrayList<String> existingFields,
245
			String baseName,
246
			String suffix,
247
			int maxLength) throws SummarizeException{
248
		
249
		// ensure we don't try to take a substring longer than baseName.length
250
		int auxLength = Math.min(maxLength-suffix.length(),
251
						baseName.length());
252
		
253
		String result = baseName.substring(0, auxLength) + suffix;
254
		if (!existingFields.contains(result)) {
255
			return result;
256
		}
257
		
258
		//ensure the index length is not longer than the maximum allowed field length
259
		long maxIndex = (long) Math.pow(10, maxLength-suffix.length());
260

  
261
		int index = 0;
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff