+ SSL
This commit is contained in:
@ -1,5 +1,10 @@
|
|||||||
server:
|
server:
|
||||||
port: 8081
|
port: 8081
|
||||||
|
ssl:
|
||||||
|
key-store: classpath:keystore.jks
|
||||||
|
key-store-password: QyKtWPZB
|
||||||
|
key-store-type: JKS
|
||||||
|
key-alias: weather
|
||||||
servlet:
|
servlet:
|
||||||
session:
|
session:
|
||||||
timeout: 300s
|
timeout: 300s
|
||||||
@ -17,14 +22,14 @@ custom:
|
|||||||
data_dir: /data/
|
data_dir: /data/
|
||||||
db_all:
|
db_all:
|
||||||
#url: jdbc:postgresql://92.46.48.43:5444/weather?ApplicationName=kz_mcp_weather&sslmode=require
|
#url: jdbc:postgresql://92.46.48.43:5444/weather?ApplicationName=kz_mcp_weather&sslmode=require
|
||||||
#url: jdbc:postgresql://192.168.0.90:5432/weather?ApplicationName=kz_mcp_weather&sslmode=require
|
url: jdbc:postgresql://192.168.0.90:5432/weather?ApplicationName=kz_mcp_weather&sslmode=require
|
||||||
url: jdbc:postgresql://127.0.0.1:5432/weather?ApplicationName=kz_mcp_weather&sslmode=require
|
#url: jdbc:postgresql://127.0.0.1:5432/weather?ApplicationName=kz_mcp_weather&sslmode=require
|
||||||
login: postgres
|
login: postgres
|
||||||
password: PasSecrKey1
|
password: PasSecrKey1
|
||||||
db_ru:
|
db_ru:
|
||||||
#url: jdbc:postgresql://92.46.48.43:5444/weather_ru?ApplicationName=kz_mcp_weather&sslmode=require
|
#url: jdbc:postgresql://92.46.48.43:5444/weather_ru?ApplicationName=kz_mcp_weather&sslmode=require
|
||||||
#url: jdbc:postgresql://192.168.0.90:5432/weather_ru?ApplicationName=kz_mcp_weather&sslmode=require
|
url: jdbc:postgresql://192.168.0.90:5432/weather_ru?ApplicationName=kz_mcp_weather&sslmode=require
|
||||||
url: jdbc:postgresql://127.0.0.1:5432/weather_ru?ApplicationName=kz_mcp_weather&sslmode=require
|
#url: jdbc:postgresql://127.0.0.1:5432/weather_ru?ApplicationName=kz_mcp_weather&sslmode=require
|
||||||
login: postgres
|
login: postgres
|
||||||
password: PasSecrKey1
|
password: PasSecrKey1
|
||||||
|
|
||||||
|
|||||||
@ -318,7 +318,7 @@ public class AirTemperature implements ServletContextAware {
|
|||||||
if(!country_id.isEmpty()) db_ru=true;
|
if(!country_id.isEmpty()) db_ru=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(country_id!=null && !country_id.equals("") && !country_id.equals("null"))
|
if(country_id!=null && !country_id.isEmpty() && !country_id.equals("null"))
|
||||||
{
|
{
|
||||||
String sql= """
|
String sql= """
|
||||||
insert into main.air_temperature(
|
insert into main.air_temperature(
|
||||||
@ -333,44 +333,36 @@ public class AirTemperature implements ServletContextAware {
|
|||||||
main.get_point_id(?,?,?)
|
main.get_point_id(?,?,?)
|
||||||
);
|
);
|
||||||
""";
|
""";
|
||||||
//String point_id=null;
|
|
||||||
if(db_all) {
|
if(db_all) {
|
||||||
//point_id = DBTools.getPointId(st_all, country_id, lon, lat);
|
try (PreparedStatement pstmt = conn_all.prepareStatement(sql)) {
|
||||||
//if(point_id!=null) {
|
pstmt.setFloat(1, dataArrayTmp.getFloat(pos));
|
||||||
try (PreparedStatement pstmt = conn_all.prepareStatement(sql)) {
|
pstmt.setLong(2, Long.valueOf(country_id));
|
||||||
pstmt.setFloat(1, dataArrayTmp.getFloat(pos));
|
pstmt.setString(3, date + " " + time);
|
||||||
pstmt.setLong(2, Long.valueOf(country_id));
|
pstmt.setInt(4, Integer.valueOf(forecast));
|
||||||
//pstmt.setLong(3, Long.valueOf(point_id));
|
pstmt.setLong(5, Long.valueOf(country_id));
|
||||||
pstmt.setString(3, date + " " + time);
|
pstmt.setDouble(6, lon);
|
||||||
pstmt.setInt(4, Integer.valueOf(forecast));
|
pstmt.setDouble(7, lat);
|
||||||
pstmt.setLong(5, Long.valueOf(country_id));
|
pstmt.executeUpdate();
|
||||||
pstmt.setDouble(6, lon);
|
} catch (SQLException ex) {
|
||||||
pstmt.setDouble(7, lat);
|
logger.error("E10:"+ex.getMessage(),ex);
|
||||||
pstmt.executeUpdate();
|
throw new Exception("Failed insert ...");
|
||||||
} catch (SQLException ex) {
|
}
|
||||||
logger.error("E10:"+ex.getMessage(),ex);
|
|
||||||
throw new Exception("Failed insert ...");
|
|
||||||
}
|
|
||||||
//}
|
|
||||||
}
|
}
|
||||||
if(db_ru) {
|
if(db_ru) {
|
||||||
//point_id = DBTools.getPointId(st_ru, country_id, lon, lat);
|
try (PreparedStatement pstmt = conn_ru.prepareStatement(sql)) {
|
||||||
//if(point_id!=null) {
|
pstmt.setFloat(1, dataArrayTmp.getFloat(pos));
|
||||||
try (PreparedStatement pstmt = conn_ru.prepareStatement(sql)) {
|
pstmt.setLong(2, Long.valueOf(country_id));
|
||||||
pstmt.setFloat(1, dataArrayTmp.getFloat(pos));
|
pstmt.setString(3, date + " " + time);
|
||||||
pstmt.setLong(2, Long.valueOf(country_id));
|
pstmt.setInt(4, Integer.valueOf(forecast));
|
||||||
//pstmt.setLong(3, Long.valueOf(point_id));
|
pstmt.setLong(5, Long.valueOf(country_id));
|
||||||
pstmt.setString(3, date + " " + time);
|
pstmt.setDouble(6, lon);
|
||||||
pstmt.setInt(4, Integer.valueOf(forecast));
|
pstmt.setDouble(7, lat);
|
||||||
pstmt.setLong(5, Long.valueOf(country_id));
|
pstmt.executeUpdate();
|
||||||
pstmt.setDouble(6, lon);
|
} catch (SQLException ex) {
|
||||||
pstmt.setDouble(7, lat);
|
logger.error("E11:"+ex.getMessage(),ex);
|
||||||
pstmt.executeUpdate();
|
throw new Exception("Failed insert ...");
|
||||||
} catch (SQLException ex) {
|
}
|
||||||
logger.error("E11:"+ex.getMessage(),ex);
|
|
||||||
throw new Exception("Failed insert ...");
|
|
||||||
}
|
|
||||||
//}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -312,72 +312,71 @@ public class Precipitation implements ServletContextAware {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int pos=0;
|
int pos=0;
|
||||||
for(int nLat=0;nLat<dataArrayLat.getSize();nLat++)
|
try{
|
||||||
{
|
for(int nLat=0;nLat<dataArrayLat.getSize();nLat++)
|
||||||
for(int nLon=0;nLon<dataArrayLon.getSize();nLon++)
|
|
||||||
{
|
{
|
||||||
//WGS84 Bounds: -180.0000, -90.0000, 180.0000, 90.0000
|
for(int nLon=0;nLon<dataArrayLon.getSize();nLon++)
|
||||||
//Projected Bounds: -180.0000, -90.0000, 180.0000, 90.0000
|
|
||||||
double lon = dataArrayLon.getFloat(nLon);
|
|
||||||
if(lon>180) lon=lon-360;
|
|
||||||
double lat = dataArrayLat.getFloat(nLat);
|
|
||||||
|
|
||||||
if(lat>29 && lat<67 && lon>17 && lon<180) //Central Asia
|
|
||||||
{
|
{
|
||||||
if(!Float.isNaN(dataArrayTmp.getFloat(pos))) //On the water none temperatyre.
|
//WGS84 Bounds: -180.0000, -90.0000, 180.0000, 90.0000
|
||||||
{
|
//Projected Bounds: -180.0000, -90.0000, 180.0000, 90.0000
|
||||||
String country_id="";
|
double lon = dataArrayLon.getFloat(nLon);
|
||||||
boolean db_all=false,db_ru=false;
|
if(lon>180) lon=lon-360;
|
||||||
if(country_id.isEmpty()) {
|
double lat = dataArrayLat.getFloat(nLat);
|
||||||
country_id = DBTools.getCountryId(st_all, lon, lat);
|
|
||||||
if(!country_id.isEmpty()) db_all=true;
|
|
||||||
}
|
|
||||||
if(country_id.isEmpty()) {
|
|
||||||
country_id = DBTools.getCountryId(st_ru, lon, lat);
|
|
||||||
if(!country_id.isEmpty()) db_ru=true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(country_id!=null && !country_id.equals("") && !country_id.equals("null"))
|
if(lat>29 && lat<67 && lon>17 && lon<180) //Central Asia
|
||||||
|
{
|
||||||
|
if(!Float.isNaN(dataArrayTmp.getFloat(pos))) //On the water none temperatyre.
|
||||||
{
|
{
|
||||||
String sql= """
|
String country_id="";
|
||||||
insert into main.precipitation(
|
boolean db_all=false,db_ru=false;
|
||||||
val,
|
if(country_id.isEmpty()) {
|
||||||
country_id,
|
country_id = DBTools.getCountryId(st_all, lon, lat);
|
||||||
point_id,
|
if(!country_id.isEmpty()) db_all=true;
|
||||||
air_temperature_date_id
|
}
|
||||||
)values(
|
if(country_id.isEmpty()) {
|
||||||
?,
|
country_id = DBTools.getCountryId(st_ru, lon, lat);
|
||||||
?,
|
if(!country_id.isEmpty()) db_ru=true;
|
||||||
?,
|
}
|
||||||
main.get_precipitation_date(cast(to_timestamp(?, 'YYYYMMDD HH24') as timestamp without time zone),?)
|
|
||||||
);
|
if(country_id!=null && !country_id.isEmpty() && !country_id.equals("null"))
|
||||||
""";
|
{
|
||||||
String point_id=null;
|
String sql= """
|
||||||
if(db_all) {
|
insert into main.precipitation(
|
||||||
point_id = DBTools.getPointId(st_all, country_id, lon, lat);
|
val,
|
||||||
if(point_id!=null) {
|
country_id,
|
||||||
|
air_temperature_date_id,
|
||||||
|
point_id
|
||||||
|
)values(
|
||||||
|
?,
|
||||||
|
?,
|
||||||
|
main.get_precipitation_date(cast(to_timestamp(?, 'YYYYMMDD HH24') as timestamp without time zone),?),
|
||||||
|
main.get_point_id(?,?,?)
|
||||||
|
);
|
||||||
|
""";
|
||||||
|
if(db_all) {
|
||||||
try (PreparedStatement pstmt = conn_all.prepareStatement(sql)) {
|
try (PreparedStatement pstmt = conn_all.prepareStatement(sql)) {
|
||||||
pstmt.setFloat(1, dataArrayTmp.getFloat(pos));
|
pstmt.setFloat(1, dataArrayTmp.getFloat(pos));
|
||||||
pstmt.setLong(2, Long.valueOf(country_id));
|
pstmt.setLong(2, Long.valueOf(country_id));
|
||||||
pstmt.setLong(3, Long.valueOf(point_id));
|
pstmt.setString(3, date + " " + time);
|
||||||
pstmt.setString(4, date + " " + time);
|
pstmt.setInt(4, Integer.valueOf(forecast));
|
||||||
pstmt.setInt(5, Integer.valueOf(forecast));
|
pstmt.setLong(5, Long.valueOf(country_id));
|
||||||
|
pstmt.setDouble(6, lon);
|
||||||
|
pstmt.setDouble(7, lat);
|
||||||
pstmt.executeUpdate();
|
pstmt.executeUpdate();
|
||||||
} catch (SQLException ex) {
|
} catch (SQLException ex) {
|
||||||
logger.error("E10:"+ex.getMessage(),ex);
|
logger.error("E10:"+ex.getMessage(),ex);
|
||||||
throw new Exception("Failed insert precipitation...");
|
throw new Exception("Failed insert precipitation...");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
if(db_ru) {
|
||||||
if(db_ru) {
|
|
||||||
point_id = DBTools.getPointId(st_ru, country_id, lon, lat);
|
|
||||||
if(point_id!=null) {
|
|
||||||
try (PreparedStatement pstmt = conn_ru.prepareStatement(sql)) {
|
try (PreparedStatement pstmt = conn_ru.prepareStatement(sql)) {
|
||||||
pstmt.setFloat(1, dataArrayTmp.getFloat(pos));
|
pstmt.setFloat(1, dataArrayTmp.getFloat(pos));
|
||||||
pstmt.setLong(2, Long.valueOf(country_id));
|
pstmt.setLong(2, Long.valueOf(country_id));
|
||||||
pstmt.setLong(3, Long.valueOf(point_id));
|
pstmt.setString(3, date + " " + time);
|
||||||
pstmt.setString(4, date + " " + time);
|
pstmt.setInt(4, Integer.valueOf(forecast));
|
||||||
pstmt.setInt(5, Integer.valueOf(forecast));
|
pstmt.setLong(5, Long.valueOf(country_id));
|
||||||
|
pstmt.setDouble(6, lon);
|
||||||
|
pstmt.setDouble(7, lat);
|
||||||
pstmt.executeUpdate();
|
pstmt.executeUpdate();
|
||||||
} catch (SQLException ex) {
|
} catch (SQLException ex) {
|
||||||
logger.error("E10:"+ex.getMessage(),ex);
|
logger.error("E10:"+ex.getMessage(),ex);
|
||||||
@ -385,14 +384,15 @@ public class Precipitation implements ServletContextAware {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
pos++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
pos++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (Exception ex) {
|
||||||
|
logger.error(ex.getMessage(),ex);
|
||||||
|
}
|
||||||
//Cut data piece from big country of Russia
|
//Cut data piece from big country of Russia
|
||||||
try {
|
try {
|
||||||
String sql="delete from main.points p where country_id=7 and not ST_Contains(ST_SetSRID(ST_GeomFromText('POLYGON((10.00 66.00,10.00 40.00,179.00 40.00,179.00 66.00,10.00 66.00))'),4326),ST_SetSRID(st_makepoint(p.lon,p.lat),4326));";
|
String sql="delete from main.points p where country_id=7 and not ST_Contains(ST_SetSRID(ST_GeomFromText('POLYGON((10.00 66.00,10.00 40.00,179.00 40.00,179.00 66.00,10.00 66.00))'),4326),ST_SetSRID(st_makepoint(p.lon,p.lat),4326));";
|
||||||
|
|||||||
@ -331,73 +331,71 @@ public class SoilTmperature implements ServletContextAware {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int pos=0;
|
int pos=0;
|
||||||
for(int nLat=0;nLat<dataArrayLat.getSize();nLat++)
|
try{
|
||||||
{
|
for(int nLat=0;nLat<dataArrayLat.getSize();nLat++)
|
||||||
for(int nLon=0;nLon<dataArrayLon.getSize();nLon++)
|
|
||||||
{
|
{
|
||||||
//WGS84 Bounds: -180.0000, -90.0000, 180.0000, 90.0000
|
for(int nLon=0;nLon<dataArrayLon.getSize();nLon++)
|
||||||
//Projected Bounds: -180.0000, -90.0000, 180.0000, 90.0000
|
|
||||||
double lon = dataArrayLon.getFloat(nLon);
|
|
||||||
if(lon>180) lon=lon-360;
|
|
||||||
double lat = dataArrayLat.getFloat(nLat);
|
|
||||||
|
|
||||||
if(lat>29 && lat<67 && lon>17 && lon<180) //Central Asia
|
|
||||||
{
|
{
|
||||||
if(!Float.isNaN(dataArrayTmp.getFloat(pos))) //On the water none temperatyre.
|
//WGS84 Bounds: -180.0000, -90.0000, 180.0000, 90.0000
|
||||||
|
//Projected Bounds: -180.0000, -90.0000, 180.0000, 90.0000
|
||||||
|
double lon = dataArrayLon.getFloat(nLon);
|
||||||
|
if(lon>180) lon=lon-360;
|
||||||
|
double lat = dataArrayLat.getFloat(nLat);
|
||||||
|
|
||||||
|
if(lat>29 && lat<67 && lon>17 && lon<180) //Central Asia
|
||||||
{
|
{
|
||||||
String country_id="";
|
if(!Float.isNaN(dataArrayTmp.getFloat(pos))) //On the water none temperatyre.
|
||||||
boolean db_all=false,db_ru=false;
|
|
||||||
if(country_id.isEmpty()) {
|
|
||||||
country_id = DBTools.getCountryId(st_all, lon, lat);
|
|
||||||
if(!country_id.isEmpty()) db_all=true;
|
|
||||||
}
|
|
||||||
if(country_id.isEmpty()) {
|
|
||||||
country_id = DBTools.getCountryId(st_ru, lon, lat);
|
|
||||||
if(!country_id.isEmpty()) db_ru=true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!country_id.isEmpty() && !country_id.equals("null"))
|
|
||||||
{
|
{
|
||||||
|
String country_id="";
|
||||||
|
boolean db_all=false,db_ru=false;
|
||||||
|
if(country_id.isEmpty()) {
|
||||||
|
country_id = DBTools.getCountryId(st_all, lon, lat);
|
||||||
|
if(!country_id.isEmpty()) db_all=true;
|
||||||
|
}
|
||||||
|
if(country_id.isEmpty()) {
|
||||||
|
country_id = DBTools.getCountryId(st_ru, lon, lat);
|
||||||
|
if(!country_id.isEmpty()) db_ru=true;
|
||||||
|
}
|
||||||
|
|
||||||
String sql="""
|
if(country_id!=null && !country_id.isEmpty() && !country_id.equals("null"))
|
||||||
insert into main.soil_temperature(
|
{
|
||||||
val,
|
String sql="""
|
||||||
country_id,
|
insert into main.soil_temperature(
|
||||||
point_id,
|
val,
|
||||||
soil_temperature_date_id
|
country_id,
|
||||||
)values(
|
soil_temperature_date_id,
|
||||||
?,
|
point_id
|
||||||
?,
|
)values(
|
||||||
?,
|
?,
|
||||||
main.get_soil_temperature_date(cast(to_timestamp(?, 'YYYYMMDD HH24') as timestamp without time zone),?)
|
?,
|
||||||
);
|
main.get_soil_temperature_date(cast(to_timestamp(?, 'YYYYMMDD HH24') as timestamp without time zone),?),
|
||||||
""";
|
main.get_point_id(?,?,?)
|
||||||
String point_id=null;
|
);
|
||||||
if(db_all) {
|
""";
|
||||||
point_id = DBTools.getPointId(st_all, country_id, lon, lat);
|
if(db_all) {
|
||||||
if(point_id!=null) {
|
|
||||||
try (PreparedStatement pstmt = conn_all.prepareStatement(sql)) {
|
try (PreparedStatement pstmt = conn_all.prepareStatement(sql)) {
|
||||||
pstmt.setFloat(1, dataArrayTmp.getFloat(pos));
|
pstmt.setFloat(1, dataArrayTmp.getFloat(pos));
|
||||||
pstmt.setLong(2, Long.valueOf(country_id));
|
pstmt.setLong(2, Long.valueOf(country_id));
|
||||||
pstmt.setLong(3, Long.valueOf(point_id));
|
pstmt.setString(3, date + " " + time);
|
||||||
pstmt.setString(4, date + " " + time);
|
pstmt.setInt(4, Integer.valueOf(forecast));
|
||||||
pstmt.setInt(5, Integer.valueOf(forecast));
|
pstmt.setLong(5, Long.valueOf(country_id));
|
||||||
|
pstmt.setDouble(6, lon);
|
||||||
|
pstmt.setDouble(7, lat);
|
||||||
pstmt.executeUpdate();
|
pstmt.executeUpdate();
|
||||||
} catch (SQLException ex) {
|
} catch (SQLException ex) {
|
||||||
logger.error("E10:"+ex.getMessage(),ex);
|
logger.error("E10:"+ex.getMessage(),ex);
|
||||||
throw new Exception("Failed insert soil temperature...");
|
throw new Exception("Failed insert soil temperature...");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
if(db_ru) {
|
||||||
if(db_ru) {
|
|
||||||
point_id = DBTools.getPointId(st_ru, country_id, lon, lat);
|
|
||||||
if(point_id!=null) {
|
|
||||||
try (PreparedStatement pstmt = conn_ru.prepareStatement(sql)) {
|
try (PreparedStatement pstmt = conn_ru.prepareStatement(sql)) {
|
||||||
pstmt.setFloat(1, dataArrayTmp.getFloat(pos));
|
pstmt.setFloat(1, dataArrayTmp.getFloat(pos));
|
||||||
pstmt.setLong(2, Long.valueOf(country_id));
|
pstmt.setLong(2, Long.valueOf(country_id));
|
||||||
pstmt.setLong(3, Long.valueOf(point_id));
|
pstmt.setString(3, date + " " + time);
|
||||||
pstmt.setString(4, date + " " + time);
|
pstmt.setInt(4, Integer.valueOf(forecast));
|
||||||
pstmt.setInt(5, Integer.valueOf(forecast));
|
pstmt.setLong(5, Long.valueOf(country_id));
|
||||||
|
pstmt.setDouble(6, lon);
|
||||||
|
pstmt.setDouble(7, lat);
|
||||||
pstmt.executeUpdate();
|
pstmt.executeUpdate();
|
||||||
} catch (SQLException ex) {
|
} catch (SQLException ex) {
|
||||||
logger.error("E10:"+ex.getMessage(),ex);
|
logger.error("E10:"+ex.getMessage(),ex);
|
||||||
@ -406,11 +404,12 @@ public class SoilTmperature implements ServletContextAware {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
pos++;
|
||||||
}
|
}
|
||||||
pos++;
|
|
||||||
}
|
}
|
||||||
|
} catch (Exception ex) {
|
||||||
|
logger.error(ex.getMessage(),ex);
|
||||||
}
|
}
|
||||||
|
|
||||||
//Cut data piece from big country of Russia
|
//Cut data piece from big country of Russia
|
||||||
|
|||||||
BIN
src/main/resources/keystore.jks
Normal file
BIN
src/main/resources/keystore.jks
Normal file
Binary file not shown.
Reference in New Issue
Block a user