22
33import javax .servlet .http .Part ;
44import java .io .*;
5+ import java .nio .file .Files ;
6+ import java .time .LocalDate ;
57import java .time .LocalDateTime ;
68import java .time .format .DateTimeFormatter ;
79import java .util .ArrayList ;
10+ import java .util .Arrays ;
811import java .util .List ;
912import java .util .Random ;
1013import java .util .zip .ZipEntry ;
1922public class ShapeImporter
2023{
2124 private final int BUFFER_SIZE = 8 * 1024 ;
22-
25+ private final File ConfigFileDir = new File ( "configFiles" );
2326 private final File uploadedFilesDir = new File ("uploaded" );
2427 private final File importFilesDir = new File ("importFiles" );
2528
@@ -28,11 +31,154 @@ public class ShapeImporter
2831
2932 public ShapeImporter ()
3033 {
34+ ConfigFileDir .mkdir ();
3135 uploadedFilesDir .mkdir ();
3236 importFilesDir .mkdir ();
37+ LoadConfigs ();
38+
3339 dbRepos = new DatabaseRepository ();
3440 }
3541
42+ private void LoadConfigs () {
43+ try {
44+
45+ File file = new File ("configFiles\\ GenConfigs" );
46+
47+ if (file .createNewFile ()){
48+ String [] GenConfigs ={
49+ "DB_USER = postgres" ,
50+ "DB_PASS = root" ,
51+ "DB_NAME = ohdm" ,
52+ "DB_HOST = localhost" ,
53+ "SCHEME_TEMP = temp" ,
54+ "SCHEME_TEST = test" ,
55+ "SCHEME_CACHE = intermediateosm" ,
56+ "DB_GEO_USER=geoserver" ,
57+ /*STEP 2*/
58+ "DB_HOST_OHDM = localhost" ,
59+ "DB_PORT_OHDM = 5432" ,
60+ "DB_USER_OHDM = postgres" ,
61+ "DB_PASS_OHDM = root" ,
62+ //Intermediate
63+ "DB_NAME_INTERMEDIATE =ohdm" ,
64+ //ohdm
65+ "DB_NAME_OHDM = ohdm" ,
66+ "SCHEME_OHDM = ohdm" ,
67+ "SCHEME_INTERMEDIATE = intermediateosm" ,
68+ "GID=gid" ,
69+ "GEOM=geom" ,
70+ "VALIDSINCE=12-04-1999" ,
71+ "VALIDUNTIL=12-04-2022" ,
72+ "CLASSIFICATION_ID=13" ,
73+ "JDBC_DRIVER_PATH= C:\\ dev\\ ohdm\\ postgresql-42.1.1.jar" ,
74+ "OHDM_CONVERTER_PATH=C:\\ dev\\ ohdm\\ OHDMConverter.jar" ,
75+ "TABLENAME=''" ,
76+ "SHP_TO_PGSQL_FILE_PATH = C:\\ Program Files\\ PostgreSQL\\ 9.6\\ bin\\ shp2pgsql.exe" ,
77+ "PGSQL_FILE_PATH = C:\\ Program Files\\ PostgreSQL\\ 9.6\\ bin\\ psql.exe" ,
78+ };
79+ Files .write (file .toPath (), Arrays .asList (GenConfigs ));
80+
81+ }
82+
83+ List <String > fileLines = Files .readAllLines (file .toPath ());
84+
85+ for (String Param :fileLines )
86+ {
87+ String [] KeyValue = Param .split ("=" );
88+ String VarKey = KeyValue [0 ].trim ();
89+ String VarValue = KeyValue [1 ].trim ();
90+ switch (VarKey ){
91+
92+ case "DB_USER" :
93+ DB_USER = VarValue ;
94+ break ;
95+ case "DB_PASS" :
96+ DB_PASS = VarValue ;
97+ break ;
98+ case "DB_NAME" :
99+ DB_NAME = VarValue ;
100+ break ;
101+ case "DB_HOST" :
102+ DB_HOST = VarValue ;
103+ break ;
104+ case "SCHEME_TEMP" :
105+ SCHEME_TEMP = VarValue ;
106+ break ;
107+ case "SCHEME_TEST" :
108+ SCHEME_TEST = VarValue ;
109+ break ;
110+ case "SCHEME_CACHE" :
111+ SCHEME_CACHE = VarValue ;
112+ break ;
113+ case "DB_GEO_USER" :
114+ DB_GEO_USER = VarValue ;
115+ break ;
116+ case "DB_HOST_OHDM" :
117+ DB_HOST_OHDM = VarValue ;
118+ break ;
119+ case "DB_PORT_OHDM" :
120+ DB_PORT_OHDM = VarValue ;
121+ break ;
122+ case "DB_USER_OHDM" :
123+ DB_USER_OHDM = VarValue ;
124+ break ;
125+ case "DB_PASS_OHDM" :
126+ DB_PASS_OHDM = VarValue ;
127+ break ;
128+ case "DB_NAME_INTERMEDIATE" :
129+ DB_NAME_INTERMEDIATE = VarValue ;
130+ break ;
131+ case "DB_NAME_OHDM" :
132+ DB_NAME_OHDM = VarValue ;
133+ break ;
134+ case "SCHEME_OHDM" :
135+ SCHEME_OHDM = VarValue ;
136+ break ;
137+ case "SCHEME_INTERMEDIATE" :
138+ SCHEME_INTERMEDIATE = VarValue ;
139+ break ;
140+ case "GID" :
141+ GID = VarValue ;
142+ break ;
143+ case "GEOM" :
144+ GEOM = VarValue ;
145+ break ;
146+ case "VALIDSINCE" :
147+ VALIDSINCE = VarValue ;
148+ break ;
149+ case "VALIDUNTIL" :
150+ VALIDUNTIL = VarValue ;
151+ break ;
152+ case "CLASSIFICATION_ID" :
153+ CLASSIFICATION_ID = VarValue ;
154+ break ;
155+ case "JDBC_DRIVER_PATH" :
156+ JDBC_DRIVER_PATH = VarValue ;
157+ break ;
158+ case "OHDM_CONVERTER_PATH" :
159+ OHDM_CONVERTER_PATH = VarValue ;
160+ break ;
161+ case "TABLENAME" :
162+ TABLENAME = VarValue ;
163+ break ;
164+ case "SHP_TO_PGSQL_FILE_PATH" :
165+ SHP_TO_PGSQL_FILE_PATH = VarValue ;
166+ break ;
167+ case "PGSQL_FILE_PATH" :
168+ PGSQL_FILE_PATH = VarValue ;
169+ break ;
170+
171+ }
172+
173+ }
174+
175+ } catch (IOException e ) {
176+ e .printStackTrace ();
177+ }
178+
179+
180+ }
181+
36182 public String importFile (File zipFile , String userName ) throws Exception
37183 {
38184 List unzipFiles = unzipFile (zipFile );
0 commit comments