Первый коммит
This commit is contained in:
41
.classpath
Normal file
41
.classpath
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<classpath>
|
||||||
|
<classpathentry kind="src" output="target/classes" path="src/main/java">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="optional" value="true"/>
|
||||||
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
|
<attribute name="optional" value="true"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="test" value="true"/>
|
||||||
|
<attribute name="optional" value="true"/>
|
||||||
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="test" value="true"/>
|
||||||
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
|
<attribute name="optional" value="true"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
|
<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="output" path="target/classes"/>
|
||||||
|
</classpath>
|
||||||
0
.metadata/.lock
Normal file
0
.metadata/.lock
Normal file
44
.metadata/.log
Normal file
44
.metadata/.log
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
!SESSION 2023-11-03 14:21:07.017 -----------------------------------------------
|
||||||
|
eclipse.buildId=4.29.0.20230907-1200
|
||||||
|
java.version=17.0.8.1
|
||||||
|
java.vendor=Eclipse Adoptium
|
||||||
|
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=ru_RU
|
||||||
|
Framework arguments: -product org.eclipse.epp.package.jee.product
|
||||||
|
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product
|
||||||
|
|
||||||
|
!ENTRY org.eclipse.emf.ecore 2 0 2023-11-03 14:21:30.834
|
||||||
|
!MESSAGE Both 'org.eclipse.jst.j2ee.core' and 'org.eclipse.jst.j2ee.core' register a package for 'application.xmi'
|
||||||
|
|
||||||
|
!ENTRY ch.qos.logback.classic 1 0 2023-11-03 14:21:31.045
|
||||||
|
!MESSAGE Activated before the state location was initialized. Retry after the state location is initialized.
|
||||||
|
|
||||||
|
!ENTRY ch.qos.logback.classic 1 0 2023-11-03 14:22:08.054
|
||||||
|
!MESSAGE Logback config file: O:\projects\Workspace_Java\CCALM_TOMCAT\.metadata\.plugins\org.eclipse.m2e.logback\logback.2.2.0.20230625-0847.xml
|
||||||
|
|
||||||
|
!ENTRY org.eclipse.jface 2 0 2023-11-03 14:22:10.937
|
||||||
|
!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
|
||||||
|
!SUBENTRY 1 org.eclipse.jface 2 0 2023-11-03 14:22:10.937
|
||||||
|
!MESSAGE A conflict occurred for CTRL+SHIFT+T:
|
||||||
|
Binding(CTRL+SHIFT+T,
|
||||||
|
ParameterizedCommand(Command(org.eclipse.jdt.ui.navigate.open.type,Open Type,
|
||||||
|
Open a type in a Java editor,
|
||||||
|
Category(org.eclipse.ui.category.navigate,Navigate,null,true),
|
||||||
|
WorkbenchHandlerServiceHandler("org.eclipse.jdt.ui.navigate.open.type"),
|
||||||
|
,,true),null),
|
||||||
|
org.eclipse.ui.defaultAcceleratorConfiguration,
|
||||||
|
org.eclipse.ui.contexts.window,,,system)
|
||||||
|
Binding(CTRL+SHIFT+T,
|
||||||
|
ParameterizedCommand(Command(org.eclipse.lsp4e.symbolinworkspace,Go to Symbol in Workspace,
|
||||||
|
,
|
||||||
|
Category(org.eclipse.lsp4e.category,Language Servers,null,true),
|
||||||
|
WorkbenchHandlerServiceHandler("org.eclipse.lsp4e.symbolinworkspace"),
|
||||||
|
,,true),null),
|
||||||
|
org.eclipse.ui.defaultAcceleratorConfiguration,
|
||||||
|
org.eclipse.ui.contexts.window,,,system)
|
||||||
|
|
||||||
|
!ENTRY org.eclipse.egit.ui 2 0 2023-11-03 14:22:15.356
|
||||||
|
!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
|
||||||
|
user global configuration and to define the default location to store repositories: 'C:\Users\ivanov.i'. If this is
|
||||||
|
not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
|
||||||
|
EGit might behave differently since they see different configuration options.
|
||||||
|
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
|
||||||
BIN
.metadata/.mylyn/repositories.xml.zip
Normal file
BIN
.metadata/.mylyn/repositories.xml.zip
Normal file
Binary file not shown.
Binary file not shown.
@ -0,0 +1 @@
|
|||||||
|
|
||||||
Binary file not shown.
@ -0,0 +1 @@
|
|||||||
|
|
||||||
BIN
.metadata/.plugins/org.eclipse.core.resources/.root/1.tree
Normal file
BIN
.metadata/.plugins/org.eclipse.core.resources/.root/1.tree
Normal file
Binary file not shown.
Binary file not shown.
@ -0,0 +1,3 @@
|
|||||||
|
eclipse.preferences.version=1
|
||||||
|
encoding=UTF-8
|
||||||
|
version=1
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
eclipse.preferences.version=1
|
||||||
|
org.eclipse.jdt.internal.ui.navigator.layout=2
|
||||||
|
org.eclipse.jdt.internal.ui.navigator.librariesnode=true
|
||||||
|
org.eclipse.jdt.ui.formatterprofiles.version=23
|
||||||
|
spelling_locale_initialized=true
|
||||||
|
typefilter_migrated_2=true
|
||||||
|
useAnnotationsPrefPage=true
|
||||||
|
useQuickDiffPrefPage=true
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
eclipse.preferences.version=1
|
||||||
|
org.eclipse.jsch.core.hasChangedDefaultWin32SshHome=true
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
areThereWebServices=false
|
||||||
|
eclipse.preferences.version=1
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
eclipse.preferences.version=1
|
||||||
|
org.eclipse.m2e.discovery.pref.projects=
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
eclipse.preferences.version=1
|
||||||
|
mylyn.attention.migrated=true
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
eclipse.preferences.version=1
|
||||||
|
org.eclipse.mylyn.monitor.activity.tracking.enabled.checked=true
|
||||||
@ -0,0 +1,4 @@
|
|||||||
|
eclipse.preferences.version=1
|
||||||
|
migrated.task.repositories.secure.store=true
|
||||||
|
org.eclipse.mylyn.tasks.ui.filters.nonmatching=true
|
||||||
|
org.eclipse.mylyn.tasks.ui.filters.nonmatching.encouraged=true
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
browsers=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<web-browsers current\="0">\r\n<system/>\r\n<external location\="C\:\\Program Files\\Internet Explorer\\iexplore.exe" name\="%browserInternetExplorer"/>\r\n<external location\="C\:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe" name\="Microsoft Edge"/>\r\n<external location\="C\:\\Program Files\\Google\\Chrome\\Application\\chrome.exe" name\="Chrome"/>\r\n</web-browsers>
|
||||||
|
eclipse.preferences.version=1
|
||||||
@ -0,0 +1,4 @@
|
|||||||
|
eclipse.preferences.version=1
|
||||||
|
platformState=1698999668405
|
||||||
|
quickStart=false
|
||||||
|
tipsAndTricks=true
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
eclipse.preferences.version=1
|
||||||
|
org.eclipse.ui.navigator.ProjectExplorer.filterActivation=\:org.eclipse.jdt.java.ui.filters.HidePackageDeclaration\:org.eclipse.jdt.java.ui.filters.HideOutputFolder\:org.eclipse.buildship.ui.navigator.filter.gradle.subProject\:org.eclipse.ui.navigator.resources.nested.HideTopLevelProjectIfNested\:org.eclipse.buildship.ui.navigator.filter.gradle.buildfolder\:org.eclipse.jdt.java.ui.filters.HideEmptyInnerPackages\:org.eclipse.jst.j2ee.navigator.ui.filters.jetemitters\:org.eclipse.jdt.java.ui.filters.HideInnerClassFiles\:org.eclipse.ui.navigator.resources.filters.startsWithDot\:org.eclipse.jdt.java.ui.filters.HideEmptyLibraryContainers\:org.eclipse.jdt.java.ui.filters.HideImportDeclaration\:org.eclipse.jdt.java.ui.filters.HideSyntheticMembers\:org.eclipse.mylyn.tasks.ui.navigator.filters.tasks\:org.eclipse.ui.navigator.resources.nested.HideFolderWhenProjectIsShownAsNested\:
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
eclipse.preferences.version=1
|
||||||
|
showIntro=false
|
||||||
@ -0,0 +1,14 @@
|
|||||||
|
//org.eclipse.ui.commands/state/org.eclipse.ui.navigator.resources.nested.changeProjectPresentation/org.eclipse.ui.commands.radioState=false
|
||||||
|
//org.eclipse.ui.commands/state/org.eclipse.wst.xml.views.XPathView.processor.xpathprocessor/org.eclipse.ui.commands.radioState=xpath10
|
||||||
|
PLUGINS_NOT_ACTIVATED_ON_STARTUP=;org.eclipse.m2e.discovery;
|
||||||
|
SAVE_AUTOMATICALLY=true
|
||||||
|
eclipse.preferences.version=1
|
||||||
|
org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_BG_END=41,41,41
|
||||||
|
org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_BG_START=43,44,45
|
||||||
|
org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_TEXT_COLOR=204,204,204
|
||||||
|
org.eclipse.ui.workbench.ACTIVE_TAB_BG_END=41,41,41
|
||||||
|
org.eclipse.ui.workbench.ACTIVE_TAB_BG_START=43,44,45
|
||||||
|
org.eclipse.ui.workbench.ACTIVE_TAB_TEXT_COLOR=221,221,221
|
||||||
|
org.eclipse.ui.workbench.INACTIVE_TAB_BG_END=49,53,56
|
||||||
|
org.eclipse.ui.workbench.INACTIVE_TAB_BG_START=59,64,66
|
||||||
|
org.eclipse.ui.workbench.INACTIVE_TAB_TEXT_COLOR=187,187,187
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
eclipse.preferences.version=1
|
||||||
|
processedSchemes=,eclipse+command,eclipse+mpc
|
||||||
3121
.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi
Normal file
3121
.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<projectDescription>
|
||||||
|
<name>.org.eclipse.egit.core.cmp</name>
|
||||||
|
<comment></comment>
|
||||||
|
<projects>
|
||||||
|
</projects>
|
||||||
|
<buildSpec>
|
||||||
|
</buildSpec>
|
||||||
|
<natures>
|
||||||
|
</natures>
|
||||||
|
</projectDescription>
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
eclipse.preferences.version=1
|
||||||
|
encoding/<project>=UTF-8
|
||||||
Binary file not shown.
BIN
.metadata/.plugins/org.eclipse.jdt.core/externalFilesCache
Normal file
BIN
.metadata/.plugins/org.eclipse.jdt.core/externalFilesCache
Normal file
Binary file not shown.
@ -0,0 +1 @@
|
|||||||
|
java
|
||||||
BIN
.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache
Normal file
BIN
.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache
Normal file
Binary file not shown.
Binary file not shown.
@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<typeInfoHistroy/>
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<qualifiedTypeNameHistroy/>
|
||||||
BIN
.metadata/.plugins/org.eclipse.m2e.core/workspaceState.ser
Normal file
BIN
.metadata/.plugins/org.eclipse.m2e.core/workspaceState.ser
Normal file
Binary file not shown.
1
.metadata/.plugins/org.eclipse.m2e.logback/0.log
Normal file
1
.metadata/.plugins/org.eclipse.m2e.logback/0.log
Normal file
@ -0,0 +1 @@
|
|||||||
|
2023-11-03 14:22:15,281 [Worker-1: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is not available. Remote download required.
|
||||||
@ -0,0 +1,41 @@
|
|||||||
|
<configuration scan="true">
|
||||||
|
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
|
||||||
|
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
|
||||||
|
<pattern>%date [%thread] %-5level %logger{35} - %msg%n</pattern>
|
||||||
|
</encoder>
|
||||||
|
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
||||||
|
<level>${org.eclipse.m2e.log.console.threshold:-OFF}</level> <!-- change to DEBUG to mimic '-consolelog' behaviour -->
|
||||||
|
</filter>
|
||||||
|
</appender>
|
||||||
|
|
||||||
|
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||||
|
<File>${org.eclipse.m2e.log.dir}/0.log</File>
|
||||||
|
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
|
||||||
|
<FileNamePattern>${org.eclipse.m2e.log.dir}/%i.log</FileNamePattern>
|
||||||
|
<MinIndex>1</MinIndex>
|
||||||
|
<MaxIndex>10</MaxIndex>
|
||||||
|
</rollingPolicy>
|
||||||
|
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
|
||||||
|
<MaxFileSize>10MB</MaxFileSize>
|
||||||
|
</triggeringPolicy>
|
||||||
|
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
|
||||||
|
<pattern>%date [%thread] %-5level %logger{35} - %msg%n</pattern>
|
||||||
|
</encoder>
|
||||||
|
</appender>
|
||||||
|
|
||||||
|
<appender name="EclipseLog" class="org.eclipse.m2e.logback.appender.EclipseLogAppender">
|
||||||
|
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
||||||
|
<level>WARN</level>
|
||||||
|
</filter>
|
||||||
|
</appender>
|
||||||
|
|
||||||
|
<appender name="MavenConsoleLog" class="org.eclipse.m2e.logback.appender.MavenConsoleAppender">
|
||||||
|
</appender>
|
||||||
|
|
||||||
|
<root level="INFO">
|
||||||
|
<appender-ref ref="FILE" />
|
||||||
|
<appender-ref ref="STDOUT" />
|
||||||
|
<appender-ref ref="EclipseLog" />
|
||||||
|
<appender-ref ref="MavenConsoleLog" />
|
||||||
|
</root>
|
||||||
|
</configuration>
|
||||||
BIN
.metadata/.plugins/org.eclipse.mylyn.github.ui/avatars.ser
Normal file
BIN
.metadata/.plugins/org.eclipse.mylyn.github.ui/avatars.ser
Normal file
Binary file not shown.
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<setup:Workspace
|
||||||
|
xmi:version="2.0"
|
||||||
|
xmlns:xmi="http://www.omg.org/XMI"
|
||||||
|
xmlns:setup="http://www.eclipse.org/oomph/setup/1.0"
|
||||||
|
name="workspace"/>
|
||||||
@ -0,0 +1,3 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<section name="Workbench">
|
||||||
|
</section>
|
||||||
2
.metadata/.plugins/org.eclipse.ui.intro/introstate
Normal file
2
.metadata/.plugins/org.eclipse.ui.intro/introstate
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<state reopen="false"/>
|
||||||
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<workingSetManager>
|
||||||
|
<workingSet editPageId="org.eclipse.jdt.internal.ui.DynamicSourcesWorkingSet" factoryID="org.eclipse.ui.internal.WorkingSetFactory" id="1698999731955_0" label="Java Main Sources" name="Java Main Sources"/>
|
||||||
|
<workingSet editPageId="org.eclipse.jdt.internal.ui.DynamicSourcesWorkingSet" factoryID="org.eclipse.ui.internal.WorkingSetFactory" id="1698999731962_1" label="Java Test Sources" name="Java Test Sources"/>
|
||||||
|
<workingSet aggregate="true" factoryID="org.eclipse.ui.internal.WorkingSetFactory" id="1698999733362_2" label="Window Working Set" name="Aggregate for window 1698999733362"/>
|
||||||
|
</workingSetManager>
|
||||||
3
.metadata/version.ini
Normal file
3
.metadata/version.ini
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
#Fri Nov 03 14:22:07 ALMT 2023
|
||||||
|
org.eclipse.core.runtime=2
|
||||||
|
org.eclipse.platform=4.29.0.v20230903-1000
|
||||||
69
.project
Normal file
69
.project
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<projectDescription>
|
||||||
|
<name>CCALM_TOMCAT</name>
|
||||||
|
<comment></comment>
|
||||||
|
<projects>
|
||||||
|
</projects>
|
||||||
|
<buildSpec>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.wst.common.project.facet.core.builder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.springframework.ide.eclipse.core.springbuilder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.wst.validation.validationbuilder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.m2e.core.maven2Builder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
</buildSpec>
|
||||||
|
<natures>
|
||||||
|
<nature>org.springframework.ide.eclipse.core.springnature</nature>
|
||||||
|
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||||
|
<nature>org.eclipse.m2e.core.maven2Nature</nature>
|
||||||
|
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
|
||||||
|
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
|
||||||
|
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
|
||||||
|
</natures>
|
||||||
|
<linkedResources>
|
||||||
|
<link>
|
||||||
|
<name>src/main/java/tctable/Point.java</name>
|
||||||
|
<type>1</type>
|
||||||
|
<location>O:/projects/Workspace_Android/ASDC/app/src/main/java/tctable/Point.java</location>
|
||||||
|
</link>
|
||||||
|
<link>
|
||||||
|
<name>src/main/java/tctable/TCField.java</name>
|
||||||
|
<type>1</type>
|
||||||
|
<location>O:/projects/Workspace_Android/ASDC/app/src/main/java/tctable/TCField.java</location>
|
||||||
|
</link>
|
||||||
|
<link>
|
||||||
|
<name>src/main/java/tctable/TCTable.java</name>
|
||||||
|
<type>1</type>
|
||||||
|
<location>O:/projects/Workspace_Android/ASDC/app/src/main/java/tctable/TCTable.java</location>
|
||||||
|
</link>
|
||||||
|
<link>
|
||||||
|
<name>src/main/java/tctable/Tools.java</name>
|
||||||
|
<type>1</type>
|
||||||
|
<location>O:/projects/Workspace_Android/ASDC/app/src/main/java/tctable/Tools.java</location>
|
||||||
|
</link>
|
||||||
|
</linkedResources>
|
||||||
|
</projectDescription>
|
||||||
13
.settings/org.eclipse.core.resources.prefs
Normal file
13
.settings/org.eclipse.core.resources.prefs
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
eclipse.preferences.version=1
|
||||||
|
encoding//src/main/java/messages_az.properties_not_used=UTF-8
|
||||||
|
encoding//src/main/java/messages_en.properties_not_used=UTF-8
|
||||||
|
encoding//src/main/java/messages_hy.properties_not_used=UTF-8
|
||||||
|
encoding//src/main/java/messages_ka.properties_not_used=UTF-8
|
||||||
|
encoding//src/main/java/messages_kg.properties_not_used=UTF-8
|
||||||
|
encoding//src/main/java/messages_ps.properties_not_used=UTF-8
|
||||||
|
encoding//src/main/java/messages_ru.properties_not_used=UTF-8
|
||||||
|
encoding//src/main/java/messages_tg.properties_not_used=UTF-8
|
||||||
|
encoding//src/main/java/messages_tk.properties_not_used=UTF-8
|
||||||
|
encoding//src/main/java/messages_uz.properties_not_used=UTF-8
|
||||||
|
encoding//src/main/java/not_used=UTF-8
|
||||||
|
encoding//src/main/webapp/WEB-INF/views/excel.jsp=UTF-8
|
||||||
16
.settings/org.eclipse.jdt.core.prefs
Normal file
16
.settings/org.eclipse.jdt.core.prefs
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
eclipse.preferences.version=1
|
||||||
|
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||||
|
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
|
||||||
|
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
|
||||||
|
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
|
||||||
|
org.eclipse.jdt.core.compiler.compliance=1.8
|
||||||
|
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
|
||||||
|
org.eclipse.jdt.core.compiler.debug.localVariable=generate
|
||||||
|
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
|
||||||
|
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||||
|
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
|
||||||
|
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||||
|
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
|
||||||
|
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
|
||||||
|
org.eclipse.jdt.core.compiler.release=disabled
|
||||||
|
org.eclipse.jdt.core.compiler.source=1.8
|
||||||
@ -0,0 +1,5 @@
|
|||||||
|
XDOCLETBUILDERACTIVE=true
|
||||||
|
XDOCLETHOME=
|
||||||
|
XDOCLETUSEGLOBAL=true
|
||||||
|
XDOCLETVERSION=1.2.1
|
||||||
|
eclipse.preferences.version=1
|
||||||
4
.settings/org.eclipse.m2e.core.prefs
Normal file
4
.settings/org.eclipse.m2e.core.prefs
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
activeProfiles=
|
||||||
|
eclipse.preferences.version=1
|
||||||
|
resolveWorkspaceProjects=true
|
||||||
|
version=1
|
||||||
36
.settings/org.eclipse.wst.common.component
Normal file
36
.settings/org.eclipse.wst.common.component
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<wb-module deploy-name="CCALM-1.0.0-BUILD-SNAPSHOT">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<wb-resource deploy-path="/" source-path="/src/main/webapp"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
|
||||||
|
<wb-resource deploy-path="/" source-path="/WebContent" tag="defaultRootSource"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<property name="java-output-path" value="target/classes"/>
|
||||||
|
|
||||||
|
<property name="context-root" value="CCALM"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</wb-module>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</project-modules>
|
||||||
7
.settings/org.eclipse.wst.common.project.facet.core.xml
Normal file
7
.settings/org.eclipse.wst.common.project.facet.core.xml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<faceted-project>
|
||||||
|
<fixed facet="jst.web"/>
|
||||||
|
<fixed facet="jst.java"/>
|
||||||
|
<installed facet="jst.java" version="1.8"/>
|
||||||
|
<installed facet="jst.web" version="3.1"/>
|
||||||
|
</faceted-project>
|
||||||
2
.settings/org.eclipse.wst.jsdt.ui.prefs
Normal file
2
.settings/org.eclipse.wst.jsdt.ui.prefs
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
eclipse.preferences.version=1
|
||||||
|
org.eclipse.wst.jsdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
|
||||||
1
.settings/org.eclipse.wst.jsdt.ui.superType.container
Normal file
1
.settings/org.eclipse.wst.jsdt.ui.superType.container
Normal file
@ -0,0 +1 @@
|
|||||||
|
org.eclipse.wst.jsdt.launching.JRE_CONTAINER
|
||||||
1
.settings/org.eclipse.wst.jsdt.ui.superType.name
Normal file
1
.settings/org.eclipse.wst.jsdt.ui.superType.name
Normal file
@ -0,0 +1 @@
|
|||||||
|
Global
|
||||||
6
.settings/org.eclipse.wst.validation.prefs
Normal file
6
.settings/org.eclipse.wst.validation.prefs
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
DELEGATES_PREFERENCE=delegateValidatorListorg.eclipse.wst.wsdl.validation.internal.eclipse.WSDLDelegatingValidator\=org.eclipse.wst.wsdl.validation.internal.eclipse.Validator;org.eclipse.wst.xsd.core.internal.validation.eclipse.XSDDelegatingValidator\=org.eclipse.wst.xsd.core.internal.validation.eclipse.Validator;
|
||||||
|
USER_BUILD_PREFERENCE=enabledBuildValidatorListorg.eclipse.wst.wsdl.validation.internal.eclipse.WSDLDelegatingValidator;org.eclipse.wst.xsd.core.internal.validation.eclipse.XSDDelegatingValidator;org.eclipse.jst.jsf.validation.internal.JSPSemanticsValidator;org.eclipse.wst.dtd.core.internal.validation.eclipse.Validator;org.eclipse.wst.xml.core.internal.validation.eclipse.Validator;org.eclipse.wst.common.componentcore.internal.ModuleCoreValidator;org.eclipse.jst.jsf.validation.internal.appconfig.AppConfigValidator;org.eclipse.jst.jsp.core.internal.validation.JSPBatchValidator;org.eclipse.wst.html.internal.validation.HTMLValidator;org.eclipse.jst.jsp.core.internal.validation.JSPContentValidator;org.eclipse.jst.j2ee.internal.classpathdep.ClasspathDependencyValidator;org.eclipse.wst.wsi.ui.internal.WSIMessageValidator;
|
||||||
|
USER_MANUAL_PREFERENCE=enabledManualValidatorListorg.eclipse.wst.wsdl.validation.internal.eclipse.WSDLDelegatingValidator;org.eclipse.wst.xsd.core.internal.validation.eclipse.XSDDelegatingValidator;org.eclipse.jst.jsf.validation.internal.JSPSemanticsValidator;org.eclipse.wst.dtd.core.internal.validation.eclipse.Validator;org.eclipse.wst.xml.core.internal.validation.eclipse.Validator;org.eclipse.wst.common.componentcore.internal.ModuleCoreValidator;org.eclipse.jst.jsf.validation.internal.appconfig.AppConfigValidator;org.eclipse.jst.jsp.core.internal.validation.JSPBatchValidator;org.eclipse.wst.html.internal.validation.HTMLValidator;org.eclipse.jst.jsp.core.internal.validation.JSPContentValidator;org.eclipse.jst.j2ee.internal.classpathdep.ClasspathDependencyValidator;org.eclipse.wst.wsi.ui.internal.WSIMessageValidator;
|
||||||
|
USER_PREFERENCE=overrideGlobalPreferencesfalse
|
||||||
|
disabled=06target
|
||||||
|
eclipse.preferences.version=1
|
||||||
78
.settings/org.springframework.ide.eclipse.beans.core.prefs
Normal file
78
.settings/org.springframework.ide.eclipse.beans.core.prefs
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
#Mon Oct 18 12:37:52 EDT 2010
|
||||||
|
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.osgi.org/xmlns/blueprint/v1.0.0=
|
||||||
|
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/aop=
|
||||||
|
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/batch=
|
||||||
|
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/beans=
|
||||||
|
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/context=
|
||||||
|
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/faces=
|
||||||
|
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/flex=
|
||||||
|
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/integration=
|
||||||
|
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/integration/file=
|
||||||
|
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/integration/http=
|
||||||
|
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/integration/httpinvoker=
|
||||||
|
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/integration/ip=
|
||||||
|
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/integration/jdbc=
|
||||||
|
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/integration/jms=
|
||||||
|
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/integration/jmx=
|
||||||
|
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/integration/mail=
|
||||||
|
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/integration/rmi=
|
||||||
|
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/integration/security=
|
||||||
|
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/integration/stream=
|
||||||
|
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/integration/ws=
|
||||||
|
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/integration/xml=
|
||||||
|
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/jdbc=
|
||||||
|
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/jee=
|
||||||
|
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/jms=
|
||||||
|
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/lang=
|
||||||
|
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/mvc=
|
||||||
|
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/osgi=
|
||||||
|
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/osgi-compendium=
|
||||||
|
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/oxm=
|
||||||
|
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/p=
|
||||||
|
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/security=
|
||||||
|
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/task=
|
||||||
|
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/tx=
|
||||||
|
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/util=
|
||||||
|
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/web-services=
|
||||||
|
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/webflow-config=
|
||||||
|
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.osgi.org/xmlns/blueprint/v1.0.0=bp
|
||||||
|
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/aop=aop
|
||||||
|
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/batch=batch
|
||||||
|
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/beans=beans
|
||||||
|
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/context=context
|
||||||
|
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/faces=faces
|
||||||
|
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/flex=flex
|
||||||
|
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/integration=int
|
||||||
|
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/integration/file=int-file
|
||||||
|
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/integration/http=int-http
|
||||||
|
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/integration/httpinvoker=int-httpinvoker
|
||||||
|
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/integration/ip=int-ip
|
||||||
|
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/integration/jdbc=int-jdbc
|
||||||
|
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/integration/jms=int-jms
|
||||||
|
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/integration/jmx=int-jmx
|
||||||
|
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/integration/mail=int-mail
|
||||||
|
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/integration/rmi=int-rmi
|
||||||
|
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/integration/security=int-security
|
||||||
|
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/integration/stream=int-stream
|
||||||
|
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/integration/ws=int-ws
|
||||||
|
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/integration/xml=int-xml
|
||||||
|
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/jdbc=jdbc
|
||||||
|
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/jee=jee
|
||||||
|
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/jms=jms
|
||||||
|
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/lang=lang
|
||||||
|
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/mvc=mvc
|
||||||
|
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/osgi=osgi
|
||||||
|
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/osgi-compendium=osgix
|
||||||
|
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/oxm=oxm
|
||||||
|
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/p=p
|
||||||
|
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/security=sec
|
||||||
|
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/task=task
|
||||||
|
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/tx=tx
|
||||||
|
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/util=util
|
||||||
|
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/web-services=ws
|
||||||
|
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/webflow-config=flow
|
||||||
|
eclipse.preferences.version=1
|
||||||
|
org.springframework.ide.eclipse.beans.core.default.version.check.classpath=true
|
||||||
|
org.springframework.ide.eclipse.beans.core.enable.project.preferences=false
|
||||||
|
org.springframework.ide.eclipse.beans.core.ignoreMissingNamespaceHandler=false
|
||||||
|
org.springframework.ide.eclipse.beans.core.loadNamespaceHandlerFromClasspath=false
|
||||||
69
.settings/org.springframework.ide.eclipse.core.prefs
Normal file
69
.settings/org.springframework.ide.eclipse.core.prefs
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
#Tue Apr 20 16:59:06 EDT 2010
|
||||||
|
eclipse.preferences.version=1
|
||||||
|
org.springframework.ide.eclipse.core.builders.enable.aopreferencemodelbuilder=true
|
||||||
|
org.springframework.ide.eclipse.core.builders.enable.beanmetadatabuilder=true
|
||||||
|
org.springframework.ide.eclipse.core.builders.enable.osgibundleupdater=false
|
||||||
|
org.springframework.ide.eclipse.core.enable.project.preferences=false
|
||||||
|
org.springframework.ide.eclipse.core.validator.enable.com.springsource.server.ide.manifest.core.manifestvalidator=true
|
||||||
|
org.springframework.ide.eclipse.core.validator.enable.com.springsource.sts.bestpractices.beansvalidator=false
|
||||||
|
org.springframework.ide.eclipse.core.validator.enable.com.springsource.sts.server.quickfix.manifestvalidator=false
|
||||||
|
org.springframework.ide.eclipse.core.validator.enable.org.springframework.ide.eclipse.beans.core.beansvalidator=true
|
||||||
|
org.springframework.ide.eclipse.core.validator.enable.org.springframework.ide.eclipse.core.springvalidator=false
|
||||||
|
org.springframework.ide.eclipse.core.validator.enable.org.springframework.ide.eclipse.webflow.core.validator=true
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.server.ide.manifest.core.applicationSymbolicNameRule-com.springsource.server.ide.manifest.core.manifestvalidator=true
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.server.ide.manifest.core.applicationVersionRule-com.springsource.server.ide.manifest.core.manifestvalidator=true
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.server.ide.manifest.core.bundleActivationPolicyRule-com.springsource.server.ide.manifest.core.manifestvalidator=true
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.server.ide.manifest.core.bundleActivatorRule-com.springsource.server.ide.manifest.core.manifestvalidator=true
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.server.ide.manifest.core.bundleManifestVersionRule-com.springsource.server.ide.manifest.core.manifestvalidator=true
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.server.ide.manifest.core.bundleNameRule-com.springsource.server.ide.manifest.core.manifestvalidator=true
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.server.ide.manifest.core.bundleSymbolicNameRule-com.springsource.server.ide.manifest.core.manifestvalidator=true
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.server.ide.manifest.core.bundleVersionRule-com.springsource.server.ide.manifest.core.manifestvalidator=true
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.server.ide.manifest.core.exportPackageRule-com.springsource.server.ide.manifest.core.manifestvalidator=true
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.server.ide.manifest.core.importRule-com.springsource.server.ide.manifest.core.manifestvalidator=true
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.server.ide.manifest.core.parsingProblemsRule-com.springsource.server.ide.manifest.core.manifestvalidator=true
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.server.ide.manifest.core.requireBundleRule-com.springsource.server.ide.manifest.core.manifestvalidator=true
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.sts.bestpractices.com.springsource.sts.bestpractices.AvoidDriverManagerDataSource-com.springsource.sts.bestpractices.beansvalidator=false
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.sts.bestpractices.com.springsource.sts.bestpractices.ImportElementsAtTopRulee-com.springsource.sts.bestpractices.beansvalidator=false
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.sts.bestpractices.com.springsource.sts.bestpractices.ParentBeanSpecifiesAbstractClassRule-com.springsource.sts.bestpractices.beansvalidator=false
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.sts.bestpractices.com.springsource.sts.bestpractices.RefElementRule-com.springsource.sts.bestpractices.beansvalidator=false
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.sts.bestpractices.com.springsource.sts.bestpractices.TooManyBeansInFileRule-com.springsource.sts.bestpractices.beansvalidator=false
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.sts.bestpractices.com.springsource.sts.bestpractices.UnnecessaryValueElementRule-com.springsource.sts.bestpractices.beansvalidator=false
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.sts.bestpractices.com.springsource.sts.bestpractices.UseBeanInheritance-com.springsource.sts.bestpractices.beansvalidator=false
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.sts.bestpractices.legacyxmlusage.jndiobjectfactory-com.springsource.sts.bestpractices.beansvalidator=false
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.sts.server.quickfix.importBundleVersionRule-com.springsource.sts.server.quickfix.manifestvalidator=false
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.sts.server.quickfix.importLibraryVersionRule-com.springsource.sts.server.quickfix.manifestvalidator=false
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.sts.server.quickfix.importPackageVersionRule-com.springsource.sts.server.quickfix.manifestvalidator=false
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.sts.server.quickfix.requireBundleVersionRule-com.springsource.sts.server.quickfix.manifestvalidator=false
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.autowire.autowire-org.springframework.ide.eclipse.beans.core.beansvalidator=false
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.beanAlias-org.springframework.ide.eclipse.beans.core.beansvalidator=true
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.beanClass-org.springframework.ide.eclipse.beans.core.beansvalidator=true
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.beanConstructorArgument-org.springframework.ide.eclipse.beans.core.beansvalidator=true
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.beanDefinition-org.springframework.ide.eclipse.beans.core.beansvalidator=true
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.beanDefinitionHolder-org.springframework.ide.eclipse.beans.core.beansvalidator=true
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.beanFactory-org.springframework.ide.eclipse.beans.core.beansvalidator=true
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.beanInitDestroyMethod-org.springframework.ide.eclipse.beans.core.beansvalidator=true
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.beanProperty-org.springframework.ide.eclipse.beans.core.beansvalidator=true
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.beanReference-org.springframework.ide.eclipse.beans.core.beansvalidator=true
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.methodOverride-org.springframework.ide.eclipse.beans.core.beansvalidator=true
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.parsingProblems-org.springframework.ide.eclipse.beans.core.beansvalidator=true
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.requiredProperty-org.springframework.ide.eclipse.beans.core.beansvalidator=false
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.toolAnnotation-org.springframework.ide.eclipse.beans.core.beansvalidator=false
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.core.springClasspath-org.springframework.ide.eclipse.core.springvalidator=false
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.action-org.springframework.ide.eclipse.webflow.core.validator=true
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.actionstate-org.springframework.ide.eclipse.webflow.core.validator=true
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.attribute-org.springframework.ide.eclipse.webflow.core.validator=true
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.attributemapper-org.springframework.ide.eclipse.webflow.core.validator=true
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.beanaction-org.springframework.ide.eclipse.webflow.core.validator=true
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.evaluationaction-org.springframework.ide.eclipse.webflow.core.validator=true
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.evaluationresult-org.springframework.ide.eclipse.webflow.core.validator=true
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.exceptionhandler-org.springframework.ide.eclipse.webflow.core.validator=true
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.import-org.springframework.ide.eclipse.webflow.core.validator=true
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.inputattribute-org.springframework.ide.eclipse.webflow.core.validator=true
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.mapping-org.springframework.ide.eclipse.webflow.core.validator=true
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.outputattribute-org.springframework.ide.eclipse.webflow.core.validator=true
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.set-org.springframework.ide.eclipse.webflow.core.validator=true
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.state-org.springframework.ide.eclipse.webflow.core.validator=true
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.subflowstate-org.springframework.ide.eclipse.webflow.core.validator=true
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.transition-org.springframework.ide.eclipse.webflow.core.validator=true
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.variable-org.springframework.ide.eclipse.webflow.core.validator=true
|
||||||
|
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.webflowstate-org.springframework.ide.eclipse.webflow.core.validator=true
|
||||||
13
.springBeans
Normal file
13
.springBeans
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<beansProjectDescription>
|
||||||
|
<version>1</version>
|
||||||
|
<pluginVersion><![CDATA[2.5.0.201010141000-RC1]]></pluginVersion>
|
||||||
|
<configSuffixes>
|
||||||
|
<configSuffix><![CDATA[xml]]></configSuffix>
|
||||||
|
</configSuffixes>
|
||||||
|
<enableImports><![CDATA[true]]></enableImports>
|
||||||
|
<configs>
|
||||||
|
</configs>
|
||||||
|
<configSets>
|
||||||
|
</configSets>
|
||||||
|
</beansProjectDescription>
|
||||||
12
GettextDB/settings.ini
Normal file
12
GettextDB/settings.ini
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
[main]
|
||||||
|
db_url = jdbc\:postgresql\://10.1.7.74\:5432/pilot
|
||||||
|
db_user =
|
||||||
|
db_password =
|
||||||
|
|
||||||
|
[path0]
|
||||||
|
path = O\:\\projects\\Workspace_Java\\CCALM_TOMCAT
|
||||||
|
check = trt(
|
||||||
|
extensions = (.*\\.java$)||(.*\\.xml$)||(.*\\.js$)
|
||||||
|
pattern = [0-9|a-z|A-Z|_]+
|
||||||
|
type = 1
|
||||||
|
|
||||||
257
pom.xml
Normal file
257
pom.xml
Normal file
@ -0,0 +1,257 @@
|
|||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<groupId>kz.locust</groupId>
|
||||||
|
<artifactId>CCALM</artifactId>
|
||||||
|
<name>Locust</name>
|
||||||
|
<packaging>war</packaging>
|
||||||
|
<version>1.0.0-BUILD-SNAPSHOT</version>
|
||||||
|
<properties>
|
||||||
|
<java-version>1.8</java-version>
|
||||||
|
<org.springframework-version>5.0.0.RELEASE</org.springframework-version>
|
||||||
|
<org.aspectj-version>1.8.12</org.aspectj-version>
|
||||||
|
<org.slf4j-version>1.7.25</org.slf4j-version>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
|
||||||
|
<!--dependency>
|
||||||
|
<groupId>org.gdal</groupId>
|
||||||
|
<artifactId>gdal</artifactId>
|
||||||
|
<version>1.11.2</version>
|
||||||
|
</dependency-->
|
||||||
|
<!-- https://mvnrepository.com/artifact/org.gdal/gdal -->
|
||||||
|
<!--dependency>
|
||||||
|
<groupId>org.gdal</groupId>
|
||||||
|
<artifactId>gdal</artifactId>
|
||||||
|
<version>2.4.0</version>
|
||||||
|
<scope>system</scope>
|
||||||
|
<systemPath>C:\Program Files\GDAL\java\gdal.jar</systemPath>
|
||||||
|
</dependency-->
|
||||||
|
<!-- https://mvnrepository.com/artifact/org.gdal/gdal -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.gdal</groupId>
|
||||||
|
<artifactId>gdal</artifactId>
|
||||||
|
<version>2.4.0</version>
|
||||||
|
<scope>system</scope>
|
||||||
|
<systemPath>O:\projects\_Libs\gdal-2.4.0.jar</systemPath>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- https://mvnrepository.com/artifact/org.json/json -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.json</groupId>
|
||||||
|
<artifactId>json</artifactId>
|
||||||
|
<version>20200518</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- https://mvnrepository.com/artifact/org.postgresql/postgresql -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.postgresql</groupId>
|
||||||
|
<artifactId>postgresql</artifactId>
|
||||||
|
<version>42.1.4</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- https://mvnrepository.com/artifact/edu.ucar/netcdfAll -->
|
||||||
|
<!--dependency>
|
||||||
|
<groupId>edu.ucar</groupId>
|
||||||
|
<artifactId>netcdfAll</artifactId>
|
||||||
|
<version>4.6.8</version>
|
||||||
|
<scope>system</scope>
|
||||||
|
<systemPath>C:\Users\ivanov.i\.m2\repository\ucar\netcdfAll-4.6.8.jar</systemPath>
|
||||||
|
</dependency-->
|
||||||
|
<!-- https://mvnrepository.com/artifact/edu.ucar/netcdfAll -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>edu.ucar</groupId>
|
||||||
|
<artifactId>netcdfAll</artifactId>
|
||||||
|
<version>5.3.1</version>
|
||||||
|
<scope>system</scope>
|
||||||
|
<systemPath>O:\projects\_Libs\netcdfAll-5.3.1.jar</systemPath>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- https://mvnrepository.com/artifact/javax.mail/mail -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>javax.mail</groupId>
|
||||||
|
<artifactId>mail</artifactId>
|
||||||
|
<version>1.4</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-io -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.commons</groupId>
|
||||||
|
<artifactId>commons-io</artifactId>
|
||||||
|
<version>1.3.2</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload http://www.baeldung.com/spring-file-upload -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>commons-fileupload</groupId>
|
||||||
|
<artifactId>commons-fileupload</artifactId>
|
||||||
|
<version>1.3.1</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.fasterxml.jackson.core</groupId>
|
||||||
|
<artifactId>jackson-core</artifactId>
|
||||||
|
<version>2.13.0</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.fasterxml.jackson.core</groupId>
|
||||||
|
<artifactId>jackson-databind</artifactId>
|
||||||
|
<version>2.9.1</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- Spring -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework</groupId>
|
||||||
|
<artifactId>spring-context</artifactId>
|
||||||
|
<version>${org.springframework-version}</version>
|
||||||
|
<exclusions>
|
||||||
|
<!-- Exclude Commons Logging in favor of SLF4j -->
|
||||||
|
<exclusion>
|
||||||
|
<groupId>commons-logging</groupId>
|
||||||
|
<artifactId>commons-logging</artifactId>
|
||||||
|
</exclusion>
|
||||||
|
</exclusions>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework</groupId>
|
||||||
|
<artifactId>spring-webmvc</artifactId>
|
||||||
|
<version>${org.springframework-version}</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- AspectJ -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.aspectj</groupId>
|
||||||
|
<artifactId>aspectjrt</artifactId>
|
||||||
|
<version>${org.aspectj-version}</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- Logging -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.slf4j</groupId>
|
||||||
|
<artifactId>slf4j-api</artifactId>
|
||||||
|
<version>${org.slf4j-version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.slf4j</groupId>
|
||||||
|
<artifactId>jcl-over-slf4j</artifactId>
|
||||||
|
<version>${org.slf4j-version}</version>
|
||||||
|
<scope>runtime</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.slf4j</groupId>
|
||||||
|
<artifactId>slf4j-log4j12</artifactId>
|
||||||
|
<version>${org.slf4j-version}</version>
|
||||||
|
<scope>runtime</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>log4j</groupId>
|
||||||
|
<artifactId>log4j</artifactId>
|
||||||
|
<version>1.2.15</version>
|
||||||
|
<exclusions>
|
||||||
|
<exclusion>
|
||||||
|
<groupId>javax.mail</groupId>
|
||||||
|
<artifactId>mail</artifactId>
|
||||||
|
</exclusion>
|
||||||
|
<exclusion>
|
||||||
|
<groupId>javax.jms</groupId>
|
||||||
|
<artifactId>jms</artifactId>
|
||||||
|
</exclusion>
|
||||||
|
<exclusion>
|
||||||
|
<groupId>com.sun.jdmk</groupId>
|
||||||
|
<artifactId>jmxtools</artifactId>
|
||||||
|
</exclusion>
|
||||||
|
<exclusion>
|
||||||
|
<groupId>com.sun.jmx</groupId>
|
||||||
|
<artifactId>jmxri</artifactId>
|
||||||
|
</exclusion>
|
||||||
|
</exclusions>
|
||||||
|
<scope>runtime</scope>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- @Inject -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>javax.inject</groupId>
|
||||||
|
<artifactId>javax.inject</artifactId>
|
||||||
|
<version>1</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- Servlet -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>javax.servlet</groupId>
|
||||||
|
<artifactId>servlet-api</artifactId>
|
||||||
|
<version>2.5</version>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>javax.servlet.jsp</groupId>
|
||||||
|
<artifactId>jsp-api</artifactId>
|
||||||
|
<version>2.1</version>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>javax.servlet</groupId>
|
||||||
|
<artifactId>jstl</artifactId>
|
||||||
|
<version>1.2</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- Test -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>junit</groupId>
|
||||||
|
<artifactId>junit</artifactId>
|
||||||
|
<version>4.7</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<artifactId>maven-war-plugin</artifactId>
|
||||||
|
<version>3.2.1</version>
|
||||||
|
<configuration>
|
||||||
|
<warSourceDirectory>WebContent</warSourceDirectory>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<artifactId>maven-eclipse-plugin</artifactId>
|
||||||
|
<version>2.9</version>
|
||||||
|
<configuration>
|
||||||
|
<additionalProjectnatures>
|
||||||
|
<projectnature>org.springframework.ide.eclipse.core.springnature</projectnature>
|
||||||
|
</additionalProjectnatures>
|
||||||
|
<additionalBuildcommands>
|
||||||
|
<buildcommand>org.springframework.ide.eclipse.core.springbuilder</buildcommand>
|
||||||
|
</additionalBuildcommands>
|
||||||
|
<downloadSources>true</downloadSources>
|
||||||
|
<downloadJavadocs>true</downloadJavadocs>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
|
<version>2.5.1</version>
|
||||||
|
<configuration>
|
||||||
|
<source>1.8</source>
|
||||||
|
<target>1.8</target>
|
||||||
|
<compilerArgument>-Xlint:all</compilerArgument>
|
||||||
|
<showWarnings>true</showWarnings>
|
||||||
|
<showDeprecation>true</showDeprecation>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.codehaus.mojo</groupId>
|
||||||
|
<artifactId>exec-maven-plugin</artifactId>
|
||||||
|
<version>1.2.1</version>
|
||||||
|
<configuration>
|
||||||
|
<mainClass>org.test.int1.Main</mainClass>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
</project>
|
||||||
2288
src/main/java/kz/locust/CCALM/AcceptASDC.java
Normal file
2288
src/main/java/kz/locust/CCALM/AcceptASDC.java
Normal file
File diff suppressed because it is too large
Load Diff
408
src/main/java/kz/locust/CCALM/AcceptEXCEL.java
Normal file
408
src/main/java/kz/locust/CCALM/AcceptEXCEL.java
Normal file
@ -0,0 +1,408 @@
|
|||||||
|
package kz.locust.CCALM;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.File;
|
||||||
|
//import java.io.FileInputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
|
//import java.io.OutputStream;
|
||||||
|
//import java.io.UnsupportedEncodingException;
|
||||||
|
//import java.nio.file.Paths;
|
||||||
|
import java.sql.Connection;
|
||||||
|
import java.sql.DriverManager;
|
||||||
|
import java.sql.ResultSet;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import java.sql.Statement;
|
||||||
|
//import java.util.zip.CRC32;
|
||||||
|
//import java.util.zip.Checksum;
|
||||||
|
|
||||||
|
import javax.servlet.ServletContext;
|
||||||
|
//import javax.servlet.http.Part;
|
||||||
|
import javax.xml.parsers.DocumentBuilder;
|
||||||
|
import javax.xml.parsers.DocumentBuilderFactory;
|
||||||
|
|
||||||
|
import org.springframework.core.io.ClassPathResource;
|
||||||
|
//import org.apache.commons.io.FileUtils;
|
||||||
|
//import org.springframework.core.io.FileSystemResource;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.ui.Model;
|
||||||
|
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||||
|
//import org.springframework.web.bind.annotation.ModelAttribute;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMethod;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
import org.springframework.web.context.ServletContextAware;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
import org.w3c.dom.Document;
|
||||||
|
import org.w3c.dom.Element;
|
||||||
|
import org.w3c.dom.NodeList;
|
||||||
|
|
||||||
|
import tools.User;
|
||||||
|
|
||||||
|
|
||||||
|
@Controller
|
||||||
|
public class AcceptEXCEL implements ServletContextAware {
|
||||||
|
|
||||||
|
private ServletContext context;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setServletContext(ServletContext context) {
|
||||||
|
this.context=context;
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value = "/AcceptCSV", method = { RequestMethod.GET, RequestMethod.POST })
|
||||||
|
public String acceptCSV(@ModelAttribute User user, Model model,@RequestParam(required=false,name="file") MultipartFile file,@RequestParam(required=false,name="skip",defaultValue = "0") Boolean skip) {
|
||||||
|
|
||||||
|
String db_url="";
|
||||||
|
String db_login="";
|
||||||
|
String db_password="";
|
||||||
|
//Load DB configuration from "config.xml"
|
||||||
|
try {
|
||||||
|
//String fullPath = context.getRealPath("/WEB-INF/config.xml");
|
||||||
|
//File fXmlFile = new File(fullPath);
|
||||||
|
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||||
|
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||||
|
//Document doc = dBuilder.parse(fXmlFile);
|
||||||
|
Document doc = dBuilder.parse(new ClassPathResource("config.xml").getInputStream());
|
||||||
|
Element nMain=doc.getDocumentElement();
|
||||||
|
NodeList nl=nMain.getChildNodes();
|
||||||
|
for (int i = 0; i <nl.getLength(); i++)
|
||||||
|
{
|
||||||
|
if(nl.item(i).getNodeName().equals("db-url"))
|
||||||
|
db_url=nl.item(i).getTextContent();
|
||||||
|
if(nl.item(i).getNodeName().equals("db-login"))
|
||||||
|
db_login=nl.item(i).getTextContent();
|
||||||
|
if(nl.item(i).getNodeName().equals("db-password"))
|
||||||
|
db_password=nl.item(i).getTextContent();
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
Connection conn = null;
|
||||||
|
try {
|
||||||
|
Class.forName("org.postgresql.Driver");
|
||||||
|
conn = DriverManager.getConnection(db_url, db_login, db_password);
|
||||||
|
} catch (Exception ex) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
String sqlData="";
|
||||||
|
String json="{\"type\": \"FeatureCollection\",\"features\":[";
|
||||||
|
|
||||||
|
|
||||||
|
String table="<table border=\"1\">";
|
||||||
|
table+="<tr style=\"background-color: #e0e0e0;\"><th>№</th><th>Latitude (Широта)</th><th>Longitude (Долгота)</th><th>Oblast (область)</th><th>District (Район)</th><th>Сельский округ</th><th>Хозяйство или местность</th><th>Вид саранчи</th><th>Фаза</th><th>ЭПВ</th><th>Заселено Га</th><th>Дата</th></tr>";
|
||||||
|
|
||||||
|
//row+="<td>"+i+"</td><td>"+locust.lat+"</td><td>"+locust.lon+"</td><td>"+locust.region+" = "+locust.region_id+"</td><td>"+locust.district+" = "+locust.district_id+"</td><td>"+locust.terrain+"</td><td>"+locust.village+"<td>";
|
||||||
|
|
||||||
|
if (file!=null && !file.isEmpty()) {
|
||||||
|
|
||||||
|
BufferedReader reader;
|
||||||
|
try {
|
||||||
|
int i=1; //for testing
|
||||||
|
|
||||||
|
reader = new BufferedReader(new InputStreamReader(file.getInputStream(), "UTF-8"));
|
||||||
|
//reader = new BufferedReader(new FileReader(file));
|
||||||
|
|
||||||
|
String line = reader.readLine();
|
||||||
|
if(skip) line = reader.readLine();
|
||||||
|
while (line != null) {
|
||||||
|
|
||||||
|
StringBuffer data=new StringBuffer(line);
|
||||||
|
Boolean error=false;
|
||||||
|
|
||||||
|
Locust locust = new Locust();
|
||||||
|
try {
|
||||||
|
String lat=CutBeforeFirst(data,";");
|
||||||
|
if(lat.equals("46.3104.6")) lat="46.31046";
|
||||||
|
if(lat.equals("43.21303.")) lat="43.21303";
|
||||||
|
if(lat.equals("43.26067.")) lat="43.26067";
|
||||||
|
if(lat.equals("43.20181.")) lat="43.20181";
|
||||||
|
if(lat.equals("43.20181.")) lat="43.20181";
|
||||||
|
if(lat.equals("43.74691.")) lat="43.74691";
|
||||||
|
if(lat.equals("43.41954.")) lat="43.41954";
|
||||||
|
if(lat.equals("43.78288.")) lat="43.78288";
|
||||||
|
if(lat.equals("43.26260.")) lat="43.26260";
|
||||||
|
if(lat.equals("43.79702.")) lat="43.79702";
|
||||||
|
if(lat.equals("43.64891.")) lat="43.64891";
|
||||||
|
if(lat.equals("43.64891.")) lat="43.64891";
|
||||||
|
if(lat.equals("43.42271.")) lat="43.42271";
|
||||||
|
if(lat.equals("43.64891.")) lat="43.64891";
|
||||||
|
if(lat.equals("43.89990.")) lat="43.89990";
|
||||||
|
if(lat.equals("43.96273.")) lat="43.96273";
|
||||||
|
if(lat.equals("43.26907.")) lat="43.26907";
|
||||||
|
if(lat.equals("43.26630.")) lat="43.26630";
|
||||||
|
if(lat.equals("43.50605.")) lat="43.50605";
|
||||||
|
if(lat.equals("43.74965.")) lat="43.74965";
|
||||||
|
if(lat.equals("43.20813.")) lat="43.20813";
|
||||||
|
if(lat.equals("43.23298.")) lat="43.23298";
|
||||||
|
if(lat.equals("43.74774.")) lat="43.74774";
|
||||||
|
if(lat.equals("43.77144.")) lat="43.77144";
|
||||||
|
if(lat.equals("43.58847.")) lat="43.58847";
|
||||||
|
if(lat.equals("43.58944.")) lat="43.58944";
|
||||||
|
if(lat.equals("4342755.")) lat="43.42755";
|
||||||
|
if(lat.equals("43.80416.")) lat="43.80416";
|
||||||
|
if(lat.equals("43.79536.")) lat="43.79536";
|
||||||
|
if(lat.equals("50.75 767")) lat="50.75767";
|
||||||
|
if(lat.equals("50.77 542")) lat="50.77542";
|
||||||
|
if(lat.equals("50.85 140")) lat="50.85140";
|
||||||
|
if(lat.equals("50.79 773")) lat="50.79773";
|
||||||
|
if(lat.equals("50.63 469")) lat="50.63469";
|
||||||
|
if(lat.equals("51.23 130")) lat="51.23130";
|
||||||
|
if(lat.equals("51.03 220")) lat="51.03220";
|
||||||
|
if(lat.equals("51.38 922")) lat="51.38922";
|
||||||
|
if(lat.equals("51.06.940")) lat="51.06940";
|
||||||
|
if(lat.equals("51.08 273")) lat="51.08273";
|
||||||
|
if(lat.equals("50.96 705")) lat="50.96705";
|
||||||
|
if(lat.equals("51.03 021")) lat="51.03021";
|
||||||
|
if(lat.equals("51.01 764")) lat="51.01764";
|
||||||
|
if(lat.equals("50.99 388")) lat="50.99388";
|
||||||
|
if(lat.equals("50.50 509")) lat="50.50509";
|
||||||
|
if(lat.equals("43.109.94")) lat="43.10994";
|
||||||
|
if(lat.equals("50.11.926")) lat="50.11926";
|
||||||
|
if(lat.equals("50.04.966")) lat="50.04966";
|
||||||
|
if(lat.equals("49.26.385")) lat="49.26385";
|
||||||
|
if(lat.equals("49.26.251")) lat="49.26251";
|
||||||
|
if(lat.equals("49.25.307")) lat="49.25307";
|
||||||
|
if(lat.equals("44.4930.")) lat="49.25307";
|
||||||
|
|
||||||
|
locust.lat=Double.parseDouble(lat);
|
||||||
|
|
||||||
|
String lon=CutBeforeFirst(data,";");
|
||||||
|
if(lon.equals("51.25 560")) lon="51.25560";
|
||||||
|
if(lon.equals("51.25 099")) lon="51.25099";
|
||||||
|
if(lon.equals("51.26 378")) lon="51.26378";
|
||||||
|
if(lon.equals("51.25 235")) lon="51.25235";
|
||||||
|
if(lon.equals("51.83 107")) lon="51.83107";
|
||||||
|
if(lon.equals("51.71 702")) lon="51.71702";
|
||||||
|
if(lon.equals("52.21 390")) lon="52.21390";
|
||||||
|
if(lon.equals("52.10 873")) lon="52.10873";
|
||||||
|
if(lon.equals("51.85 606")) lon="51.85606";
|
||||||
|
if(lon.equals("52.41 085")) lon="52.41085";
|
||||||
|
if(lon.equals("52.36 125")) lon="52.36125";
|
||||||
|
if(lon.equals("51. 56 025")) lon="51.56025";
|
||||||
|
if(lon.equals("51.56 786")) lon="51.56786";
|
||||||
|
if(lon.equals("51.57 946")) lon="51.57946";
|
||||||
|
if(lon.equals("51.16 758")) lon="51.16758";
|
||||||
|
if(lon.equals("85.09.142")) lon="85.09142";
|
||||||
|
|
||||||
|
|
||||||
|
locust.lon=Double.parseDouble(lon);
|
||||||
|
|
||||||
|
}catch(Exception ex)
|
||||||
|
{
|
||||||
|
error=true;
|
||||||
|
}
|
||||||
|
|
||||||
|
locust.region=CutBeforeFirst(data,";");
|
||||||
|
|
||||||
|
//Выбираю ID области
|
||||||
|
Statement stt = null;
|
||||||
|
ResultSet rs = null;
|
||||||
|
try {
|
||||||
|
|
||||||
|
if(locust.region.equals("Алматинский")) locust.region="Алматинская";
|
||||||
|
if(locust.region.equals("Туркестанский")) locust.region="Туркестанская";
|
||||||
|
|
||||||
|
stt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
|
||||||
|
String sql_query = "select id from main.countriesregions where name like '%"+locust.region+"%';";
|
||||||
|
rs = stt.executeQuery(sql_query);
|
||||||
|
if (rs != null) {
|
||||||
|
try {
|
||||||
|
if (rs.next()) {
|
||||||
|
locust.region_id=rs.getString(1);
|
||||||
|
}
|
||||||
|
rs.close();
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
|
||||||
|
}finally {
|
||||||
|
if(rs!=null) try{rs.close();}catch(SQLException ex){}
|
||||||
|
if(stt!=null) try{stt.close();}catch(SQLException ex){}
|
||||||
|
}
|
||||||
|
|
||||||
|
//Выбираю id региона (main.countriesdistricts)
|
||||||
|
locust.district_id="";
|
||||||
|
locust.district=CutBeforeFirst(data,";");
|
||||||
|
stt = null;
|
||||||
|
rs = null;
|
||||||
|
try {
|
||||||
|
|
||||||
|
if(locust.district.equals("Сарканский ")) locust.district="Саркандский";
|
||||||
|
if(locust.district.equals("Уйгуский")) locust.district="Уйгурский";
|
||||||
|
if(locust.district.equals("г.Капшагай")) locust.district="Капчагайский городской округ";
|
||||||
|
if(locust.district.equals("Каратальскиий")) locust.district="Каратальский";
|
||||||
|
if(locust.district.equals("г. Талдыкорган")) locust.district="Талдыкорганский";
|
||||||
|
if(locust.district.equals("г Атырау ")) locust.district="Атырауский городской округ";
|
||||||
|
if(locust.district.equals("г. Атырау")) locust.district="Атырауский городской округ";
|
||||||
|
if(locust.district.equals("Кызылкуга")) locust.district="Кзылкогинский район";
|
||||||
|
if(locust.district.equals("Курчумский ")) locust.district="Куршимский район";
|
||||||
|
if(locust.district.equals("г.Семей")) locust.district="Семипалатинский городской округ";
|
||||||
|
if(locust.region_id.equals("4") && locust.district.equals("Жамбылский")) locust.district="Джамбулский район";
|
||||||
|
if(locust.district.equals("Т.Рыскуловский")) locust.district="Рыскуловский район";
|
||||||
|
if(locust.district.equals("Шуйский")) locust.district="Чуйский район";
|
||||||
|
if(locust.district.equals("Сарысуский")) locust.district="Сары-Суйский район";
|
||||||
|
if(locust.district.equals("Федоровский")) locust.district="Фёдоровский район";
|
||||||
|
if(locust.district.equals("Жангельдинский")) locust.district="Джангельдинский район";
|
||||||
|
if(locust.district.equals("Сырдария")) locust.district="Сырдарьинский район";
|
||||||
|
if(locust.district.equals("Кызылорда")) locust.district="Кызылординский городской округ";
|
||||||
|
if(locust.district.equals("к.Кызылорда")) locust.district="Кызылординский городской округ";
|
||||||
|
if(locust.district.equals("Аралский")) locust.district="Аральский район";
|
||||||
|
if(locust.district.equals("Шиелі")) locust.district="Шиелийский район";
|
||||||
|
if(locust.region_id.equals("11") && locust.district.equals("Аксуский")) locust.district="Аксуйский городской округ";
|
||||||
|
if(locust.region_id.equals("11") && locust.district.equals("Аксуский")) locust.district="Аксуйский городской округ";
|
||||||
|
if(locust.region_id.equals("11") && locust.district.equals("Ақсуский")) locust.district="Аксуйский городской округ";
|
||||||
|
if(locust.district.equals("Аққулы")) locust.district="Аккулинский район";
|
||||||
|
if(locust.district.equals("Аккулы")) locust.district="Аккулинский район";
|
||||||
|
if(locust.district.equals("Тереңкөл")) locust.district="Теренкольский";
|
||||||
|
if(locust.district.equals("г. Павлодар")) locust.district="Павлодарский городской округ";
|
||||||
|
if(locust.district.equals("Екибастузский")) locust.district="Экибастузский городской округ";
|
||||||
|
if(locust.district.equals("Шербактнский")) locust.district="Щербактинский район";
|
||||||
|
if(locust.district.equals("Толебиский ")) locust.district="Толебийский район";
|
||||||
|
if(locust.district.equals("г.Шымкент Абайский ")) locust.district="Шымкентский городской округ";
|
||||||
|
if(locust.district.equals("г.Шымкент Каратауский ")) locust.district="Шымкентский городской округ";
|
||||||
|
if(locust.district.equals("Баянауыл")) locust.district="Баянаул";
|
||||||
|
if(locust.district.equals("Екібастұз")) locust.district="Экибастуз";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
stt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
|
||||||
|
String sql_query = "select id from main.countriesdistricts where region_id="+locust.region_id+" and name like '%"+locust.district+"%';";
|
||||||
|
rs = stt.executeQuery(sql_query);
|
||||||
|
if (rs != null) {
|
||||||
|
try {
|
||||||
|
if (rs.next()) {
|
||||||
|
locust.district_id=rs.getString(1);
|
||||||
|
}
|
||||||
|
rs.close();
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
|
||||||
|
}finally {
|
||||||
|
if(rs!=null) try{rs.close();}catch(SQLException ex){}
|
||||||
|
if(stt!=null) try{stt.close();}catch(SQLException ex){}
|
||||||
|
}
|
||||||
|
|
||||||
|
//Сельский округ
|
||||||
|
locust.terrain=CutBeforeFirst(data,";");
|
||||||
|
//Хозяйство или местность
|
||||||
|
locust.village=CutBeforeFirst(data,";");
|
||||||
|
//Вид саранчи
|
||||||
|
locust.locust=CutBeforeFirst(data,";");
|
||||||
|
locust.locust_id="";
|
||||||
|
if(locust.locust.equals(" итальянский прус")) locust.locust_id="1";
|
||||||
|
if(locust.locust.equals("итальянский прус")) locust.locust_id="1";
|
||||||
|
if(locust.locust.equals("Итальянский прус")) locust.locust_id="1";
|
||||||
|
if(locust.locust.equals("итальянский прус ")) locust.locust_id="1";
|
||||||
|
if(locust.locust.equals("Азиатская саранча")) locust.locust_id="3";
|
||||||
|
if(locust.locust.equals("азиатская саранча")) locust.locust_id="3";
|
||||||
|
if(locust.locust.equals("нестадные")) locust.locust_id="4";
|
||||||
|
if(locust.locust.equals("нестадные саранчовые")) locust.locust_id="4";
|
||||||
|
if(locust.locust.equals("Нестадные саранчевые")) locust.locust_id="4";
|
||||||
|
if(locust.locust.equals("Нестадная саранча ")) locust.locust_id="4";
|
||||||
|
if(locust.locust.equals("Нестадная саранча")) locust.locust_id="4";
|
||||||
|
if(locust.locust.equals("нестадная саранча")) locust.locust_id="4";
|
||||||
|
if(locust.locust.equals("Мароккская саранча")) locust.locust_id="2";
|
||||||
|
|
||||||
|
//фаза саранчи
|
||||||
|
locust.phase=CutBeforeFirst(data,";");
|
||||||
|
locust.locust_have="3";
|
||||||
|
if(locust.phase.equals("кубышки")) locust.locust_have="2";
|
||||||
|
if(locust.phase.equals("личинки")) locust.locust_have="3";
|
||||||
|
if(locust.phase.equals("имаго")) locust.locust_have="5";
|
||||||
|
|
||||||
|
locust.evp=CutBeforeFirst(data,";"); //ЭФП
|
||||||
|
locust.size=CutBeforeFirst(data,";"); //Заселённая площадь
|
||||||
|
locust.size=locust.size.replace(",",".");
|
||||||
|
locust.date=CutBeforeFirst(data,";"); //Дата
|
||||||
|
|
||||||
|
String row="<tr>";
|
||||||
|
if(error==true || locust.lat==0 || locust.lon==0 || locust.region_id.equals("") || locust.district_id.equals("") || locust.terrain.equals("") || locust.locust_id.equals("")) {
|
||||||
|
row="<tr bgcolor=\"red\">";
|
||||||
|
}
|
||||||
|
row+="<td>"+i+"</td><td>"+locust.lat+"</td><td>"+locust.lon+"</td><td>"+locust.region+" = "+locust.region_id+"</td><td>"+locust.district+" = "+locust.district_id+"</td><td>"+locust.terrain+"</td><td>"+locust.village+"</td><td>"+locust.locust+" = "+locust.locust_id+"</td><td>"+locust.phase+" = "+locust.locust_have+"</td><td>"+locust.evp+"</td><td>"+locust.size+"</td><td>"+locust.date+"</td>";
|
||||||
|
row+="</tr>\n";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
table += row;
|
||||||
|
i++;
|
||||||
|
|
||||||
|
json+=" \n{\"type\":\"Feature\",\"geometry\":{\"type\":\"Point\",\"coordinates\":["+locust.lon+","+locust.lat+"]},\"properties\":{\"oblast\":\""+locust.region.replace("\"", "'")+"\",\"district\":\""+locust.district.replace("\"", "'")+"\",\"region\":\""+locust.terrain.replace("\"", "'")+"\",\"village\":\""+locust.village.replace("\"", "'")+"\",\"phase\":\""+locust.phase+"\",\"locust\":\""+locust.locust+"\",\"evp\": \""+locust.evp+"\",\"ga\": \""+locust.size+"\",\"date\": \""+locust.date+"\"}},";
|
||||||
|
|
||||||
|
sqlData+="insert into main.frmlocust(country_id,region_id,district,terrain,village,lon1,lat1,locust_type_id,locust_have,locust_populated,date)values(5,"+locust.region_id+",'"+locust.district.trim()+"','"+locust.terrain.trim()+"','"+locust.village.trim()+"',"+locust.lon+","+locust.lat+","+locust.locust_id+","+locust.locust_have+","+locust.size+",TO_DATE('"+locust.date+"','DD.MM.YYYY'));\n";
|
||||||
|
|
||||||
|
if(i>5000) break;
|
||||||
|
line=reader.readLine();
|
||||||
|
}
|
||||||
|
reader.close();
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}else {
|
||||||
|
table="CSV file is empty! "+skip;
|
||||||
|
}
|
||||||
|
table += "</table>";
|
||||||
|
|
||||||
|
json=json.substring(0,json.length()-1); //Удаляю последнюю запятую
|
||||||
|
json+="\n]}";
|
||||||
|
|
||||||
|
model.addAttribute("PreviewTable",table);
|
||||||
|
model.addAttribute("PreviewGEOJSON",json);
|
||||||
|
model.addAttribute("PreviewSQL",sqlData);
|
||||||
|
|
||||||
|
return "excel";
|
||||||
|
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
public static String CutBeforeFirst(StringBuffer str,String ch)
|
||||||
|
{
|
||||||
|
int pos=str.indexOf(ch);
|
||||||
|
String result="";
|
||||||
|
if(pos==-1)
|
||||||
|
{
|
||||||
|
result.concat(str.toString());
|
||||||
|
str.delete(0,str.length());
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
result=str.substring(0,pos);
|
||||||
|
str.delete(0,pos+1);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
class Locust{
|
||||||
|
double lon;
|
||||||
|
double lat;
|
||||||
|
String region; //Область
|
||||||
|
String region_id;
|
||||||
|
|
||||||
|
String district; //Район
|
||||||
|
String district_id;
|
||||||
|
|
||||||
|
String terrain; //Название месности
|
||||||
|
|
||||||
|
String village; //Хозяйство или местность
|
||||||
|
|
||||||
|
String locust; //Вид саранчи
|
||||||
|
String locust_id; //Вид саранчи
|
||||||
|
|
||||||
|
String phase; //Фаза саранчи
|
||||||
|
String locust_have; //id Фазы саранчи
|
||||||
|
String evp; //ЭФП
|
||||||
|
String size; //Заселённая площадь
|
||||||
|
String date; //Дата
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
1740
src/main/java/kz/locust/CCALM/AcceptJSON.java
Normal file
1740
src/main/java/kz/locust/CCALM/AcceptJSON.java
Normal file
File diff suppressed because it is too large
Load Diff
2382
src/main/java/kz/locust/CCALM/DBMSRecords.java
Normal file
2382
src/main/java/kz/locust/CCALM/DBMSRecords.java
Normal file
File diff suppressed because it is too large
Load Diff
226
src/main/java/kz/locust/CCALM/DataJSON.java
Normal file
226
src/main/java/kz/locust/CCALM/DataJSON.java
Normal file
@ -0,0 +1,226 @@
|
|||||||
|
package kz.locust.CCALM;
|
||||||
|
|
||||||
|
import java.io.BufferedOutputStream;
|
||||||
|
import java.io.BufferedWriter;
|
||||||
|
import java.io.ByteArrayInputStream;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
|
import java.io.OutputStreamWriter;
|
||||||
|
import java.io.StringReader;
|
||||||
|
import java.io.Reader;
|
||||||
|
import java.io.StringWriter;
|
||||||
|
import java.io.Writer;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
|
import java.sql.Connection;
|
||||||
|
import java.sql.DriverManager;
|
||||||
|
import java.sql.PreparedStatement;
|
||||||
|
import java.sql.ResultSet;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import java.sql.Statement;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
//import java.util.Iterator;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Properties;
|
||||||
|
import java.util.Random;
|
||||||
|
import java.util.zip.CRC32;
|
||||||
|
import java.util.zip.Checksum;
|
||||||
|
|
||||||
|
import javax.servlet.ServletContext;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import javax.xml.parsers.DocumentBuilder;
|
||||||
|
import javax.xml.parsers.DocumentBuilderFactory;
|
||||||
|
import javax.xml.transform.OutputKeys;
|
||||||
|
import javax.xml.transform.Transformer;
|
||||||
|
import javax.xml.transform.TransformerException;
|
||||||
|
import javax.xml.transform.TransformerFactory;
|
||||||
|
import javax.xml.transform.dom.DOMSource;
|
||||||
|
import javax.xml.transform.stream.StreamResult;
|
||||||
|
import javax.xml.xpath.XPath;
|
||||||
|
import javax.xml.xpath.XPathConstants;
|
||||||
|
import javax.xml.xpath.XPathExpression;
|
||||||
|
import javax.xml.xpath.XPathExpressionException;
|
||||||
|
import javax.xml.xpath.XPathFactory;
|
||||||
|
|
||||||
|
//import org.apache.commons.fileupload.FileItem;
|
||||||
|
//import org.apache.commons.fileupload.disk.DiskFileItemFactory;
|
||||||
|
//import org.apache.commons.fileupload.servlet.ServletFileUpload;
|
||||||
|
import org.apache.commons.io.FileUtils;
|
||||||
|
import org.json.JSONArray;
|
||||||
|
import org.json.JSONObject;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.core.io.ClassPathResource;
|
||||||
|
import org.springframework.core.io.FileSystemResource;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMethod;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
import org.springframework.web.bind.annotation.ResponseBody;
|
||||||
|
import org.springframework.web.bind.annotation.SessionAttributes;
|
||||||
|
import org.springframework.web.context.ServletContextAware;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
import org.w3c.dom.CharacterData;
|
||||||
|
import org.w3c.dom.DOMException;
|
||||||
|
import org.w3c.dom.Document;
|
||||||
|
import org.w3c.dom.Element;
|
||||||
|
import org.w3c.dom.Node;
|
||||||
|
import org.w3c.dom.NodeList;
|
||||||
|
import org.w3c.dom.ls.DOMImplementationLS;
|
||||||
|
import org.w3c.dom.ls.LSSerializer;
|
||||||
|
import org.xml.sax.InputSource;
|
||||||
|
|
||||||
|
import tctable.Tools;
|
||||||
|
import tools.EmailUtility;
|
||||||
|
import tools.PreparedStatementNamed;
|
||||||
|
import tools.User;
|
||||||
|
|
||||||
|
@Controller
|
||||||
|
@SessionAttributes( { "user" })
|
||||||
|
public class DataJSON implements ServletContextAware {
|
||||||
|
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(DataJSON.class);
|
||||||
|
private ServletContext context;
|
||||||
|
|
||||||
|
//If not created object "user", create him.
|
||||||
|
@ModelAttribute("user")
|
||||||
|
public User populatePerson() {
|
||||||
|
return new User("none");
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value = "/get_companies",method = {RequestMethod.POST,RequestMethod.GET}, produces = "application/json;charset=UTF-8")
|
||||||
|
@ResponseBody
|
||||||
|
public String getCompanies(@ModelAttribute User user,@RequestParam(required=false,name="country_id") String country_id,@RequestParam(required=false,name="lng") String language_id) {
|
||||||
|
|
||||||
|
int errorCode=0;
|
||||||
|
String errorMessage="";
|
||||||
|
|
||||||
|
//Load configuration from "config.xml"
|
||||||
|
String db_url = "";
|
||||||
|
String db_login = "";
|
||||||
|
String db_password = "";
|
||||||
|
try {
|
||||||
|
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||||
|
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||||
|
//Document doc = dBuilder.parse(fXmlFile);
|
||||||
|
Document doc = dBuilder.parse(new ClassPathResource("config.xml").getInputStream());
|
||||||
|
Element nMain = doc.getDocumentElement();
|
||||||
|
NodeList nl = nMain.getChildNodes();
|
||||||
|
for (int i = 0; i < nl.getLength(); i++) {
|
||||||
|
if (nl.item(i).getNodeName().equals("db-url"))
|
||||||
|
db_url = nl.item(i).getTextContent();
|
||||||
|
if (nl.item(i).getNodeName().equals("db-login"))
|
||||||
|
db_login = nl.item(i).getTextContent();
|
||||||
|
if (nl.item(i).getNodeName().equals("db-password"))
|
||||||
|
db_password = nl.item(i).getTextContent();
|
||||||
|
}
|
||||||
|
} catch (Exception ex) {
|
||||||
|
errorCode=1;
|
||||||
|
errorMessage+="Internal server error, settings.";
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
Connection conn = null;
|
||||||
|
try {
|
||||||
|
Class.forName("org.postgresql.Driver");
|
||||||
|
conn = DriverManager.getConnection(db_url, db_login, db_password);
|
||||||
|
if (conn != null) {
|
||||||
|
logger.info("Connect is OK!");
|
||||||
|
} else {
|
||||||
|
errorCode=1;
|
||||||
|
errorMessage+="An error occurred while connecting to the database!";
|
||||||
|
}
|
||||||
|
} catch (Exception ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
errorCode=1;
|
||||||
|
errorMessage+="An error occurred while connecting to the database!";
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
Statement stt0 = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
|
||||||
|
stt0.executeUpdate("SET TIME ZONE 'UTC';");
|
||||||
|
//stt0.executeUpdate("SET TIME ZONE 'Asia/Almaty';");
|
||||||
|
stt0.close();
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
errorCode=1;
|
||||||
|
errorMessage+="Failed to execute SQL query!";
|
||||||
|
}
|
||||||
|
|
||||||
|
JSONObject doc=null;
|
||||||
|
JSONArray array=new JSONArray(); //Результирующий набор данных
|
||||||
|
|
||||||
|
String sql_query = "";
|
||||||
|
Statement stt=null;
|
||||||
|
ResultSet rs=null;
|
||||||
|
try {
|
||||||
|
stt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
|
||||||
|
sql_query = "select id,name from main.companies where del=false and name is not null and name!='' and (${country_id} is null or country_id=${country_id})";
|
||||||
|
|
||||||
|
PreparedStatementNamed stmtn = new PreparedStatementNamed(conn, sql_query);
|
||||||
|
if(country_id==null || country_id.equals(""))
|
||||||
|
stmtn.setNULLInt("country_id");
|
||||||
|
else
|
||||||
|
stmtn.setInt("country_id",Integer.parseInt(country_id));
|
||||||
|
PreparedStatement stmt=stmtn.getPreparedStatement();
|
||||||
|
|
||||||
|
rs = stmt.executeQuery();
|
||||||
|
if (rs != null) {
|
||||||
|
try {
|
||||||
|
while(rs.next()) {
|
||||||
|
|
||||||
|
JSONObject obj = new JSONObject();
|
||||||
|
obj.put("id", rs.getLong("id"));
|
||||||
|
|
||||||
|
if(rs.getObject("name")!=null)
|
||||||
|
obj.put("name", rs.getString("name"));
|
||||||
|
|
||||||
|
array.put(obj);
|
||||||
|
}
|
||||||
|
rs.close();
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
errorCode=4;
|
||||||
|
errorMessage+="Internal server error, sampling.";
|
||||||
|
ex.printStackTrace();
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
errorCode=5;
|
||||||
|
errorMessage+="Internal server error, query. ";
|
||||||
|
ex.printStackTrace();
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}finally {
|
||||||
|
if(rs!=null) try{rs.close();}catch(SQLException ex){}
|
||||||
|
if(stt!=null) try{stt.close();}catch(SQLException ex){}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(errorCode!=0) {
|
||||||
|
JSONObject obj = new JSONObject();
|
||||||
|
obj.put("errorCode",errorCode);
|
||||||
|
obj.put("errorMessage", errorMessage);
|
||||||
|
return obj.toString();
|
||||||
|
}else {
|
||||||
|
JSONObject obj = new JSONObject();
|
||||||
|
obj.put("errorCode",0);
|
||||||
|
obj.put("errorMessage", "");
|
||||||
|
if(doc!=null)
|
||||||
|
obj.put("indicator",doc.getString("indicator"));
|
||||||
|
obj.put("data",array);
|
||||||
|
return obj.toString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setServletContext(ServletContext servletContext) {
|
||||||
|
this.context=servletContext;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
365
src/main/java/kz/locust/CCALM/DownloadNDVI.java
Normal file
365
src/main/java/kz/locust/CCALM/DownloadNDVI.java
Normal file
@ -0,0 +1,365 @@
|
|||||||
|
package kz.locust.CCALM;
|
||||||
|
|
||||||
|
|
||||||
|
import org.gdal.gdal.Band;
|
||||||
|
import org.gdal.gdal.Dataset;
|
||||||
|
import org.gdal.gdal.gdal;
|
||||||
|
import org.gdal.gdalconst.gdalconstConstants;
|
||||||
|
|
||||||
|
|
||||||
|
import javax.servlet.ServletContext;
|
||||||
|
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.core.io.ClassPathResource;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMethod;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
import org.springframework.web.bind.annotation.ResponseBody;
|
||||||
|
import org.springframework.web.context.ServletContextAware;
|
||||||
|
import org.w3c.dom.Document;
|
||||||
|
|
||||||
|
/*import ucar.ma2.Array;
|
||||||
|
import ucar.nc2.Dimension;
|
||||||
|
import ucar.nc2.Variable;
|
||||||
|
import ucar.nc2.dataset.NetcdfDataset;*/
|
||||||
|
|
||||||
|
@Controller
|
||||||
|
public class DownloadNDVI implements ServletContextAware {
|
||||||
|
|
||||||
|
private static final org.slf4j.Logger logger = LoggerFactory.getLogger(DownloadNDVI.class);
|
||||||
|
|
||||||
|
private ServletContext context;
|
||||||
|
|
||||||
|
@RequestMapping(value = "/DownloadNDVI",method = RequestMethod.GET,produces = "text/html;charset=UTF-8")
|
||||||
|
@ResponseBody
|
||||||
|
public Object ajaxTamer(@RequestParam(required=false,name="forecast") String forecast) {
|
||||||
|
|
||||||
|
|
||||||
|
//String forecast = request.getParameter("forecast"); //Date like as "000".
|
||||||
|
//response.setContentType("text/html");
|
||||||
|
//PrintWriter out = response.getWriter();
|
||||||
|
String result="";
|
||||||
|
result+="Start!<br>";
|
||||||
|
|
||||||
|
|
||||||
|
//http://gis-lab.info/forum/viewtopic.php?style=1&t=15764
|
||||||
|
gdal.AllRegister();
|
||||||
|
Dataset dataset=gdal.Open("O:\\Desctop\\NDVI_from_HDF\\1\\MOD13Q1.A2019049.h27v12.006.2019073153055.hdf" , gdalconstConstants.GA_ReadOnly);
|
||||||
|
Band o=(Band)dataset.GetRasterBand(1);
|
||||||
|
long flen=o.getXSize()*o.getYSize();
|
||||||
|
|
||||||
|
result+=flen;
|
||||||
|
|
||||||
|
/*
|
||||||
|
TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
|
||||||
|
|
||||||
|
//Load DB configuration from "config.xml"
|
||||||
|
String db_url = "";
|
||||||
|
String db_login = "";
|
||||||
|
String db_password = "";
|
||||||
|
String data_dir = "";
|
||||||
|
try {
|
||||||
|
//String fullPath = context.getRealPath("/WEB-INF/config.xml");
|
||||||
|
//File fXmlFile = new File(fullPath);
|
||||||
|
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||||
|
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||||
|
//Document doc = dBuilder.parse(fXmlFile);
|
||||||
|
Document doc = dBuilder.parse(new ClassPathResource("config.xml").getInputStream());
|
||||||
|
Element nMain = doc.getDocumentElement();
|
||||||
|
NodeList nl = nMain.getChildNodes();
|
||||||
|
for (int i = 0; i < nl.getLength(); i++) {
|
||||||
|
if (nl.item(i).getNodeName().equals("db-url"))
|
||||||
|
db_url = nl.item(i).getTextContent();
|
||||||
|
if (nl.item(i).getNodeName().equals("db-login"))
|
||||||
|
db_login = nl.item(i).getTextContent();
|
||||||
|
if (nl.item(i).getNodeName().equals("db-password"))
|
||||||
|
db_password = nl.item(i).getTextContent();
|
||||||
|
if (nl.item(i).getNodeName().equals("data-dir"))
|
||||||
|
data_dir = nl.item(i).getTextContent();
|
||||||
|
}
|
||||||
|
} catch (Exception ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
data_dir+="temp"+File.separator;
|
||||||
|
|
||||||
|
File dir = new File(data_dir);
|
||||||
|
if (!dir.exists()) dir.mkdirs();
|
||||||
|
|
||||||
|
//response.getWriter().append("Served at: ").append(request.getContextPath());
|
||||||
|
Connection conn = null;
|
||||||
|
try{
|
||||||
|
Class.forName("org.postgresql.Driver");
|
||||||
|
conn = DriverManager.getConnection(db_url,db_login,db_password);
|
||||||
|
if(conn!=null)
|
||||||
|
{
|
||||||
|
logger.info("Connect is OK!");
|
||||||
|
result+="Connect is OK!<br>";
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
logger.info("<br>Connect is ERROR<br>");
|
||||||
|
result+="Connect is ERROR!<br>";
|
||||||
|
}
|
||||||
|
}catch(Exception e)
|
||||||
|
{
|
||||||
|
logger.info("<br>Connect Exception:"+e.getMessage()+"<br>");
|
||||||
|
result+="Connect Exception:"+e.getMessage()+"<br>";
|
||||||
|
}
|
||||||
|
|
||||||
|
//Example request: http://localhost:8080/CCALM/DownloadWeather?forecast=000
|
||||||
|
DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
|
||||||
|
String date=dateFormat.format(new Date()); //Date like as "20170327".
|
||||||
|
|
||||||
|
String time = "00"; //00 hours,06 hours,12 hours and 18 hours
|
||||||
|
//String forecast = request.getParameter("forecast"); //Date like as "000".
|
||||||
|
String measurement = "TSOIL:0-0.1 m below ground";
|
||||||
|
//String measurement = "TSOIL:0.1-0.4 m below ground";
|
||||||
|
|
||||||
|
//Build URL to download
|
||||||
|
String URL = "https://www.ftp.ncep.noaa.gov/data/nccf/com/gfs/prod/gfs."+date+time+"/gfs.t"+time+"z.pgrb2.0p25.f"+forecast;
|
||||||
|
|
||||||
|
//URL = "http://www.ftp.ncep.noaa.gov/data/nccf/com/gfs/prod/gfs.2017091200/gfs.t00z.pgrb2.0p25.f000";
|
||||||
|
|
||||||
|
WeatherDownload wd = new WeatherDownload();
|
||||||
|
if(wd.download(URL+".idx", data_dir+"text.idx", "0", ""))
|
||||||
|
{
|
||||||
|
result+="Download "+URL+".idx"+" to "+data_dir+"text.idx"+"<br>";
|
||||||
|
|
||||||
|
String strPos1="";
|
||||||
|
String strPos2="";
|
||||||
|
//Read file and find required line.
|
||||||
|
try {
|
||||||
|
BufferedReader br = new BufferedReader(new FileReader(data_dir+"text.idx"));
|
||||||
|
String line;
|
||||||
|
while ((line = br.readLine()) != null)
|
||||||
|
{
|
||||||
|
//if (line.contains("TSOIL:0-0.1 m below ground"))
|
||||||
|
if (line.contains(measurement))
|
||||||
|
{
|
||||||
|
strPos1=line;
|
||||||
|
strPos2=br.readLine();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
br.close();
|
||||||
|
} catch (IOException ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
result+=ex.getMessage()+"<br>";
|
||||||
|
}
|
||||||
|
if(!strPos1.equals(""))
|
||||||
|
{
|
||||||
|
//String strPos1 = "250:146339365:d=2017022818:TSOIL:0-0.1 m below ground:anl:"
|
||||||
|
StringBuffer answer1=new StringBuffer(strPos1);
|
||||||
|
CutBeforeFirst(answer1,":");
|
||||||
|
String posStart = CutBeforeFirst(answer1,":");
|
||||||
|
|
||||||
|
StringBuffer answer2=new StringBuffer(strPos2);
|
||||||
|
CutBeforeFirst(answer2,":");
|
||||||
|
String posEnd = CutBeforeFirst(answer2,":");
|
||||||
|
if(posEnd==null || posEnd.equals("")) posEnd=""; else
|
||||||
|
{
|
||||||
|
posEnd=String.valueOf(Long.parseLong(posEnd)-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
wd.download(URL, data_dir+"text.f000", String.valueOf(posStart), String.valueOf(posEnd));
|
||||||
|
}
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
result+="Not download "+URL+".idx"+" to "+data_dir+"text.idx"+"<br>";
|
||||||
|
}
|
||||||
|
|
||||||
|
Array dataArrayLat=null;
|
||||||
|
Array dataArrayLon=null;
|
||||||
|
Array dataArrayTmp=null;
|
||||||
|
|
||||||
|
try {
|
||||||
|
// open netcdf/grib/grib2 file from argument
|
||||||
|
NetcdfDataset gid = NetcdfDataset.openDataset(data_dir+"text.f000");
|
||||||
|
|
||||||
|
//logger.info("Desc: " + gid.getDescription());
|
||||||
|
logger.info(gid.getDetailInfo());
|
||||||
|
//logger.info("Feature type: " + gid.getFeatureType().toString());
|
||||||
|
|
||||||
|
// get all grid tables in the file
|
||||||
|
List<Variable> variables = gid.getReferencedFile().getVariables();
|
||||||
|
for (int i = 0; i < variables.size(); i++)
|
||||||
|
{
|
||||||
|
System.out.print(variables.get(i).getName()+" ");
|
||||||
|
//LatLon_Projection, lat, lon, reftime, time, depth_below_surface_layer, depth_below_surface_layer_bounds, Soil_temperature_depth_below_surface_layer
|
||||||
|
|
||||||
|
if(variables.get(i).getName().equals("reftime"))
|
||||||
|
{
|
||||||
|
logger.info("");
|
||||||
|
logger.info("Description = "+variables.get(i).getDescription());
|
||||||
|
logger.info("DimensionsString = "+variables.get(i).getDimensionsString());
|
||||||
|
logger.info("DataType = "+variables.get(i).getDataType());
|
||||||
|
logger.info("UnitsString = "+variables.get(i).getUnitsString()); //Hour since 2017-02-28T18:00:00Z
|
||||||
|
}
|
||||||
|
|
||||||
|
if(variables.get(i).getName().equals("lon"))
|
||||||
|
{
|
||||||
|
dataArrayLon = variables.get(i).read();
|
||||||
|
}
|
||||||
|
if(variables.get(i).getName().equals("lat"))
|
||||||
|
{
|
||||||
|
dataArrayLat = variables.get(i).read();
|
||||||
|
}
|
||||||
|
if(variables.get(i).getName().equals("Soil_temperature_depth_below_surface_layer"))
|
||||||
|
{
|
||||||
|
//Section sec=new Section();
|
||||||
|
dataArrayTmp = variables.get(i).read();
|
||||||
|
|
||||||
|
//for(int j=0;j<dataArrayTmp.getSize();j++)
|
||||||
|
//{
|
||||||
|
// logger.info(j+") "+dataArrayTmp.getFloat(j)+",");
|
||||||
|
//}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
logger.info("");
|
||||||
|
List<Dimension> dims = gid.getDimensions();
|
||||||
|
logger.info("dims.size() = " + dims.size());
|
||||||
|
|
||||||
|
Iterator<Dimension> dimIt = dims.iterator();
|
||||||
|
while( dimIt.hasNext()) {
|
||||||
|
Dimension dim = dimIt.next();
|
||||||
|
logger.info("Dim = " + dim);
|
||||||
|
logger.info("Dim name = "+dim.getName());
|
||||||
|
}
|
||||||
|
dimIt = null;
|
||||||
|
|
||||||
|
Statement st=null;
|
||||||
|
try {
|
||||||
|
st = conn.createStatement();
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
st.executeUpdate("BEGIN TRANSACTION;");
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
result+="Size="+dataArrayLat.getSize()+"<br>";
|
||||||
|
|
||||||
|
int pos=0;
|
||||||
|
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
|
||||||
|
//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.
|
||||||
|
{
|
||||||
|
String country_id="";
|
||||||
|
ResultSet rs=null;
|
||||||
|
try {
|
||||||
|
rs = st.executeQuery("select c.id from main.countries c where ST_Contains(c.geom,ST_SetSRID(st_makepoint("+lon+","+lat+"),4326)) limit 1");
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
if (rs != null) {
|
||||||
|
try {
|
||||||
|
if (rs.next())
|
||||||
|
country_id=rs.getString(1);
|
||||||
|
rs.close();
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(country_id!=null && !country_id.equals("") && !country_id.equals("null"))
|
||||||
|
{
|
||||||
|
//logger.info(lon + "," + lat +","+dataArrayTmp.getFloat(pos));
|
||||||
|
try {
|
||||||
|
//String sql="insert into weather(weather_type_id,date,hours,val,geom)values(1,cast(to_timestamp('"+date+" "+time+"', 'YYYYMMDD HH24') as timestamp without time zone),"+forecast+","+dataArrayTmp.getFloat(pos)+",ST_SetSRID(st_makepoint("+lon+","+lat+"),4326));";
|
||||||
|
//String sql="insert into main.weather(weather_type_id,date,hours,val,geom,country_id)values(1,cast(to_timestamp('"+date+" "+time+"', 'YYYYMMDD HH24') as timestamp without time zone),"+forecast+","+dataArrayTmp.getFloat(pos)+",ST_SetSRID(st_makepoint("+lon+","+lat+"),4326),(select c.id from main.countries c where ST_Contains(c.geom,ST_SetSRID(st_makepoint("+lon+","+lat+"),4326)) limit 1));";
|
||||||
|
String sql="insert into main.weather(weather_type_id,date,hours,val,geom,country_id)values(1,cast(to_timestamp('"+date+" "+time+"', 'YYYYMMDD HH24') as timestamp without time zone),"+forecast+","+dataArrayTmp.getFloat(pos)+",ST_SetSRID(st_makepoint("+lon+","+lat+"),4326),"+country_id+");";
|
||||||
|
st.executeUpdate(sql);
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
pos++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//Cut data pise for Russia
|
||||||
|
try {
|
||||||
|
//String sql="update weather w set country_id=null where country_id=7 and not ST_Contains((select geom from main.countriesregions where id=97),w.geom);";
|
||||||
|
String sql="update main.weather w set country_id=null 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),w.geom);";
|
||||||
|
st.executeUpdate(sql);
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
//Delete values where country_id is null
|
||||||
|
try {
|
||||||
|
String sql="delete from main.weather where country_id is null;";
|
||||||
|
st.executeUpdate(sql);
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
//Delete all old values
|
||||||
|
try {
|
||||||
|
String sql="delete from main.weather where date!=(select max(date) from main.weather limit 1);";
|
||||||
|
st.executeUpdate(sql);
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
st.executeUpdate("END TRANSACTION;");
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
gid.close();
|
||||||
|
} catch (IOException ex) {
|
||||||
|
//Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
|
||||||
|
System.out.print("ERROR!");
|
||||||
|
}
|
||||||
|
|
||||||
|
try {conn.close();} catch (SQLException ex) {logger.info(ex.getMessage());}
|
||||||
|
|
||||||
|
result+="End!<br>";
|
||||||
|
*/
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
@Override
|
||||||
|
public void setServletContext(ServletContext context) {
|
||||||
|
this.context=context;
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
public static String CutBeforeFirst(StringBuffer str,String ch)
|
||||||
|
{
|
||||||
|
int pos=str.indexOf(ch);
|
||||||
|
String result="";
|
||||||
|
if(pos==-1)
|
||||||
|
{
|
||||||
|
result.concat(str.toString());
|
||||||
|
str.delete(0,str.length());
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
result=str.substring(0,pos);
|
||||||
|
str.delete(0,pos+1);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
470
src/main/java/kz/locust/CCALM/DownloadWeather.java
Normal file
470
src/main/java/kz/locust/CCALM/DownloadWeather.java
Normal file
@ -0,0 +1,470 @@
|
|||||||
|
package kz.locust.CCALM;
|
||||||
|
|
||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileReader;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.PrintWriter;
|
||||||
|
import java.sql.Connection;
|
||||||
|
import java.sql.DriverManager;
|
||||||
|
import java.sql.ResultSet;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import java.sql.Statement;
|
||||||
|
import java.text.DateFormat;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.Iterator;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.TimeZone;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import javax.servlet.ServletContext;
|
||||||
|
import javax.xml.parsers.DocumentBuilder;
|
||||||
|
import javax.xml.parsers.DocumentBuilderFactory;
|
||||||
|
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.core.io.ClassPathResource;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMethod;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
import org.springframework.web.bind.annotation.ResponseBody;
|
||||||
|
import org.springframework.web.context.ServletContextAware;
|
||||||
|
import org.w3c.dom.Document;
|
||||||
|
|
||||||
|
import org.w3c.dom.Element;
|
||||||
|
import org.w3c.dom.NodeList;
|
||||||
|
|
||||||
|
//import main.DownloadFromHTTP;
|
||||||
|
import kz.locust.CCALM.WeatherDownload;
|
||||||
|
import ucar.ma2.Array;
|
||||||
|
import ucar.nc2.Dimension;
|
||||||
|
import ucar.nc2.Variable;
|
||||||
|
import ucar.nc2.dataset.NetcdfDataset;
|
||||||
|
|
||||||
|
@Controller
|
||||||
|
public class DownloadWeather implements ServletContextAware {
|
||||||
|
|
||||||
|
private static final org.slf4j.Logger logger = LoggerFactory.getLogger(DownloadWeather.class);
|
||||||
|
|
||||||
|
private ServletContext context;
|
||||||
|
|
||||||
|
@RequestMapping(value = "/DownloadWeather",method = RequestMethod.GET,produces = "text/html;charset=UTF-8")
|
||||||
|
@ResponseBody
|
||||||
|
public Object ajaxTamer(@RequestParam(required=false,name="forecast") String forecast,@RequestParam(required=false,name="date") String date) {
|
||||||
|
//String forecast = request.getParameter("forecast"); //Date like as "000".
|
||||||
|
//response.setContentType("text/html");
|
||||||
|
//PrintWriter out = response.getWriter();
|
||||||
|
String result="";
|
||||||
|
result+="Start!<br>";
|
||||||
|
|
||||||
|
TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
|
||||||
|
|
||||||
|
//Load DB configuration from "config.xml"
|
||||||
|
String db_url = "";
|
||||||
|
String db_login = "";
|
||||||
|
String db_password = "";
|
||||||
|
String data_dir = "";
|
||||||
|
try {
|
||||||
|
//String fullPath = context.getRealPath("/WEB-INF/config.xml");
|
||||||
|
//File fXmlFile = new File(fullPath);
|
||||||
|
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||||
|
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||||
|
//Document doc = dBuilder.parse(fXmlFile);
|
||||||
|
Document doc = dBuilder.parse(new ClassPathResource("config.xml").getInputStream());
|
||||||
|
Element nMain = doc.getDocumentElement();
|
||||||
|
NodeList nl = nMain.getChildNodes();
|
||||||
|
for (int i = 0; i < nl.getLength(); i++) {
|
||||||
|
if (nl.item(i).getNodeName().equals("db-url"))
|
||||||
|
db_url = nl.item(i).getTextContent();
|
||||||
|
if (nl.item(i).getNodeName().equals("db-login"))
|
||||||
|
db_login = nl.item(i).getTextContent();
|
||||||
|
if (nl.item(i).getNodeName().equals("db-password"))
|
||||||
|
db_password = nl.item(i).getTextContent();
|
||||||
|
if (nl.item(i).getNodeName().equals("data-dir"))
|
||||||
|
data_dir = nl.item(i).getTextContent();
|
||||||
|
}
|
||||||
|
} catch (Exception ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
data_dir+="temp"+File.separator;
|
||||||
|
|
||||||
|
File dir = new File(data_dir);
|
||||||
|
if (!dir.exists()) dir.mkdirs();
|
||||||
|
|
||||||
|
//response.getWriter().append("Served at: ").append(request.getContextPath());
|
||||||
|
Connection conn = null;
|
||||||
|
try{
|
||||||
|
Class.forName("org.postgresql.Driver");
|
||||||
|
conn = DriverManager.getConnection(db_url,db_login,db_password);
|
||||||
|
if(conn!=null)
|
||||||
|
{
|
||||||
|
logger.info("Connect is OK!");
|
||||||
|
result+="Connect is OK!<br>";
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
logger.info("<br>Connect is ERROR<br>");
|
||||||
|
result+="Connect is ERROR!<br>";
|
||||||
|
}
|
||||||
|
}catch(Exception e)
|
||||||
|
{
|
||||||
|
logger.info("<br>Connect Exception:"+e.getMessage()+"<br>");
|
||||||
|
result+="Connect Exception:"+e.getMessage()+"<br>";
|
||||||
|
}
|
||||||
|
|
||||||
|
//Example request: http://ccalm.org/DownloadWeather?forecast=000&date=20210531
|
||||||
|
//Example request: http://localhost:8080/CCALM/DownloadWeather?forecast=000
|
||||||
|
//Example request: http://127.0.0.1:8080/CCALM/DownloadWeather?forecast=000
|
||||||
|
if(date==null || date.equals(""))
|
||||||
|
{
|
||||||
|
DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
|
||||||
|
date=dateFormat.format(new Date()); //Date like as "20170327".
|
||||||
|
}
|
||||||
|
|
||||||
|
String time = "00"; //00 hours,06 hours,12 hours and 18 hours
|
||||||
|
//String forecast = request.getParameter("forecast"); //Date like as "000".
|
||||||
|
String measurement = "TSOIL:0-0.1 m below ground";
|
||||||
|
//String measurement = "TSOIL:0.1-0.4 m below ground";
|
||||||
|
|
||||||
|
//Build URL to download
|
||||||
|
String URL = "https://www.ftp.ncep.noaa.gov/data/nccf/com/gfs/prod/gfs."+date+"/"+time+"/atmos/gfs.t"+time+"z.pgrb2.0p25.f"+forecast;
|
||||||
|
|
||||||
|
File f = new File(data_dir+"text.idx");
|
||||||
|
if(f.exists()) {
|
||||||
|
if (!f.delete()) {
|
||||||
|
System.out.println("Failed to delete the file.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
WeatherDownload wd = new WeatherDownload();
|
||||||
|
if(wd.download(URL+".idx", data_dir+"text.idx", "0", ""))
|
||||||
|
{
|
||||||
|
result+="Download "+URL+".idx"+" to "+data_dir+"text.idx"+"<br>";
|
||||||
|
|
||||||
|
String strPos1="";
|
||||||
|
String strPos2="";
|
||||||
|
//Read file and find required line.
|
||||||
|
try {
|
||||||
|
BufferedReader br = new BufferedReader(new FileReader(data_dir+"text.idx"));
|
||||||
|
String line;
|
||||||
|
while ((line = br.readLine()) != null)
|
||||||
|
{
|
||||||
|
//if (line.contains("TSOIL:0-0.1 m below ground"))
|
||||||
|
if (line.contains(measurement))
|
||||||
|
{
|
||||||
|
strPos1=line;
|
||||||
|
strPos2=br.readLine();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
br.close();
|
||||||
|
} catch (IOException ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
result+=ex.getMessage()+"<br>";
|
||||||
|
}
|
||||||
|
if(!strPos1.equals(""))
|
||||||
|
{
|
||||||
|
//String strPos1 = "250:146339365:d=2017022818:TSOIL:0-0.1 m below ground:anl:"
|
||||||
|
StringBuffer answer1=new StringBuffer(strPos1);
|
||||||
|
CutBeforeFirst(answer1,":");
|
||||||
|
String posStart = CutBeforeFirst(answer1,":");
|
||||||
|
|
||||||
|
StringBuffer answer2=new StringBuffer(strPos2);
|
||||||
|
CutBeforeFirst(answer2,":");
|
||||||
|
String posEnd = CutBeforeFirst(answer2,":");
|
||||||
|
if(posEnd==null || posEnd.equals("")) posEnd=""; else
|
||||||
|
{
|
||||||
|
posEnd=String.valueOf(Long.parseLong(posEnd)-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
wd.download(URL, data_dir+"text.f000", String.valueOf(posStart), String.valueOf(posEnd));
|
||||||
|
}
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
result+="Not download "+URL+".idx"+" to "+data_dir+"text.idx"+"<br>";
|
||||||
|
}
|
||||||
|
|
||||||
|
Array dataArrayLat=null;
|
||||||
|
Array dataArrayLon=null;
|
||||||
|
Array dataArrayTmp=null;
|
||||||
|
|
||||||
|
try {
|
||||||
|
// open netcdf/grib/grib2 file from argument
|
||||||
|
NetcdfDataset gid = NetcdfDataset.openDataset(data_dir+"text.f000");
|
||||||
|
|
||||||
|
//logger.info("Desc: " + gid.getDescription());
|
||||||
|
logger.info(gid.getDetailInfo());
|
||||||
|
//logger.info("Feature type: " + gid.getFeatureType().toString());
|
||||||
|
|
||||||
|
// get all grid tables in the file
|
||||||
|
List<Variable> variables = gid.getReferencedFile().getVariables();
|
||||||
|
for (int i = 0; i < variables.size(); i++)
|
||||||
|
{
|
||||||
|
System.out.print(variables.get(i).getName()+" ");
|
||||||
|
//LatLon_Projection, lat, lon, reftime, time, depth_below_surface_layer, depth_below_surface_layer_bounds, Soil_temperature_depth_below_surface_layer
|
||||||
|
|
||||||
|
if(variables.get(i).getName().equals("reftime"))
|
||||||
|
{
|
||||||
|
logger.info("");
|
||||||
|
logger.info("Description = "+variables.get(i).getDescription());
|
||||||
|
logger.info("DimensionsString = "+variables.get(i).getDimensionsString());
|
||||||
|
logger.info("DataType = "+variables.get(i).getDataType());
|
||||||
|
logger.info("UnitsString = "+variables.get(i).getUnitsString()); //Hour since 2017-02-28T18:00:00Z
|
||||||
|
}
|
||||||
|
|
||||||
|
if(variables.get(i).getName().equals("lon"))
|
||||||
|
{
|
||||||
|
dataArrayLon = variables.get(i).read();
|
||||||
|
}
|
||||||
|
if(variables.get(i).getName().equals("lat"))
|
||||||
|
{
|
||||||
|
dataArrayLat = variables.get(i).read();
|
||||||
|
}
|
||||||
|
if(variables.get(i).getName().equals("Soil_temperature_depth_below_surface_layer"))
|
||||||
|
{
|
||||||
|
//Section sec=new Section();
|
||||||
|
dataArrayTmp = variables.get(i).read();
|
||||||
|
|
||||||
|
/*for(int j=0;j<dataArrayTmp.getSize();j++)
|
||||||
|
{
|
||||||
|
logger.info(j+") "+dataArrayTmp.getFloat(j)+",");
|
||||||
|
}*/
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
logger.info("");
|
||||||
|
List<Dimension> dims = gid.getDimensions();
|
||||||
|
logger.info("dims.size() = " + dims.size());
|
||||||
|
|
||||||
|
Iterator<Dimension> dimIt = dims.iterator();
|
||||||
|
while( dimIt.hasNext()) {
|
||||||
|
Dimension dim = dimIt.next();
|
||||||
|
logger.info("Dim = " + dim);
|
||||||
|
logger.info("Dim name = "+dim.getName());
|
||||||
|
}
|
||||||
|
dimIt = null;
|
||||||
|
|
||||||
|
Statement st=null;
|
||||||
|
try {
|
||||||
|
st = conn.createStatement();
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
st.executeUpdate("BEGIN TRANSACTION;");
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
result+="Size="+dataArrayLat.getSize()+"<br>";
|
||||||
|
|
||||||
|
int pos=0;
|
||||||
|
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
|
||||||
|
//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.
|
||||||
|
{
|
||||||
|
String country_id="";
|
||||||
|
ResultSet rs=null;
|
||||||
|
try {
|
||||||
|
rs = st.executeQuery("select c.id from main.countries c where ST_Contains(c.geom,ST_SetSRID(st_makepoint("+lon+","+lat+"),4326)) limit 1");
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
if (rs != null) {
|
||||||
|
try {
|
||||||
|
if (rs.next())
|
||||||
|
country_id=rs.getString(1);
|
||||||
|
rs.close();
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(country_id!=null && !country_id.equals("") && !country_id.equals("null"))
|
||||||
|
{
|
||||||
|
//logger.info(lon + "," + lat +","+dataArrayTmp.getFloat(pos));
|
||||||
|
try {
|
||||||
|
//String sql="insert into main.weather(weather_type_id,date,hours,val,geom)values(1,cast(to_timestamp('"+date+" "+time+"', 'YYYYMMDD HH24') as timestamp without time zone),"+forecast+","+dataArrayTmp.getFloat(pos)+",ST_SetSRID(st_makepoint("+lon+","+lat+"),4326));";
|
||||||
|
//String sql="insert into main.weather(weather_type_id,date,hours,val,geom,country_id)values(1,cast(to_timestamp('"+date+" "+time+"', 'YYYYMMDD HH24') as timestamp without time zone),"+forecast+","+dataArrayTmp.getFloat(pos)+",ST_SetSRID(st_makepoint("+lon+","+lat+"),4326),(select c.id from main.countries c where ST_Contains(c.geom,ST_SetSRID(st_makepoint("+lon+","+lat+"),4326)) limit 1));";
|
||||||
|
String sql="insert into main.weather(weather_type_id,date,hours,val,geom,country_id)values(1,cast(to_timestamp('"+date+" "+time+"', 'YYYYMMDD HH24') as timestamp without time zone),"+forecast+","+dataArrayTmp.getFloat(pos)+",ST_SetSRID(st_makepoint("+lon+","+lat+"),4326),"+country_id+");";
|
||||||
|
st.executeUpdate(sql);
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
pos++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//Cut data piece from big country of Russia
|
||||||
|
try {
|
||||||
|
//String sql="update weather w set country_id=null where country_id=7 and not ST_Contains((select geom from main.countriesregions where id=97),w.geom);";
|
||||||
|
String sql="update main.weather w set country_id=null 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),w.geom);";
|
||||||
|
st.executeUpdate(sql);
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
//Delete values where country_id is null
|
||||||
|
try {
|
||||||
|
String sql="delete from main.weather where country_id is null;";
|
||||||
|
st.executeUpdate(sql);
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
//Delete all old values аnd not a multiple of 10.
|
||||||
|
try {
|
||||||
|
String sql="delete from main.weather where date!=(select max(date) from main.weather limit 1) and ((DATE_PART('doy',date)::INTEGER-1)%10!=0 or ((DATE_PART('doy',date)::INTEGER-1)%10=0 and hours=48));";
|
||||||
|
st.executeUpdate(sql);
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
st.executeUpdate("END TRANSACTION;");
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
gid.close();
|
||||||
|
} catch (IOException ex) {
|
||||||
|
//Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
|
||||||
|
System.out.print("ERROR!");
|
||||||
|
}
|
||||||
|
|
||||||
|
try {conn.close();} catch (SQLException ex) {logger.info(ex.getMessage());}
|
||||||
|
|
||||||
|
result+="End!<br>";
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
@Override
|
||||||
|
public void setServletContext(ServletContext context) {
|
||||||
|
this.context=context;
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
public static String CutBeforeFirst(StringBuffer str,String ch)
|
||||||
|
{
|
||||||
|
int pos=str.indexOf(ch);
|
||||||
|
String result="";
|
||||||
|
if(pos==-1)
|
||||||
|
{
|
||||||
|
result.concat(str.toString());
|
||||||
|
str.delete(0,str.length());
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
result=str.substring(0,pos);
|
||||||
|
str.delete(0,pos+1);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
//List of "Soil temperature" dates from database in JSON
|
||||||
|
@RequestMapping(value = "/WeatherSoilDates",method = RequestMethod.GET,produces = "text/html;charset=UTF-8")
|
||||||
|
@ResponseBody
|
||||||
|
public Object ajaxSoilDates() {
|
||||||
|
boolean error=false;
|
||||||
|
String result="";
|
||||||
|
|
||||||
|
//Load DB configuration from "config.xml"
|
||||||
|
String db_url = "";
|
||||||
|
String db_login = "";
|
||||||
|
String db_password = "";
|
||||||
|
try {
|
||||||
|
//String fullPath = context.getRealPath("/WEB-INF/config.xml");
|
||||||
|
//File fXmlFile = new File(fullPath);
|
||||||
|
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||||
|
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||||
|
//Document doc = dBuilder.parse(fXmlFile);
|
||||||
|
Document doc = dBuilder.parse(new ClassPathResource("config.xml").getInputStream());
|
||||||
|
Element nMain = doc.getDocumentElement();
|
||||||
|
NodeList nl = nMain.getChildNodes();
|
||||||
|
for (int i = 0; i < nl.getLength(); i++) {
|
||||||
|
if (nl.item(i).getNodeName().equals("db-url"))
|
||||||
|
db_url = nl.item(i).getTextContent();
|
||||||
|
if (nl.item(i).getNodeName().equals("db-login"))
|
||||||
|
db_login = nl.item(i).getTextContent();
|
||||||
|
if (nl.item(i).getNodeName().equals("db-password"))
|
||||||
|
db_password = nl.item(i).getTextContent();
|
||||||
|
}
|
||||||
|
} catch (Exception ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
Connection conn = null;
|
||||||
|
try {
|
||||||
|
Class.forName("org.postgresql.Driver");
|
||||||
|
conn = DriverManager.getConnection(db_url, db_login, db_password);
|
||||||
|
if (conn != null) {
|
||||||
|
logger.info("Connect is OK!");
|
||||||
|
} else {
|
||||||
|
error=true;
|
||||||
|
result="An error occurred while connecting to the database!";
|
||||||
|
}
|
||||||
|
} catch (Exception ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
error=true;
|
||||||
|
result="<br>SQLException: "+ex.getMessage()+"<br>";
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!error)
|
||||||
|
{
|
||||||
|
Statement st;
|
||||||
|
try {
|
||||||
|
st = conn.createStatement();
|
||||||
|
String sql = "SELECT to_char(date, 'YYYY-MM-DD') as date,hours as hour,DATE_PART('doy',date)-1 as day FROM main.weather group by date,hours order by date,hours";
|
||||||
|
ResultSet rs = st.executeQuery(sql);
|
||||||
|
if(rs!=null)
|
||||||
|
{
|
||||||
|
boolean exists=false;
|
||||||
|
result="[";
|
||||||
|
while (rs.next())
|
||||||
|
{
|
||||||
|
exists=true;
|
||||||
|
try {
|
||||||
|
result+= "{\"num\":\""+rs.getString("day")+"\", \"hour\":\""+rs.getString("hour")+"\", \"date\":\""+rs.getString("date")+"\"},";
|
||||||
|
} catch( Exception ex )
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(exists) {
|
||||||
|
result=result.substring(0, result.length()-1);
|
||||||
|
result+="]";
|
||||||
|
}else {
|
||||||
|
result="[]";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
st.close();
|
||||||
|
conn.close();
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
result="<br>SQLException:"+ex.getMessage()+"<br>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
}
|
||||||
278
src/main/java/kz/locust/CCALM/GeoGSON.java
Normal file
278
src/main/java/kz/locust/CCALM/GeoGSON.java
Normal file
@ -0,0 +1,278 @@
|
|||||||
|
package kz.locust.CCALM;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.OutputStream;
|
||||||
|
import java.sql.Connection;
|
||||||
|
import java.sql.DriverManager;
|
||||||
|
import java.sql.ResultSet;
|
||||||
|
import java.sql.ResultSetMetaData;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import java.sql.Statement;
|
||||||
|
|
||||||
|
import javax.servlet.ServletContext;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import javax.xml.parsers.DocumentBuilder;
|
||||||
|
import javax.xml.parsers.DocumentBuilderFactory;
|
||||||
|
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.core.io.ClassPathResource;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMethod;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
import org.springframework.web.bind.annotation.ResponseBody;
|
||||||
|
import org.springframework.web.context.ServletContextAware;
|
||||||
|
import org.w3c.dom.Document;
|
||||||
|
import org.w3c.dom.Element;
|
||||||
|
import org.w3c.dom.NodeList;
|
||||||
|
|
||||||
|
import tctable.TCField;
|
||||||
|
import tctable.TCTable;
|
||||||
|
|
||||||
|
@Controller
|
||||||
|
public class GeoGSON implements ServletContextAware {
|
||||||
|
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(GeoGSON.class);
|
||||||
|
private ServletContext context;
|
||||||
|
|
||||||
|
@RequestMapping(value = "/geojson", method = RequestMethod.GET)
|
||||||
|
@ResponseBody
|
||||||
|
public Object home(HttpServletResponse response,@RequestParam(required=false,name="table") String table,@RequestParam(required=false,name="id") String id)
|
||||||
|
{
|
||||||
|
boolean error=false;
|
||||||
|
String result="";
|
||||||
|
|
||||||
|
String db_url = "";
|
||||||
|
String db_login = "";
|
||||||
|
String db_password = "";
|
||||||
|
//Load DB configuration from "config.xml"
|
||||||
|
try {
|
||||||
|
//String fullPath = context.getRealPath("/WEB-INF/config.xml");
|
||||||
|
//File fXmlFile = new File(fullPath);
|
||||||
|
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||||
|
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||||
|
//Document doc = dBuilder.parse(fXmlFile);
|
||||||
|
Document doc = dBuilder.parse(new ClassPathResource("config.xml").getInputStream());
|
||||||
|
Element nMain = doc.getDocumentElement();
|
||||||
|
NodeList nl = nMain.getChildNodes();
|
||||||
|
for (int i = 0; i < nl.getLength(); i++) {
|
||||||
|
if (nl.item(i).getNodeName().equals("db-url"))
|
||||||
|
db_url = nl.item(i).getTextContent();
|
||||||
|
if (nl.item(i).getNodeName().equals("db-login"))
|
||||||
|
db_login = nl.item(i).getTextContent();
|
||||||
|
if (nl.item(i).getNodeName().equals("db-password"))
|
||||||
|
db_password = nl.item(i).getTextContent();
|
||||||
|
}
|
||||||
|
} catch (Exception ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
error=true;
|
||||||
|
result="<br>SQLException: "+ex.getMessage()+"<br>";
|
||||||
|
}
|
||||||
|
|
||||||
|
Connection conn = null;
|
||||||
|
try {
|
||||||
|
Class.forName("org.postgresql.Driver");
|
||||||
|
conn = DriverManager.getConnection(db_url, db_login, db_password);
|
||||||
|
if (conn != null) {
|
||||||
|
logger.info("Connect is OK!");
|
||||||
|
} else {
|
||||||
|
error=true;
|
||||||
|
result="An error occurred while connecting to the database!";
|
||||||
|
}
|
||||||
|
} catch (Exception ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
error=true;
|
||||||
|
result="<br>SQLException: "+ex.getMessage()+"<br>";
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!error)
|
||||||
|
{
|
||||||
|
Statement st;
|
||||||
|
try {
|
||||||
|
st = conn.createStatement();
|
||||||
|
String sql="select id,name,ST_AsGeoJSON(geom,3,0) as geom from main."+table+" where id="+id+";";
|
||||||
|
ResultSet rs = st.executeQuery(sql);
|
||||||
|
if(rs!=null)
|
||||||
|
{
|
||||||
|
while (rs.next())
|
||||||
|
{
|
||||||
|
String geom=null;
|
||||||
|
try {
|
||||||
|
geom=rs.getString("geom");
|
||||||
|
} catch( Exception ex )
|
||||||
|
{
|
||||||
|
result="<metadata fn=\"-1\"><![CDATA[SQLException: "+ex.getMessage()+"]]></metadata>";
|
||||||
|
}
|
||||||
|
if(geom==null) geom="";
|
||||||
|
result=geom;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
st.close();
|
||||||
|
conn.close();
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
result="<br>SQLException:"+ex.getMessage()+"<br>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setServletContext(ServletContext context) {
|
||||||
|
this.context=context;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//For compilatin android project
|
||||||
|
//http://127.0.0.1:8080/CCALM/countriesregionspoints
|
||||||
|
@RequestMapping(value = "/countriesregionspoints", method = RequestMethod.GET)
|
||||||
|
@ResponseBody
|
||||||
|
public Object countriesregions(HttpServletResponse response)
|
||||||
|
{
|
||||||
|
boolean error=false;
|
||||||
|
String result="OK<br>";
|
||||||
|
|
||||||
|
String db_url = "";
|
||||||
|
String db_login = "";
|
||||||
|
String db_password = "";
|
||||||
|
String data_dir = "";
|
||||||
|
//Load DB configuration from "config.xml"
|
||||||
|
try {
|
||||||
|
//String fullPath = context.getRealPath("/WEB-INF/config.xml");
|
||||||
|
//File fXmlFile = new File(fullPath);
|
||||||
|
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||||
|
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||||
|
//Document doc = dBuilder.parse(fXmlFile);
|
||||||
|
Document doc = dBuilder.parse(new ClassPathResource("config.xml").getInputStream());
|
||||||
|
Element nMain = doc.getDocumentElement();
|
||||||
|
NodeList nl = nMain.getChildNodes();
|
||||||
|
for (int i = 0; i < nl.getLength(); i++) {
|
||||||
|
if (nl.item(i).getNodeName().equals("db-url"))
|
||||||
|
db_url = nl.item(i).getTextContent();
|
||||||
|
if (nl.item(i).getNodeName().equals("db-login"))
|
||||||
|
db_login = nl.item(i).getTextContent();
|
||||||
|
if (nl.item(i).getNodeName().equals("db-password"))
|
||||||
|
db_password = nl.item(i).getTextContent();
|
||||||
|
|
||||||
|
if (nl.item(i).getNodeName().equals("data-dir"))
|
||||||
|
data_dir = nl.item(i).getTextContent();
|
||||||
|
}
|
||||||
|
} catch (Exception ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
error=true;
|
||||||
|
result+="<br>SQLException: "+ex.getMessage()+"<br>";
|
||||||
|
}
|
||||||
|
|
||||||
|
Connection conn = null;
|
||||||
|
try {
|
||||||
|
Class.forName("org.postgresql.Driver");
|
||||||
|
conn = DriverManager.getConnection(db_url, db_login, db_password);
|
||||||
|
if (conn != null) {
|
||||||
|
logger.info("Connect is OK!");
|
||||||
|
} else {
|
||||||
|
error=true;
|
||||||
|
result+="An error occurred while connecting to the database!";
|
||||||
|
}
|
||||||
|
} catch (Exception ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
error=true;
|
||||||
|
result+="<br>SQLException: "+ex.getMessage()+"<br>";
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!error)
|
||||||
|
{
|
||||||
|
Statement st,stC;
|
||||||
|
//Каждую геозонку области записываю в отдельный файл
|
||||||
|
String sql="select id from main.countriesregions where del=false";
|
||||||
|
try {
|
||||||
|
stC = conn.createStatement();
|
||||||
|
ResultSet rsC = stC.executeQuery(sql);
|
||||||
|
if(rsC!=null)
|
||||||
|
{
|
||||||
|
while (rsC.next())
|
||||||
|
{
|
||||||
|
sql="";
|
||||||
|
//sql+=" select t1.id as country_region_id,(ST_DumpPoints(geom)).path[1] as pos,cast(ST_X((ST_DumpPoints(geom)).geom) as real) lon,cast(ST_Y((ST_DumpPoints(geom)).geom) as real) lat from";
|
||||||
|
sql+=" select cast(ST_X((ST_DumpPoints(geom)).geom) as real) lon,cast(ST_Y((ST_DumpPoints(geom)).geom) as real) lat from";
|
||||||
|
sql+=" (";
|
||||||
|
sql+=" select id,name,ST_Area(t.gone) area,ST_ExteriorRing(gone) as geom from";
|
||||||
|
sql+=" (select id,name,ST_NumGeometries(geom),(ST_Dump(geom)).geom gone from main.countriesregions where del=false and id="+rsC.getString("id")+") t";
|
||||||
|
sql+=" )t1";
|
||||||
|
sql+=" ,";
|
||||||
|
sql+=" (select id,max(ST_Area(t.gone)) area from";
|
||||||
|
sql+=" (select id,name,ST_NumGeometries(geom),(ST_Dump(geom)).geom gone from main.countriesregions where del=false and id="+rsC.getString("id")+") t";
|
||||||
|
sql+=" group by id) t2";
|
||||||
|
sql+=" where";
|
||||||
|
sql+=" t1.id=t2.id";
|
||||||
|
sql+=" and t1.area=t2.area";
|
||||||
|
|
||||||
|
st = conn.createStatement();
|
||||||
|
ResultSet rs = st.executeQuery(sql);
|
||||||
|
|
||||||
|
try {
|
||||||
|
if(rs!=null)
|
||||||
|
{
|
||||||
|
File targetFile = new File(data_dir+"region_"+rsC.getString("id")+".tbl"); //Андроид не разрешает ресурсы с циферки
|
||||||
|
OutputStream outStream = new FileOutputStream(targetFile);
|
||||||
|
|
||||||
|
|
||||||
|
TCTable tbl=new TCTable("crcountriesregionspoints",123456);
|
||||||
|
logger.info("countriesregionspoints");
|
||||||
|
|
||||||
|
ResultSetMetaData rsmd = rs.getMetaData();
|
||||||
|
for(int i=1;i<=rsmd.getColumnCount();i++)
|
||||||
|
{
|
||||||
|
logger.info(i+") name="+rsmd.getColumnName(i)+" type="+rsmd.getColumnTypeName(i));
|
||||||
|
|
||||||
|
TCField field=new TCField(rsmd.getColumnName(i), rsmd.getColumnTypeName(i));
|
||||||
|
tbl.addField(field);
|
||||||
|
}
|
||||||
|
|
||||||
|
tbl.getHeader(outStream);
|
||||||
|
while (rs.next())
|
||||||
|
{
|
||||||
|
for(int i=1;i<=rsmd.getColumnCount();i++)
|
||||||
|
{
|
||||||
|
if(!rsmd.getColumnTypeName(i).equals("geometry"))
|
||||||
|
tbl.fields.get(i-1).setValue(rs.getString(i));
|
||||||
|
else
|
||||||
|
tbl.fields.get(i-1).setValue(null);
|
||||||
|
}
|
||||||
|
//Save binary data to stream
|
||||||
|
tbl.getCol(outStream);
|
||||||
|
}
|
||||||
|
|
||||||
|
outStream.flush();
|
||||||
|
outStream.close();
|
||||||
|
}
|
||||||
|
rs.close();
|
||||||
|
st.close();
|
||||||
|
|
||||||
|
//response.getOutputStream();
|
||||||
|
//response.flushBuffer();
|
||||||
|
|
||||||
|
} catch (IOException ex) {
|
||||||
|
result+="<br>SQLException:"+ex.getMessage()+"<br>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rsC.close();
|
||||||
|
stC.close();
|
||||||
|
conn.close();
|
||||||
|
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
result+="<br>SQLException:"+ex.getMessage()+"<br>";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
774
src/main/java/kz/locust/CCALM/Integration.java
Normal file
774
src/main/java/kz/locust/CCALM/Integration.java
Normal file
@ -0,0 +1,774 @@
|
|||||||
|
package kz.locust.CCALM;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.net.HttpURLConnection;
|
||||||
|
import java.net.URL;
|
||||||
|
import java.sql.Connection;
|
||||||
|
import java.sql.DriverManager;
|
||||||
|
import java.sql.PreparedStatement;
|
||||||
|
import java.sql.ResultSet;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import java.sql.Statement;
|
||||||
|
|
||||||
|
import javax.servlet.ServletContext;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import javax.xml.parsers.DocumentBuilder;
|
||||||
|
import javax.xml.parsers.DocumentBuilderFactory;
|
||||||
|
|
||||||
|
import org.json.JSONArray;
|
||||||
|
import org.json.JSONObject;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.core.io.ClassPathResource;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMethod;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
import org.springframework.web.bind.annotation.ResponseBody;
|
||||||
|
import org.springframework.web.context.ServletContextAware;
|
||||||
|
import org.w3c.dom.Document;
|
||||||
|
import org.w3c.dom.Element;
|
||||||
|
import org.w3c.dom.NodeList;
|
||||||
|
|
||||||
|
import java.util.Base64;
|
||||||
|
import java.nio.file.Files;
|
||||||
|
import tctable.Tools;
|
||||||
|
|
||||||
|
@Controller
|
||||||
|
public class Integration implements ServletContextAware {
|
||||||
|
|
||||||
|
private static final int BUFFER_SIZE = 4096;
|
||||||
|
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(Integration.class);
|
||||||
|
private ServletContext context;
|
||||||
|
|
||||||
|
@RequestMapping(value = "/integration/getByTime", method = RequestMethod.GET,produces = "application/json; charset=utf-8")
|
||||||
|
@ResponseBody
|
||||||
|
public Object getByTime(HttpServletResponse response,@RequestParam(required=true,name="token") String token,@RequestParam(required=true,name="timeBegin") String timeBegin,@RequestParam(required=false,name="timeEnd") String timeEnd,@RequestParam(required=false,name="type") String type)
|
||||||
|
{
|
||||||
|
if(type!=null && type.equals("del"))
|
||||||
|
return getDataDel(token,timeBegin,timeEnd,null,null);
|
||||||
|
else
|
||||||
|
return getData(token,timeBegin,timeEnd,null,null);
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value = "/integration/getByDate", method = RequestMethod.GET,produces = "application/json; charset=utf-8")
|
||||||
|
@ResponseBody
|
||||||
|
public Object getByDate(HttpServletResponse response,@RequestParam(required=true,name="token") String token,@RequestParam(required=true,name="dateBegin") String dateBegin,@RequestParam(required=false,name="dateEnd") String dateEnd,@RequestParam(required=false,name="type") String type)
|
||||||
|
{
|
||||||
|
if(type!=null && type.equals("del"))
|
||||||
|
return getDataDel(token,null,null,dateBegin,dateEnd);
|
||||||
|
else
|
||||||
|
return getData(token,null,null,dateBegin,dateEnd);
|
||||||
|
}
|
||||||
|
|
||||||
|
//Prepare data for sending to integration servers.
|
||||||
|
String getData(String token, String timeBegin,String timeEnd,String dateBegin,String dateEnd) {
|
||||||
|
|
||||||
|
int errorCode=0;
|
||||||
|
String errorCodeDescription="";
|
||||||
|
if(!(
|
||||||
|
token.equals("DA46DCA8E49D52A12614D4FE4CF4")
|
||||||
|
|| token.equals("R5375VJERFJKFTGKT8235QFSJHDE")
|
||||||
|
|| token.equals("QIWGHIEEEEEE732RUEWHDHREU92Z")
|
||||||
|
|| token.equals("BA46DCA8E49D52A12614D4FE4CF5") //Kazahstan
|
||||||
|
)) { //Access only for Russians
|
||||||
|
JSONObject obj = new JSONObject();
|
||||||
|
obj.put("errorCode",1);
|
||||||
|
obj.put("errorCodeDescription", "Token is not correct!");
|
||||||
|
return obj.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
String db_url="";
|
||||||
|
String db_login="";
|
||||||
|
String db_password="";
|
||||||
|
//Load DB configuration from "config.xml"
|
||||||
|
try {
|
||||||
|
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||||
|
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||||
|
Document doc = dBuilder.parse(new ClassPathResource("config.xml").getInputStream());
|
||||||
|
Element nMain=doc.getDocumentElement();
|
||||||
|
NodeList nl=nMain.getChildNodes();
|
||||||
|
for (int i = 0; i <nl.getLength(); i++)
|
||||||
|
{
|
||||||
|
if(nl.item(i).getNodeName().equals("db-url"))
|
||||||
|
db_url=nl.item(i).getTextContent();
|
||||||
|
if(nl.item(i).getNodeName().equals("db-login"))
|
||||||
|
db_login=nl.item(i).getTextContent();
|
||||||
|
if(nl.item(i).getNodeName().equals("db-password"))
|
||||||
|
db_password=nl.item(i).getTextContent();
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
errorCode=2;
|
||||||
|
errorCodeDescription+="Внутренняя ошибка сервера, настройки. ";
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
Connection conn = null;
|
||||||
|
try {
|
||||||
|
Class.forName("org.postgresql.Driver");
|
||||||
|
conn = DriverManager.getConnection(db_url, db_login, db_password);
|
||||||
|
} catch (Exception ex) {
|
||||||
|
errorCode=3;
|
||||||
|
errorCodeDescription+="Внутренняя ошибка сервера, база. ";
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
JSONArray array=new JSONArray(); //Результирующий набор данных
|
||||||
|
|
||||||
|
String sql_query = "";
|
||||||
|
Statement stt=null;
|
||||||
|
ResultSet rs=null;
|
||||||
|
try {
|
||||||
|
stt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
|
||||||
|
sql_query = "select * from main.integration_1(1,?::bigint,?::bigint,TO_TIMESTAMP(?,'YYYY-MM-DD HH24:MI')::timestamp,TO_TIMESTAMP(?,'YYYY-MM-DD HH24:MI')::timestamp);";
|
||||||
|
|
||||||
|
//String timeBegin,String timeEnd,String dateBegin,String dateEnd
|
||||||
|
PreparedStatement stmt=null;
|
||||||
|
stmt = conn.prepareStatement(sql_query);
|
||||||
|
stmt.setString(1,timeBegin);
|
||||||
|
stmt.setString(2,timeEnd);
|
||||||
|
stmt.setString(3,dateBegin);
|
||||||
|
stmt.setString(4,dateEnd);
|
||||||
|
//stmt.execute();
|
||||||
|
|
||||||
|
rs = stmt.executeQuery();
|
||||||
|
//rs = stt.executeQuery(sql_query);
|
||||||
|
if (rs != null) {
|
||||||
|
try {
|
||||||
|
while(rs.next()) {
|
||||||
|
|
||||||
|
JSONObject obj = new JSONObject();
|
||||||
|
obj.put("id", rs.getLong("id"));
|
||||||
|
obj.put("seq", rs.getLong("seq"));
|
||||||
|
obj.put("country_name", rs.getString("country_name")); //Страна
|
||||||
|
obj.put("region_name", rs.getString("region_name")); //Область
|
||||||
|
obj.put("town_name", rs.getString("town_name")); //Район
|
||||||
|
obj.put("date", rs.getString("date")); //Дата анкетирования
|
||||||
|
obj.put("surveyed_area", rs.getDouble("surveyed_area")); //Обследованная площадь га
|
||||||
|
|
||||||
|
|
||||||
|
int cnt1=0;
|
||||||
|
if(rs.getString("lat1")!=null && rs.getString("lon1")!=null) cnt1++;
|
||||||
|
if(rs.getString("lat2")!=null && rs.getString("lon2")!=null) cnt1++;
|
||||||
|
if(rs.getString("lat3")!=null && rs.getString("lon3")!=null) cnt1++;
|
||||||
|
if(rs.getString("lat4")!=null && rs.getString("lon4")!=null) cnt1++;
|
||||||
|
if(rs.getString("lat5")!=null && rs.getString("lon5")!=null) cnt1++;
|
||||||
|
if(rs.getString("lat6")!=null && rs.getString("lon6")!=null) cnt1++;
|
||||||
|
boolean point=cnt1<=2;
|
||||||
|
|
||||||
|
JSONObject geom = new JSONObject();
|
||||||
|
if(point) {
|
||||||
|
geom.put("type","Point");
|
||||||
|
JSONArray crdSub=new JSONArray();
|
||||||
|
crdSub.put(rs.getDouble("lon1"));
|
||||||
|
crdSub.put(rs.getDouble("lat1"));
|
||||||
|
geom.put("coordinates", crdSub);
|
||||||
|
}else {
|
||||||
|
geom.put("type","Polygon");
|
||||||
|
JSONArray crdMain=new JSONArray();
|
||||||
|
JSONArray crdSub=new JSONArray();
|
||||||
|
crdMain.put(crdSub);
|
||||||
|
|
||||||
|
if(rs.getString("lat1")!=null && rs.getString("lon1")!=null) {
|
||||||
|
JSONArray crd=new JSONArray();
|
||||||
|
crd.put(rs.getDouble("lon1"));
|
||||||
|
crd.put(rs.getDouble("lat1"));
|
||||||
|
crdSub.put(crd);
|
||||||
|
}
|
||||||
|
if(rs.getString("lat2")!=null && rs.getString("lon2")!=null) {
|
||||||
|
JSONArray crd=new JSONArray();
|
||||||
|
crd.put(rs.getDouble("lon2"));
|
||||||
|
crd.put(rs.getDouble("lat2"));
|
||||||
|
crdSub.put(crd);
|
||||||
|
}
|
||||||
|
if(rs.getString("lat3")!=null && rs.getString("lon3")!=null) {
|
||||||
|
JSONArray crd=new JSONArray();
|
||||||
|
crd.put(rs.getDouble("lon3"));
|
||||||
|
crd.put(rs.getDouble("lat3"));
|
||||||
|
crdSub.put(crd);
|
||||||
|
}
|
||||||
|
if(rs.getString("lat4")!=null && rs.getString("lon4")!=null) {
|
||||||
|
JSONArray crd=new JSONArray();
|
||||||
|
crd.put(rs.getDouble("lon4"));
|
||||||
|
crd.put(rs.getDouble("lat4"));
|
||||||
|
crdSub.put(crd);
|
||||||
|
}
|
||||||
|
if(rs.getString("lat5")!=null && rs.getString("lon5")!=null) {
|
||||||
|
JSONArray crd=new JSONArray();
|
||||||
|
crd.put(rs.getDouble("lon5"));
|
||||||
|
crd.put(rs.getDouble("lat5"));
|
||||||
|
crdSub.put(crd);
|
||||||
|
}
|
||||||
|
if(rs.getString("lat6")!=null && rs.getString("lon6")!=null) {
|
||||||
|
JSONArray crd=new JSONArray();
|
||||||
|
crd.put(rs.getDouble("lon6"));
|
||||||
|
crd.put(rs.getDouble("lat6"));
|
||||||
|
crdSub.put(crd);
|
||||||
|
}
|
||||||
|
geom.put("coordinates", crdMain);
|
||||||
|
}
|
||||||
|
obj.put("geom", geom);
|
||||||
|
|
||||||
|
//Экологическая информация
|
||||||
|
obj.put("biotope_type", rs.getString("biotope_type"));
|
||||||
|
obj.put("vegetation", rs.getString("vegetation"));
|
||||||
|
obj.put("vegetation_cover", rs.getString("vegetation_cover"));
|
||||||
|
obj.put("air_temperature", rs.getString("air_temperature"));
|
||||||
|
obj.put("wind_speed", rs.getString("wind_speed"));
|
||||||
|
|
||||||
|
//Информация о саранче в том числе кубышки
|
||||||
|
obj.put("subject_name", rs.getString("subject_name")); //Вид саранчи
|
||||||
|
obj.put("infested_area", rs.getDouble("infested_area"));//Зараженная область га
|
||||||
|
|
||||||
|
// Eggs
|
||||||
|
obj.put("eggs_bed_area", rs.getDouble("egg_bed_area")); // numeric, --Залежь кубышек
|
||||||
|
obj.put("eggs_pods_density_from_m2", rs.getDouble("egg_pods_density_from_m2")); // numeric, --Плотность кубышек м2 с
|
||||||
|
obj.put("eggs_pods_density_to_m2", rs.getDouble("egg_pods_density_to_m2")); // numeric, --Плотность кубышек м2 до
|
||||||
|
obj.put("eggs_average_number_egg_pod", rs.getDouble("eggs_average_number_egg_pod")); // numeric, --Яйца в среднем в кубышке
|
||||||
|
obj.put("eggs_viable", rs.getDouble("eggs_viable")); // numeric, --Яйца (% жизнеспособных)
|
||||||
|
obj.put("eggs_natural_enemies", rs.getString("eggs_natural_enemies")); // character varying, --Естественные враги
|
||||||
|
|
||||||
|
// Hoppers (scattered) Личинки (разряженные)
|
||||||
|
obj.put("hoppers_hatching", rs.getString("hoppers_hatching")); // character varying, --Отрождение
|
||||||
|
obj.put("hoppers_stages", rs.getString("hoppers_stages")); // character varying, --Возраст личинок
|
||||||
|
obj.put("hoppers_appearance", rs.getString("hoppers_appearance")); // character varying, --Фаза
|
||||||
|
obj.put("hoppers_spatial_distribution", rs.getString("hoppers_spatial_distribution")); // character varying, --Пространственное распределени е
|
||||||
|
obj.put("hoppers_density_from_m2", rs.getDouble("hoppers_density_from_m2")); // numeric, --Плотность личинок от м2
|
||||||
|
obj.put("hoppers_density_to_m2", rs.getDouble("hoppers_density_to_m2")); // numeric, --Плотность личинок до м2
|
||||||
|
|
||||||
|
// Bands Кулиги
|
||||||
|
obj.put("bands_density_from_m2", rs.getDouble("bands_density_from_m2")); // numeric, --Плотность минимальная в кулиге м2
|
||||||
|
obj.put("bands_density_to_m2", rs.getDouble("bands_density_to_m2")); // numeric, --Плотность максимальная в кулиге м2
|
||||||
|
obj.put("bands_sizes_m2", rs.getDouble("bands_sizes_m2")); // numeric, --Размер кулиг М2
|
||||||
|
obj.put("bands_number_in_ha", rs.getDouble("bands_number_in_ha")); // numeric, --Количество кулиг Га
|
||||||
|
obj.put("bands_behavior", rs.getString("bands_behavior")); // character varying, -- Поведение
|
||||||
|
obj.put("bands_stages", rs.getString("bands_stages")); // character varying, -- Возраст личинок
|
||||||
|
|
||||||
|
// Adults Имаго
|
||||||
|
obj.put("adults_fledging", rs.getString("adults_fledging")); // character varying, -- Окрыление
|
||||||
|
obj.put("adults_maturity", rs.getBoolean("adults_maturity")); // boolean, -- Половозрелость
|
||||||
|
obj.put("adults_phase", rs.getString("adults_phase")); // character varying, --Фаза
|
||||||
|
obj.put("adults_spatial_distribution", rs.getString("adults_spatial_distribution")); // character varying, --Пространственное распределение
|
||||||
|
obj.put("adults_density_ha", rs.getDouble("adults_density_ha")); // numeric, --Плотность имаго га
|
||||||
|
obj.put("adults_density_m2", rs.getDouble("adults_density_m2")); // numeric, --Плотность имаго м2
|
||||||
|
obj.put("adults_roosting", rs.getBoolean("adults_roosting")); // boolean, --Питпние и размещение на растениях
|
||||||
|
obj.put("adults_copulation", rs.getBoolean("adults_copulation")); // boolean, --Спаривание
|
||||||
|
obj.put("adults_laying", rs.getBoolean("adults_laying")); // boolean, --Яйцекладка
|
||||||
|
obj.put("adults_flying", rs.getBoolean("adults_flying")); // boolean, --Полёты
|
||||||
|
|
||||||
|
// Swarms Стаи
|
||||||
|
obj.put("swarms_maturity", rs.getBoolean("swarms_maturity")); // boolean, --Половозрелость
|
||||||
|
obj.put("swarms_density", rs.getString("swarms_density")); // character varying, --Плотность в стае
|
||||||
|
obj.put("swarms_size", rs.getDouble("swarms_size")); // numeric, --Размер стаи га
|
||||||
|
obj.put("swarms_count", rs.getDouble("swarms_count")); // numeric, --Число стай
|
||||||
|
obj.put("swarms_flying_direction", rs.getString("swarms_flying_direction")); // character varying, --Направление полёта
|
||||||
|
obj.put("swarms_height", rs.getString("swarms_height")); // character varying, --Высота полёта
|
||||||
|
|
||||||
|
// Comment
|
||||||
|
obj.put("description", rs.getString("description"));
|
||||||
|
|
||||||
|
//{"type":"Polygon","coordinates":[[[38.513140949068344,46.51316246698309],[38.51303118002319,46.5020304054714],[38.52109926473999,46.50204517540462],[38.521123203096664,46.513073865446586],[38.513140949068344,46.51316246698309]]]}
|
||||||
|
|
||||||
|
array.put(obj);
|
||||||
|
|
||||||
|
}
|
||||||
|
rs.close();
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
errorCode=4;
|
||||||
|
errorCodeDescription+="Внутренняя ошибка сервера, выборка. ";
|
||||||
|
ex.printStackTrace();
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
errorCode=5;
|
||||||
|
errorCodeDescription+="Внутренняя ошибка сервера, запрос. ";
|
||||||
|
ex.printStackTrace();
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}finally {
|
||||||
|
if(rs!=null) try{rs.close();}catch(SQLException ex){}
|
||||||
|
if(stt!=null) try{stt.close();}catch(SQLException ex){}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if(errorCode!=0) {
|
||||||
|
JSONObject obj = new JSONObject();
|
||||||
|
obj.put("errorCode",errorCode);
|
||||||
|
obj.put("errorCodeDescription", errorCodeDescription);
|
||||||
|
return obj.toString();
|
||||||
|
}else {
|
||||||
|
return array.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//Prepare data for sending to integration servers.
|
||||||
|
String getDataDel(String token, String timeBegin,String timeEnd,String dateBegin,String dateEnd) {
|
||||||
|
int errorCode=0;
|
||||||
|
String errorCodeDescription="";
|
||||||
|
if(!(
|
||||||
|
token.equals("DA46DCA8E49D52A12614D4FE4CF4")
|
||||||
|
|| token.equals("R5375VJERFJKFTGKT8235QFSJHDE")
|
||||||
|
|| token.equals("QIWGHIEEEEEE732RUEWHDHREU92Z")
|
||||||
|
|| token.equals("BA46DCA8E49D52A12614D4FE4CF5") //Kzahstan
|
||||||
|
)) { //Access only for Russians
|
||||||
|
JSONObject obj = new JSONObject();
|
||||||
|
obj.put("errorCode",1);
|
||||||
|
obj.put("errorCodeDescription", "Token is not correct!");
|
||||||
|
return obj.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
String db_url="";
|
||||||
|
String db_login="";
|
||||||
|
String db_password="";
|
||||||
|
//Load DB configuration from "config.xml"
|
||||||
|
try {
|
||||||
|
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||||
|
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||||
|
Document doc = dBuilder.parse(new ClassPathResource("config.xml").getInputStream());
|
||||||
|
Element nMain=doc.getDocumentElement();
|
||||||
|
NodeList nl=nMain.getChildNodes();
|
||||||
|
for (int i = 0; i <nl.getLength(); i++)
|
||||||
|
{
|
||||||
|
if(nl.item(i).getNodeName().equals("db-url"))
|
||||||
|
db_url=nl.item(i).getTextContent();
|
||||||
|
if(nl.item(i).getNodeName().equals("db-login"))
|
||||||
|
db_login=nl.item(i).getTextContent();
|
||||||
|
if(nl.item(i).getNodeName().equals("db-password"))
|
||||||
|
db_password=nl.item(i).getTextContent();
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
errorCode=2;
|
||||||
|
errorCodeDescription+="Внутренняя ошибка сервера, настройки. ";
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
Connection conn = null;
|
||||||
|
try {
|
||||||
|
Class.forName("org.postgresql.Driver");
|
||||||
|
conn = DriverManager.getConnection(db_url, db_login, db_password);
|
||||||
|
} catch (Exception ex) {
|
||||||
|
errorCode=3;
|
||||||
|
errorCodeDescription+="Внутренняя ошибка сервера, база. ";
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
JSONArray array=new JSONArray(); //Результирующий набор данных
|
||||||
|
|
||||||
|
String sql_query = "";
|
||||||
|
Statement stt=null;
|
||||||
|
ResultSet rs=null;
|
||||||
|
try {
|
||||||
|
stt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
|
||||||
|
sql_query = "select * from main.integration_2(1,?::bigint,?::bigint,TO_TIMESTAMP(?,'YYYY-MM-DD HH24:MI')::timestamp,TO_TIMESTAMP(?,'YYYY-MM-DD HH24:MI')::timestamp);";
|
||||||
|
|
||||||
|
//String timeBegin,String timeEnd,String dateBegin,String dateEnd
|
||||||
|
PreparedStatement stmt=null;
|
||||||
|
stmt = conn.prepareStatement(sql_query);
|
||||||
|
stmt.setString(1,timeBegin);
|
||||||
|
stmt.setString(2,timeEnd);
|
||||||
|
stmt.setString(3,dateBegin);
|
||||||
|
stmt.setString(4,dateEnd);
|
||||||
|
//stmt.execute();
|
||||||
|
|
||||||
|
rs = stmt.executeQuery();
|
||||||
|
//rs = stt.executeQuery(sql_query);
|
||||||
|
if (rs != null) {
|
||||||
|
try {
|
||||||
|
while(rs.next()) {
|
||||||
|
|
||||||
|
JSONObject obj = new JSONObject();
|
||||||
|
obj.put("id", rs.getLong("id"));
|
||||||
|
obj.put("seq", rs.getLong("seq"));
|
||||||
|
obj.put("country_name", rs.getString("country_name")); //Страна
|
||||||
|
obj.put("region_name", rs.getString("region_name")); //Область
|
||||||
|
obj.put("town_name", rs.getString("town_name")); //Район
|
||||||
|
obj.put("date", rs.getString("date")); //Дата анкетирования
|
||||||
|
//obj.put("surveyed_area", rs.getDouble("surveyed_area")); //Обследованная площадь га
|
||||||
|
|
||||||
|
int cnt1=0;
|
||||||
|
//lat_center
|
||||||
|
if(rs.getString("lat1")!=null && rs.getString("lon1")!=null) cnt1++;
|
||||||
|
if(rs.getString("lat2")!=null && rs.getString("lon2")!=null) cnt1++;
|
||||||
|
if(rs.getString("lat3")!=null && rs.getString("lon3")!=null) cnt1++;
|
||||||
|
if(rs.getString("lat4")!=null && rs.getString("lon4")!=null) cnt1++;
|
||||||
|
if(rs.getString("lat5")!=null && rs.getString("lon5")!=null) cnt1++;
|
||||||
|
if(rs.getString("lat6")!=null && rs.getString("lon6")!=null) cnt1++;
|
||||||
|
boolean point=cnt1<=2;
|
||||||
|
|
||||||
|
JSONObject geom = new JSONObject();
|
||||||
|
if(point) {
|
||||||
|
geom.put("type","Point");
|
||||||
|
JSONArray crdSub=new JSONArray();
|
||||||
|
crdSub.put(rs.getDouble("lon_center"));
|
||||||
|
crdSub.put(rs.getDouble("lat_center"));
|
||||||
|
geom.put("coordinates", crdSub);
|
||||||
|
}else {
|
||||||
|
geom.put("type","Polygon");
|
||||||
|
JSONArray crdMain=new JSONArray();
|
||||||
|
JSONArray crdSub=new JSONArray();
|
||||||
|
crdMain.put(crdSub);
|
||||||
|
|
||||||
|
if(rs.getString("lat1")!=null && rs.getString("lon1")!=null) {
|
||||||
|
JSONArray crd=new JSONArray();
|
||||||
|
crd.put(rs.getDouble("lon1"));
|
||||||
|
crd.put(rs.getDouble("lat1"));
|
||||||
|
crdSub.put(crd);
|
||||||
|
}
|
||||||
|
if(rs.getString("lat2")!=null && rs.getString("lon2")!=null) {
|
||||||
|
JSONArray crd=new JSONArray();
|
||||||
|
crd.put(rs.getDouble("lon2"));
|
||||||
|
crd.put(rs.getDouble("lat2"));
|
||||||
|
crdSub.put(crd);
|
||||||
|
}
|
||||||
|
if(rs.getString("lat3")!=null && rs.getString("lon3")!=null) {
|
||||||
|
JSONArray crd=new JSONArray();
|
||||||
|
crd.put(rs.getDouble("lon3"));
|
||||||
|
crd.put(rs.getDouble("lat3"));
|
||||||
|
crdSub.put(crd);
|
||||||
|
}
|
||||||
|
if(rs.getString("lat4")!=null && rs.getString("lon4")!=null) {
|
||||||
|
JSONArray crd=new JSONArray();
|
||||||
|
crd.put(rs.getDouble("lon4"));
|
||||||
|
crd.put(rs.getDouble("lat4"));
|
||||||
|
crdSub.put(crd);
|
||||||
|
}
|
||||||
|
if(rs.getString("lat5")!=null && rs.getString("lon5")!=null) {
|
||||||
|
JSONArray crd=new JSONArray();
|
||||||
|
crd.put(rs.getDouble("lon5"));
|
||||||
|
crd.put(rs.getDouble("lat5"));
|
||||||
|
crdSub.put(crd);
|
||||||
|
}
|
||||||
|
if(rs.getString("lat6")!=null && rs.getString("lon6")!=null) {
|
||||||
|
JSONArray crd=new JSONArray();
|
||||||
|
crd.put(rs.getDouble("lon6"));
|
||||||
|
crd.put(rs.getDouble("lat6"));
|
||||||
|
crdSub.put(crd);
|
||||||
|
}
|
||||||
|
geom.put("coordinates", crdMain);
|
||||||
|
}
|
||||||
|
obj.put("geom", geom);
|
||||||
|
|
||||||
|
obj.put("infested_area", rs.getDouble("infested_area")); //double precision,
|
||||||
|
obj.put("treated_area", rs.getDouble("treated_area")); //numeric,
|
||||||
|
|
||||||
|
obj.put("district", rs.getString("district")); //character varying,
|
||||||
|
obj.put("village", rs.getString("village")); //character varying,
|
||||||
|
obj.put("terrain", rs.getString("terrain")); //character varying,
|
||||||
|
obj.put("observer", rs.getString("observer")); //character varying,
|
||||||
|
|
||||||
|
obj.put("vegetation_type_name", rs.getString("vegetation_type_name")); //character varying,
|
||||||
|
obj.put("vegetation_height", rs.getDouble("vegetation_height")); //real,
|
||||||
|
obj.put("vegetation_cover_name", rs.getString("vegetation_cover_name")); //character varying,
|
||||||
|
obj.put("vegetation_crop", rs.getString("vegetation_crop")); //character varying,
|
||||||
|
obj.put("vegetation_damage_name", rs.getString("vegetation_damage_name")); //character varying,
|
||||||
|
obj.put("vegetation_damage_area", rs.getDouble("vegetation_damage_area")); //double precision,
|
||||||
|
|
||||||
|
obj.put("insecticide_name", rs.getString("insecticide_name")); //character varying,
|
||||||
|
obj.put("insecticide_active_substance", rs.getString("insecticide_active_substance")); //character varying,
|
||||||
|
obj.put("insecticide_concentration", rs.getString("insecticide_concentration")); //character varying,
|
||||||
|
obj.put("insecticide_formulation_name", rs.getString("insecticide_formulation_name")); //character varying,
|
||||||
|
obj.put("insecticide_dose", rs.getDouble("insecticide_dose")); //numeric,
|
||||||
|
obj.put("insecticide_rate", rs.getDouble("insecticide_rate")); //numeric,
|
||||||
|
obj.put("insecticide_used_volume", rs.getDouble("insecticide_used_volume")); //numeric,
|
||||||
|
obj.put("insecticide_number_spores", rs.getDouble("insecticide_number_spores")); //numeric,
|
||||||
|
|
||||||
|
obj.put("weather_time_start", rs.getDouble("weather_time_start")); //real,
|
||||||
|
obj.put("weather_time_end", rs.getDouble("weather_time_end")); //real,
|
||||||
|
obj.put("weather_temperature_start", rs.getDouble("weather_temperature_start")); //real,
|
||||||
|
obj.put("weather_temperature_end", rs.getDouble("weather_temperature_end")); //real,
|
||||||
|
obj.put("weather_humidity_start", rs.getDouble("weather_humidity_start")); //real,
|
||||||
|
obj.put("weather_humidity_end", rs.getDouble("weather_humidity_end")); //real,
|
||||||
|
obj.put("weather_wind_speed_start", rs.getDouble("weather_wind_speed_start")); //real,
|
||||||
|
obj.put("weather_wind_speed_end", rs.getDouble("weather_wind_speed_end")); //real,
|
||||||
|
obj.put("weather_direction_start", rs.getString("weather_direction_start")); //character varying,
|
||||||
|
obj.put("weather_direction_end", rs.getString("weather_direction_end")); //character varying,
|
||||||
|
obj.put("weather_spray_direction_start", rs.getString("weather_spray_direction_start")); //character varying,
|
||||||
|
obj.put("weather_spray_direction_end", rs.getString("weather_spray_direction_end")); //character varying,
|
||||||
|
|
||||||
|
obj.put("subject_name", rs.getString("subject_name")); //character varying,
|
||||||
|
obj.put("locust_hoppers_name", rs.getString("locust_hoppers_name")); //character varying,
|
||||||
|
obj.put("locust_imago", rs.getBoolean("locust_imago")); //boolean,
|
||||||
|
obj.put("locust_density", rs.getDouble("locust_density")); //real,
|
||||||
|
obj.put("locust_kuliguli", rs.getBoolean("locust_kuliguli")); //boolean,
|
||||||
|
obj.put("locust_swarm", rs.getBoolean("locust_swarm")); //boolean,
|
||||||
|
obj.put("locust_sparse", rs.getBoolean("locust_sparse")); //boolean,
|
||||||
|
obj.put("locust_phase_name", rs.getString("locust_phase_name")); //character varying,
|
||||||
|
|
||||||
|
obj.put("spray_platform_name", rs.getString("spray_platform_name")); //character varying,
|
||||||
|
obj.put("spray_platform_a_name", rs.getString("spray_platform_a_name")); //character varying,
|
||||||
|
obj.put("spray_platform_g_name", rs.getString("spray_platform_g_name")); //character varying,
|
||||||
|
obj.put("spray_platform_h_name", rs.getString("spray_platform_h_name")); //character varying,
|
||||||
|
obj.put("spray_capacity_name", rs.getString("spray_capacity_name")); //character varying,
|
||||||
|
obj.put("spray_manufacturer_name", rs.getString("spray_manufacturer_name")); //character varying,
|
||||||
|
obj.put("spray_model_name", rs.getString("spray_model_name")); //character varying,
|
||||||
|
obj.put("spray_height", rs.getDouble("spray_height")); //numeric,
|
||||||
|
obj.put("spray_barrier", rs.getBoolean("spray_barrier")); //boolean,
|
||||||
|
obj.put("spray_barrier_width", rs.getDouble("spray_barrier_width")); //real,
|
||||||
|
obj.put("spray_barrier_space", rs.getDouble("spray_barrier_space")); //real,
|
||||||
|
obj.put("spray_speed", rs.getDouble("spray_speed")); //numeric,
|
||||||
|
obj.put("spray_gps", rs.getBoolean("spray_gps")); //boolean,
|
||||||
|
obj.put("spray_marking_name", rs.getString("spray_marking_name")); //character varying,
|
||||||
|
|
||||||
|
obj.put("efficacy_mortality", rs.getDouble("efficacy_mortality")); //real,
|
||||||
|
obj.put("efficacy_passed_time", rs.getDouble("efficacy_passed_time")); //numeric,
|
||||||
|
obj.put("efficacy_mortality_method_name", rs.getString("efficacy_mortality_method_name")); //character varying,
|
||||||
|
obj.put("safety_clothing", rs.getString("safety_clothing")); //text,
|
||||||
|
obj.put("safety_clothing_clean", rs.getBoolean("safety_clothing_clean")); //boolean,
|
||||||
|
obj.put("safety_operator_health", rs.getBoolean("safety_operator_health")); //boolean,
|
||||||
|
obj.put("description", rs.getString("description")); //character varying,
|
||||||
|
|
||||||
|
obj.put("safety_inform", rs.getString("safety_inform")); //text,
|
||||||
|
obj.put("safety_container_name", rs.getString("safety_container_name")); //text,
|
||||||
|
obj.put("safety_non_target", rs.getBoolean("safety_non_target")); //boolean,
|
||||||
|
obj.put("safety_non_target_effect", rs.getString("safety_non_target_effect")); //character varying,
|
||||||
|
obj.put("safety_incident", rs.getBoolean("safety_incident")); //boolean,
|
||||||
|
obj.put("safety_incident_effect", rs.getString("safety_incident_effect")); //character varying,
|
||||||
|
obj.put("comments", rs.getString("comments")); //character varying
|
||||||
|
|
||||||
|
array.put(obj);
|
||||||
|
|
||||||
|
}
|
||||||
|
rs.close();
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
errorCode=4;
|
||||||
|
errorCodeDescription+="Внутренняя ошибка сервера, выборка. ";
|
||||||
|
ex.printStackTrace();
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
errorCode=5;
|
||||||
|
errorCodeDescription+="Внутренняя ошибка сервера, запрос. ";
|
||||||
|
ex.printStackTrace();
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}finally {
|
||||||
|
if(rs!=null) try{rs.close();}catch(SQLException ex){}
|
||||||
|
if(stt!=null) try{stt.close();}catch(SQLException ex){}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if(errorCode!=0) {
|
||||||
|
JSONObject obj = new JSONObject();
|
||||||
|
obj.put("errorCode",errorCode);
|
||||||
|
obj.put("errorCodeDescription", errorCodeDescription);
|
||||||
|
return obj.toString();
|
||||||
|
}else {
|
||||||
|
return array.toString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@RequestMapping(value = "/integration/getPhoto", method = RequestMethod.GET,produces = "application/json; charset=utf-8")
|
||||||
|
@ResponseBody
|
||||||
|
public Object getPhoto(HttpServletResponse response,@RequestParam(required=true,name="token") String token,@RequestParam(required=true,name="id") Long id)
|
||||||
|
{
|
||||||
|
int errorCode=0;
|
||||||
|
String errorCodeDescription="";
|
||||||
|
if(!(
|
||||||
|
token.equals("DA46DCA8E49D52A12614D4FE4CF4")
|
||||||
|
|| token.equals("R5375VJERFJKFTGKT8235QFSJHDE")
|
||||||
|
|| token.equals("QIWGHIEEEEEE732RUEWHDHREU92Z")
|
||||||
|
|| token.equals("BA46DCA8E49D52A12614D4FE4CF5") //Казахстан
|
||||||
|
)) {
|
||||||
|
JSONObject obj = new JSONObject();
|
||||||
|
obj.put("errorCode",1);
|
||||||
|
obj.put("errorCodeDescription", "Token is not correct!");
|
||||||
|
return obj.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
String db_url="";
|
||||||
|
String db_login="";
|
||||||
|
String db_password="";
|
||||||
|
String data_dir = "";
|
||||||
|
//Load DB configuration from "config.xml"
|
||||||
|
try {
|
||||||
|
//String fullPath = context.getRealPath("/WEB-INF/config.xml");
|
||||||
|
//File fXmlFile = new File(fullPath);
|
||||||
|
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||||
|
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||||
|
//Document doc = dBuilder.parse(fXmlFile);
|
||||||
|
Document doc = dBuilder.parse(new ClassPathResource("config.xml").getInputStream());
|
||||||
|
Element nMain=doc.getDocumentElement();
|
||||||
|
NodeList nl=nMain.getChildNodes();
|
||||||
|
for (int i = 0; i <nl.getLength(); i++)
|
||||||
|
{
|
||||||
|
if(nl.item(i).getNodeName().equals("db-url"))
|
||||||
|
db_url=nl.item(i).getTextContent();
|
||||||
|
if(nl.item(i).getNodeName().equals("db-login"))
|
||||||
|
db_login=nl.item(i).getTextContent();
|
||||||
|
if(nl.item(i).getNodeName().equals("db-password"))
|
||||||
|
db_password=nl.item(i).getTextContent();
|
||||||
|
if (nl.item(i).getNodeName().equals("data-dir"))
|
||||||
|
data_dir = nl.item(i).getTextContent();
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
errorCode=2;
|
||||||
|
errorCodeDescription+="Внутренняя ошибка сервера, настройки. ";
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
Connection conn = null;
|
||||||
|
try {
|
||||||
|
Class.forName("org.postgresql.Driver");
|
||||||
|
conn = DriverManager.getConnection(db_url, db_login, db_password);
|
||||||
|
} catch (Exception ex) {
|
||||||
|
errorCode=3;
|
||||||
|
errorCodeDescription+="Внутренняя ошибка сервера, база. ";
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
JSONArray array=new JSONArray(); //Результирующий набор данных
|
||||||
|
|
||||||
|
String image_name1=null,image_name2=null,image_name3=null;
|
||||||
|
|
||||||
|
String sql_query = "";
|
||||||
|
Statement stt=null;
|
||||||
|
ResultSet rs=null;
|
||||||
|
try {
|
||||||
|
stt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
|
||||||
|
sql_query = "select id,image_name1,image_name2,image_name3 from main.frmlocust where id="+String.valueOf(id);
|
||||||
|
rs = stt.executeQuery(sql_query);
|
||||||
|
if (rs != null) {
|
||||||
|
try {
|
||||||
|
while(rs.next()) {
|
||||||
|
image_name1=rs.getString("image_name1");
|
||||||
|
image_name2=rs.getString("image_name2");
|
||||||
|
image_name3=rs.getString("image_name3");
|
||||||
|
}
|
||||||
|
rs.close();
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
errorCode=3;
|
||||||
|
errorCodeDescription+="Внутренняя ошибка сервера (поля). ";
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
errorCode=3;
|
||||||
|
errorCodeDescription+="Внутренняя ошибка сервера, запрос. ";
|
||||||
|
ex.printStackTrace();
|
||||||
|
}finally {
|
||||||
|
if(rs!=null) try{rs.close();}catch(SQLException ex){}
|
||||||
|
if(stt!=null) try{stt.close();}catch(SQLException ex){}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(image_name1!=null) {
|
||||||
|
String data = getBase64FromFile(data_dir+"data/frmlocust/"+image_name1);
|
||||||
|
if(data!=null) { //Удалось найти файл локально
|
||||||
|
JSONObject obj = new JSONObject();
|
||||||
|
obj.put("name", image_name1);
|
||||||
|
obj.put("data", data);
|
||||||
|
array.put(obj);
|
||||||
|
}else { //Пытаемся найти на другом сервера
|
||||||
|
data=getBase64FromURL("http://data.ccalm.org/photo/?table=frmlocust&file="+image_name1);
|
||||||
|
if(data!=null) { //Если скачали с удаленного сервера
|
||||||
|
JSONObject obj = new JSONObject();
|
||||||
|
obj.put("name", image_name1);
|
||||||
|
obj.put("data", data);
|
||||||
|
array.put(obj);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(image_name2!=null) {
|
||||||
|
String data = getBase64FromFile(data_dir+"data/frmlocust/"+image_name2);
|
||||||
|
if(data!=null) { //Удалось найти файл локально
|
||||||
|
JSONObject obj = new JSONObject();
|
||||||
|
obj.put("name", image_name1);
|
||||||
|
obj.put("data", data);
|
||||||
|
array.put(obj);
|
||||||
|
}else { //Пытаемся найти на другом сервера
|
||||||
|
data=getBase64FromURL("http://data.ccalm.org/photo/?table=frmlocust&file="+image_name2);
|
||||||
|
if(data!=null) { //Если скачали с удаленного сервера
|
||||||
|
JSONObject obj = new JSONObject();
|
||||||
|
obj.put("name", image_name1);
|
||||||
|
obj.put("data", data);
|
||||||
|
array.put(obj);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(image_name3!=null) {
|
||||||
|
String data = getBase64FromFile(data_dir+"data/frmlocust/"+image_name3);
|
||||||
|
if(data!=null) { //Удалось найти файл локально
|
||||||
|
JSONObject obj = new JSONObject();
|
||||||
|
obj.put("name", image_name1);
|
||||||
|
obj.put("data", data);
|
||||||
|
array.put(obj);
|
||||||
|
}else { //Пытаемся найти на другом сервера
|
||||||
|
data=getBase64FromURL("http://data.ccalm.org/photo/?table=frmlocust&file="+image_name3);
|
||||||
|
if(data!=null) { //Если скачали с удаленного сервера
|
||||||
|
JSONObject obj = new JSONObject();
|
||||||
|
obj.put("name", image_name1);
|
||||||
|
obj.put("data", data);
|
||||||
|
array.put(obj);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(errorCode!=0) {
|
||||||
|
JSONObject obj = new JSONObject();
|
||||||
|
obj.put("errorCode",errorCode);
|
||||||
|
obj.put("errorCodeDescription", errorCodeDescription);
|
||||||
|
return obj.toString();
|
||||||
|
}else {
|
||||||
|
return array.toString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setServletContext(ServletContext servletContext) {
|
||||||
|
this.context=servletContext;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBase64FromFile(String fName) {
|
||||||
|
String result=null;
|
||||||
|
File file = new File(fName);
|
||||||
|
if(file.exists()) {
|
||||||
|
try {
|
||||||
|
byte fileData[] = new byte[(int) file.length()];
|
||||||
|
try (FileInputStream imageInFile = new FileInputStream(file)) {
|
||||||
|
imageInFile.read(fileData);
|
||||||
|
}
|
||||||
|
result=Base64.getEncoder().encodeToString(fileData);
|
||||||
|
} catch (FileNotFoundException e) {
|
||||||
|
} catch (IOException e) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBase64FromURL(String strURL) {
|
||||||
|
String result=null;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
URL url = new URL(strURL);
|
||||||
|
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
|
||||||
|
conn.setRequestMethod("GET");
|
||||||
|
conn.connect();
|
||||||
|
int responseCode = conn.getResponseCode();
|
||||||
|
if (responseCode / 100 == 2) //Code 206 is "Partial Content"
|
||||||
|
{
|
||||||
|
InputStream inputStream = conn.getInputStream();
|
||||||
|
int bytesRead;
|
||||||
|
byte[] buffer = new byte[BUFFER_SIZE];
|
||||||
|
while ((bytesRead = inputStream.read(buffer)) != -1) {
|
||||||
|
if(result==null) result="";
|
||||||
|
byte[] encoded = Base64.getEncoder().encode(Tools.subArray(buffer, 0, bytesRead));
|
||||||
|
result+=new String(encoded);
|
||||||
|
}
|
||||||
|
inputStream.close();
|
||||||
|
}
|
||||||
|
conn.disconnect();
|
||||||
|
}
|
||||||
|
catch (IOException e)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
354
src/main/java/kz/locust/CCALM/Main.java
Normal file
354
src/main/java/kz/locust/CCALM/Main.java
Normal file
@ -0,0 +1,354 @@
|
|||||||
|
package kz.locust.CCALM;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.sql.Connection;
|
||||||
|
import java.sql.DriverManager;
|
||||||
|
import java.sql.ResultSet;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import java.sql.Statement;
|
||||||
|
import java.text.DateFormat;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.Locale;
|
||||||
|
import java.util.Properties;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
import javax.servlet.ServletContext;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import javax.xml.parsers.DocumentBuilder;
|
||||||
|
import javax.xml.parsers.DocumentBuilderFactory;
|
||||||
|
|
||||||
|
import org.json.JSONArray;
|
||||||
|
import org.json.JSONObject;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.core.io.ClassPathResource;
|
||||||
|
import org.springframework.http.CacheControl;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.ui.Model;
|
||||||
|
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMethod;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
import org.springframework.web.bind.annotation.ResponseBody;
|
||||||
|
import org.springframework.web.bind.annotation.SessionAttributes;
|
||||||
|
import org.springframework.web.context.ServletContextAware;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
import org.w3c.dom.Document;
|
||||||
|
import org.w3c.dom.Element;
|
||||||
|
import org.w3c.dom.NodeList;
|
||||||
|
|
||||||
|
import tools.User;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handles requests for the application home page.
|
||||||
|
*/
|
||||||
|
@Controller
|
||||||
|
@SessionAttributes( { "user" })
|
||||||
|
public class Main implements ServletContextAware {
|
||||||
|
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(Main.class);
|
||||||
|
private ServletContext context;
|
||||||
|
private Properties m_props=null;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setServletContext(ServletContext context){
|
||||||
|
this.context=context;
|
||||||
|
}
|
||||||
|
|
||||||
|
//If not created object "user", create him.
|
||||||
|
@ModelAttribute("user")
|
||||||
|
public User populatePerson() {
|
||||||
|
return new User("none");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Simply selects the home view to render by returning its name.
|
||||||
|
*/
|
||||||
|
/*@RequestMapping(value = "/test", method = RequestMethod.GET)
|
||||||
|
public String home(Locale locale, Model model) {
|
||||||
|
logger.info("Welcome home! The client locale is {}.", locale);
|
||||||
|
|
||||||
|
//Date date = new Date();
|
||||||
|
//DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale);
|
||||||
|
//String formattedDate = dateFormat.format(date);
|
||||||
|
//model.addAttribute("serverTime", formattedDate );
|
||||||
|
|
||||||
|
return "index";
|
||||||
|
}*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Simply selects the home view to render by returning its name.
|
||||||
|
*/
|
||||||
|
@RequestMapping(value = "/privacy", method = RequestMethod.GET)
|
||||||
|
public String privacy(Locale locale, Model model) {
|
||||||
|
logger.info("Welcome home! The client locale is {}.", locale);
|
||||||
|
|
||||||
|
/*Date date = new Date();
|
||||||
|
DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale);
|
||||||
|
String formattedDate = dateFormat.format(date);
|
||||||
|
model.addAttribute("serverTime", formattedDate );*/
|
||||||
|
|
||||||
|
return "privacy";
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value = "/robots.txt")
|
||||||
|
public void robots(HttpServletResponse response) {
|
||||||
|
try {
|
||||||
|
response.getWriter().write("User-agent: *\n");
|
||||||
|
response.getWriter().write("Disallow: /engine/\n");
|
||||||
|
response.getWriter().write("Disallow: /resources/\n");
|
||||||
|
response.getWriter().write("Disallow: /test\n");
|
||||||
|
response.getWriter().write("Sitemap: https://ccalm.org/sitemap.xml\n");
|
||||||
|
response.getWriter().write("Host: https://ccalm.org\n");
|
||||||
|
} catch (IOException e) {
|
||||||
|
logger.info(e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value = "/sitemap.xml")
|
||||||
|
public void sitemap(HttpServletResponse response) {
|
||||||
|
try {
|
||||||
|
response.getWriter().write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
|
||||||
|
+ "<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\n"
|
||||||
|
+ " <url>\n"
|
||||||
|
+ " <loc>https://ccalm.org</loc>\n"
|
||||||
|
+ " </url>\n"
|
||||||
|
+ "</urlset>\n");
|
||||||
|
} catch (IOException e) {
|
||||||
|
logger.info(e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Testing new main index page
|
||||||
|
*/
|
||||||
|
@RequestMapping(value = "/", method = RequestMethod.GET)
|
||||||
|
public String home2(@ModelAttribute User user, Model model,@RequestParam(required=false,name="lng") String language_id) {
|
||||||
|
//logger.info("Welcome home! The client locale is {}.", locale);
|
||||||
|
|
||||||
|
if(language_id!=null && !language_id.equals("")) user.language_id=language_id;
|
||||||
|
logger.info("user.id="+user.id+" user.name="+user.name+" user.language_id="+user.language_id);
|
||||||
|
|
||||||
|
String db_url="";
|
||||||
|
String db_login="";
|
||||||
|
String db_password="";
|
||||||
|
try {
|
||||||
|
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||||
|
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||||
|
//Document doc = dBuilder.parse(fXmlFile);
|
||||||
|
Document doc = dBuilder.parse(new ClassPathResource("config.xml").getInputStream());
|
||||||
|
Element nMain=doc.getDocumentElement();
|
||||||
|
NodeList nl=nMain.getChildNodes();
|
||||||
|
for (int i = 0; i <nl.getLength(); i++)
|
||||||
|
{
|
||||||
|
if(nl.item(i).getNodeName().equals("db-url"))
|
||||||
|
db_url=nl.item(i).getTextContent();
|
||||||
|
if(nl.item(i).getNodeName().equals("db-login"))
|
||||||
|
db_login=nl.item(i).getTextContent();
|
||||||
|
if(nl.item(i).getNodeName().equals("db-password"))
|
||||||
|
db_password=nl.item(i).getTextContent();
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
//Get language from database
|
||||||
|
Connection conn = null;
|
||||||
|
try{
|
||||||
|
Class.forName("org.postgresql.Driver");
|
||||||
|
conn = DriverManager.getConnection(db_url,db_login,db_password);
|
||||||
|
if(conn!=null)
|
||||||
|
{
|
||||||
|
System.out.println("Connect is OK!");
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
System.out.println("<br>Connect is ERROR<br>");
|
||||||
|
}
|
||||||
|
}catch(Exception e)
|
||||||
|
{
|
||||||
|
System.out.println("<br>Connect Exception:"+e.getMessage()+"<br>");
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
Statement st = conn.createStatement();
|
||||||
|
ResultSet rs=null;
|
||||||
|
if(user.id!=null){
|
||||||
|
|
||||||
|
if(language_id!=null && !language_id.equals(""))
|
||||||
|
{
|
||||||
|
//Set the language for the current user if it is transferred.
|
||||||
|
user.language_id=language_id;
|
||||||
|
try {
|
||||||
|
st.execute("update main._users set language_id='"+user.language_id+"' where id="+user.id);
|
||||||
|
} catch( SQLException ex )
|
||||||
|
{
|
||||||
|
System.out.println("<br>SQLException:"+ex.getMessage()+"<br>");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//Select language for current user
|
||||||
|
try {
|
||||||
|
String sql="select language_id,country_id from main._users u where u.id="+String.valueOf(user.id)+";";
|
||||||
|
rs = st.executeQuery(sql);
|
||||||
|
} catch( SQLException ex )
|
||||||
|
{
|
||||||
|
System.out.println("<br>SQLException:"+ex.getMessage()+"<br>");
|
||||||
|
}
|
||||||
|
|
||||||
|
if(rs!=null)
|
||||||
|
{
|
||||||
|
while (rs.next())
|
||||||
|
{
|
||||||
|
user.language_id = rs.getString("language_id");
|
||||||
|
user.country_id = rs.getString("country_id");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
st.close();
|
||||||
|
} catch( SQLException ex )
|
||||||
|
{
|
||||||
|
System.out.println("<br>SQLException:"+ex.getMessage()+"<br>");
|
||||||
|
}
|
||||||
|
|
||||||
|
//Send user name and role
|
||||||
|
model.addAttribute("uName",user.name+" ("+user.role+")");
|
||||||
|
model.addAttribute("m_locale",user.language_id);
|
||||||
|
model.addAttribute("country_id",user.country_id);
|
||||||
|
|
||||||
|
//Для перевода выбираю всё что под номером 1 в переводе
|
||||||
|
try {
|
||||||
|
m_props = new Properties();
|
||||||
|
Statement stt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
|
||||||
|
String sql_query = "select identifier,case when '"+user.language_id+"'='666' then translation||'''\"' else translation end as translation from main._translations t where t.del=false and (t.language_id='"+user.language_id+"' or ('"+user.language_id+"'='666' and t.language_id=1)) and translation_type_id=1;";
|
||||||
|
ResultSet rs = stt.executeQuery(sql_query);
|
||||||
|
if (rs != null) {
|
||||||
|
while (rs.next())
|
||||||
|
{
|
||||||
|
String identifier = rs.getString("identifier");
|
||||||
|
String translation = rs.getString("translation");
|
||||||
|
m_props.setProperty(identifier, translation);
|
||||||
|
}
|
||||||
|
rs.close();
|
||||||
|
}
|
||||||
|
stt.close();
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
Set<Object> keys = m_props.keySet();
|
||||||
|
for(Object k:keys){
|
||||||
|
String key = (String)k;
|
||||||
|
String val="";
|
||||||
|
if(val.equals(""))
|
||||||
|
{
|
||||||
|
val = m_props.getProperty(key,"");
|
||||||
|
if(val.equals(""))
|
||||||
|
{
|
||||||
|
val = val.replaceAll("_", " ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
model.addAttribute(key,val);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
try{ conn.close(); }catch(Exception e){}
|
||||||
|
|
||||||
|
return "index";
|
||||||
|
//return "test";
|
||||||
|
}
|
||||||
|
|
||||||
|
//Returns data for building a map on the first index page
|
||||||
|
@RequestMapping(value = "/dataindex",method = {RequestMethod.POST,RequestMethod.GET},produces = "application/json; charset=utf-8")
|
||||||
|
@ResponseBody
|
||||||
|
public Object ajaxIndexData(HttpServletResponse response,@ModelAttribute User user,@RequestParam(required=false,name="date_start",defaultValue = "null") String date_start,@RequestParam(required=false,name="date_end",defaultValue = "null") String date_end, @RequestParam(required=false,name="lng") String language_id) {
|
||||||
|
String headerValue = CacheControl.maxAge(60, TimeUnit.SECONDS).getHeaderValue();
|
||||||
|
response.addHeader("Cache-Control", headerValue);
|
||||||
|
|
||||||
|
JSONObject result = new JSONObject();
|
||||||
|
JSONArray array=new JSONArray();
|
||||||
|
|
||||||
|
String db_url="";
|
||||||
|
String db_login="";
|
||||||
|
String db_password="";
|
||||||
|
try {
|
||||||
|
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||||
|
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||||
|
//Document doc = dBuilder.parse(fXmlFile);
|
||||||
|
Document doc = dBuilder.parse(new ClassPathResource("config.xml").getInputStream());
|
||||||
|
Element nMain=doc.getDocumentElement();
|
||||||
|
NodeList nl=nMain.getChildNodes();
|
||||||
|
for (int i = 0; i <nl.getLength(); i++)
|
||||||
|
{
|
||||||
|
if(nl.item(i).getNodeName().equals("db-url"))
|
||||||
|
db_url=nl.item(i).getTextContent();
|
||||||
|
if(nl.item(i).getNodeName().equals("db-login"))
|
||||||
|
db_login=nl.item(i).getTextContent();
|
||||||
|
if(nl.item(i).getNodeName().equals("db-password"))
|
||||||
|
db_password=nl.item(i).getTextContent();
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
//Connect to database
|
||||||
|
Connection conn = null;
|
||||||
|
try{
|
||||||
|
Class.forName("org.postgresql.Driver");
|
||||||
|
conn = DriverManager.getConnection(db_url,db_login,db_password);
|
||||||
|
if(conn!=null)
|
||||||
|
{
|
||||||
|
System.out.println("Connect is OK!");
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
System.out.println("<br>Connect is ERROR<br>");
|
||||||
|
}
|
||||||
|
}catch(Exception e)
|
||||||
|
{
|
||||||
|
System.out.println("<br>Connect Exception:"+e.getMessage()+"<br>");
|
||||||
|
}
|
||||||
|
|
||||||
|
String sql;
|
||||||
|
sql = "select * from main.p_dataindex(to_timestamp("+date_start+")::timestamp without time zone,to_timestamp("+date_end+")::timestamp without time zone);";
|
||||||
|
ResultSet rs = null;
|
||||||
|
try {
|
||||||
|
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
|
||||||
|
rs = stmt.executeQuery(sql);
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
while (rs.next()) {
|
||||||
|
JSONObject rsRez = new JSONObject();
|
||||||
|
rsRez.put("id",rs.getInt("id"));
|
||||||
|
rsRez.put("lon",rs.getDouble("lon"));
|
||||||
|
rsRez.put("lat",rs.getDouble("lat"));
|
||||||
|
rsRez.put("type",rs.getInt("type"));
|
||||||
|
rsRez.put("terrain",rs.getString("terrain"));
|
||||||
|
array.put(rsRez);
|
||||||
|
}
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
result.put("ErrorCode", "0");
|
||||||
|
result.put("ErrorMessage", "");
|
||||||
|
|
||||||
|
result.put("data", array);
|
||||||
|
|
||||||
|
if(conn!=null)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
conn.close();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return result.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
697
src/main/java/kz/locust/CCALM/Products.java
Normal file
697
src/main/java/kz/locust/CCALM/Products.java
Normal file
@ -0,0 +1,697 @@
|
|||||||
|
package kz.locust.CCALM;
|
||||||
|
|
||||||
|
import java.io.ByteArrayInputStream;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
|
import java.sql.Connection;
|
||||||
|
import java.sql.DriverManager;
|
||||||
|
import java.sql.PreparedStatement;
|
||||||
|
import java.sql.ResultSet;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import java.sql.Statement;
|
||||||
|
|
||||||
|
import javax.servlet.ServletContext;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import javax.xml.parsers.DocumentBuilder;
|
||||||
|
import javax.xml.parsers.DocumentBuilderFactory;
|
||||||
|
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.core.io.ClassPathResource;
|
||||||
|
import org.springframework.core.io.FileSystemResource;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMethod;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
import org.springframework.web.bind.annotation.ResponseBody;
|
||||||
|
import org.springframework.web.bind.annotation.SessionAttributes;
|
||||||
|
import org.springframework.web.context.ServletContextAware;
|
||||||
|
import org.w3c.dom.Document;
|
||||||
|
import org.w3c.dom.Element;
|
||||||
|
import org.w3c.dom.NodeList;
|
||||||
|
|
||||||
|
import org.json.JSONObject;
|
||||||
|
import org.json.JSONArray;
|
||||||
|
import org.json.JSONException;
|
||||||
|
|
||||||
|
import tools.PreparedStatementNamed;
|
||||||
|
import tools.User;
|
||||||
|
|
||||||
|
@Controller
|
||||||
|
@SessionAttributes( { "user" }) //Сесионный объект
|
||||||
|
public class Products implements ServletContextAware {
|
||||||
|
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(Products.class);
|
||||||
|
private ServletContext context;
|
||||||
|
|
||||||
|
//If not created object "user", create him.
|
||||||
|
@ModelAttribute("user")
|
||||||
|
public User populatePerson() {
|
||||||
|
return new User("none");
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value = "/get_survey",method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
|
||||||
|
@ResponseBody
|
||||||
|
public String getLocustSurvey(@ModelAttribute User user,@RequestBody(required=false) byte[] reqData,@RequestParam(required=false,name="lng") String language_id) {
|
||||||
|
|
||||||
|
int errorCode=0;
|
||||||
|
String errorMessage="";
|
||||||
|
|
||||||
|
//Load configuration from "config.xml"
|
||||||
|
String db_url = "";
|
||||||
|
String db_login = "";
|
||||||
|
String db_password = "";
|
||||||
|
try {
|
||||||
|
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||||
|
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||||
|
//Document doc = dBuilder.parse(fXmlFile);
|
||||||
|
Document doc = dBuilder.parse(new ClassPathResource("config.xml").getInputStream());
|
||||||
|
Element nMain = doc.getDocumentElement();
|
||||||
|
NodeList nl = nMain.getChildNodes();
|
||||||
|
for (int i = 0; i < nl.getLength(); i++) {
|
||||||
|
if (nl.item(i).getNodeName().equals("db-url"))
|
||||||
|
db_url = nl.item(i).getTextContent();
|
||||||
|
if (nl.item(i).getNodeName().equals("db-login"))
|
||||||
|
db_login = nl.item(i).getTextContent();
|
||||||
|
if (nl.item(i).getNodeName().equals("db-password"))
|
||||||
|
db_password = nl.item(i).getTextContent();
|
||||||
|
}
|
||||||
|
} catch (Exception ex) {
|
||||||
|
errorCode=1;
|
||||||
|
errorMessage+="Internal server error, settings.";
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
Connection conn = null;
|
||||||
|
try {
|
||||||
|
Class.forName("org.postgresql.Driver");
|
||||||
|
conn = DriverManager.getConnection(db_url, db_login, db_password);
|
||||||
|
if (conn != null) {
|
||||||
|
logger.info("Connect is OK!");
|
||||||
|
} else {
|
||||||
|
errorCode=1;
|
||||||
|
errorMessage+="An error occurred while connecting to the database!";
|
||||||
|
}
|
||||||
|
} catch (Exception ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
errorCode=1;
|
||||||
|
errorMessage+="An error occurred while connecting to the database!";
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
Statement stt0 = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
|
||||||
|
//st.executeUpdate("SET TIME ZONE 'UTC';"); зачем коментил?
|
||||||
|
stt0.executeUpdate("SET TIME ZONE 'Asia/Almaty';"); //Зачем раскоментил? может в начале поставить ещё TimeZone.setDefault(TimeZone.getTimeZone("UTC")); ?
|
||||||
|
stt0.close();
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
errorCode=1;
|
||||||
|
errorMessage+="Failed to execute SQL query!";
|
||||||
|
}
|
||||||
|
|
||||||
|
JSONObject doc=null;
|
||||||
|
InputStream body;
|
||||||
|
if(reqData!=null) {
|
||||||
|
|
||||||
|
|
||||||
|
body = new ByteArrayInputStream(reqData);
|
||||||
|
|
||||||
|
String text="";
|
||||||
|
try {
|
||||||
|
text = new String(body.readAllBytes(), StandardCharsets.UTF_8);
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
logger.info(text);
|
||||||
|
|
||||||
|
//JSONParser jsonParser = new JSONParser();
|
||||||
|
//doc = (JSONObject)jsonParser.parse(text);
|
||||||
|
//doc = new JSONObject(body);
|
||||||
|
doc = new JSONObject(text);
|
||||||
|
}
|
||||||
|
|
||||||
|
JSONArray array=new JSONArray(); //Результирующий набор данных
|
||||||
|
|
||||||
|
String sql_query = "";
|
||||||
|
Statement stt=null;
|
||||||
|
ResultSet rs=null;
|
||||||
|
try {
|
||||||
|
stt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
|
||||||
|
sql_query = "select id,"
|
||||||
|
+ " lat1,"
|
||||||
|
+ " lon1,"
|
||||||
|
+ " lat2,"
|
||||||
|
+ " lon2,"
|
||||||
|
+ " lat3,"
|
||||||
|
+ " lon3,"
|
||||||
|
+ " lat4,"
|
||||||
|
+ " lon4,"
|
||||||
|
+ " lat5,"
|
||||||
|
+ " lon5,"
|
||||||
|
+ " lat6,"
|
||||||
|
+ " lon6,"
|
||||||
|
+ " terrain,"
|
||||||
|
+ " locust_populated,"
|
||||||
|
+ " eggs_capsules_density,"
|
||||||
|
+ " eggs_capsules_density_to,"
|
||||||
|
+ " imago_density,"
|
||||||
|
+ " larva_density,"
|
||||||
|
+ " larva_density_to,"
|
||||||
|
+ " kuliguli_size,"
|
||||||
|
+ " CASE swarm_maturity WHEN true THEN 1 WHEN false THEN 0 ELSE null END as swarm_maturity,"
|
||||||
|
+ " swarm_density_id,"
|
||||||
|
+ " ST_AsGeoJSON(geom) as geom"
|
||||||
|
+ " from main.frmlocust fl where"
|
||||||
|
+ " fl.del=false"
|
||||||
|
+ " and (${country_id} is null or (${country_id}=-1 and fl.country_id in (7,3,4,2)) or (${country_id}=-2 and fl.country_id in (7,1,5,6,8,9,10)) or ${country_id}=fl.country_id)"
|
||||||
|
+ " and (${region_id} is null or ${region_id}=fl.region_id)"
|
||||||
|
+ " and (${locust_type_id} is null or ${locust_type_id}=fl.locust_type_id)"
|
||||||
|
+ " and (${date_start} is null or to_timestamp(${date_start})<=fl.date)"
|
||||||
|
+ " and (${date_end} is null or to_timestamp(${date_end})>=fl.date)"
|
||||||
|
+ " and (${device_id} is null or (${device_id} and fl.device_id is not null) or (not ${device_id} and fl.device_id is null))"
|
||||||
|
+ " and (${registered} is null or (${registered} and (fl.device_id is null or fl.device_id in (select serial from main.terminals where del=false))) or (not ${registered} and (fl.device_id not in (select serial from main.terminals where del=false))))"
|
||||||
|
+ " and ((${test} is null and (test!=true or test is null)) or ${test}=fl.test)"
|
||||||
|
+ " order by fl.id desc;";
|
||||||
|
|
||||||
|
PreparedStatementNamed stmtn = new PreparedStatementNamed(conn, sql_query);
|
||||||
|
if(doc!=null) {
|
||||||
|
stmtn.setInt("_user_id", Integer.parseInt(user.id));
|
||||||
|
|
||||||
|
if(doc.isNull("country_id")) stmtn.setNULLInt("country_id");
|
||||||
|
else stmtn.setInt("country_id",doc.getInt("country_id"));
|
||||||
|
|
||||||
|
if(doc.isNull("region_id")) stmtn.setNULLInt("region_id");
|
||||||
|
else stmtn.setInt("region_id",doc.getInt("region_id"));
|
||||||
|
|
||||||
|
if(doc.isNull("locust_type_id")) stmtn.setNULLInt("locust_type_id");
|
||||||
|
else stmtn.setInt("locust_type_id",doc.getInt("locust_type_id"));
|
||||||
|
|
||||||
|
if(doc.isNull("date_start")) stmtn.setNULLInt("date_start");
|
||||||
|
else stmtn.setInt("date_start",doc.getInt("date_start"));
|
||||||
|
|
||||||
|
if(doc.isNull("date_end")) stmtn.setNULLInt("date_end");
|
||||||
|
else stmtn.setInt("date_end",doc.getInt("date_end"));
|
||||||
|
|
||||||
|
if(doc.isNull("device_id")) stmtn.setNULLBoolean("device_id");
|
||||||
|
else stmtn.setBoolean("device_id",doc.getInt("device_id"));
|
||||||
|
|
||||||
|
if(doc.isNull("registered")) stmtn.setNULLBoolean("registered");
|
||||||
|
else stmtn.setBoolean("registered",doc.getInt("registered"));
|
||||||
|
|
||||||
|
if(doc.isNull("test")) stmtn.setNULLBoolean("test");
|
||||||
|
else stmtn.setBoolean("test",doc.getInt("test"));
|
||||||
|
}
|
||||||
|
PreparedStatement stmt=stmtn.getPreparedStatement();
|
||||||
|
|
||||||
|
rs = stmt.executeQuery();
|
||||||
|
if (rs != null) {
|
||||||
|
try {
|
||||||
|
while(rs.next()) {
|
||||||
|
|
||||||
|
JSONObject obj = new JSONObject();
|
||||||
|
obj.put("id", rs.getLong("id"));
|
||||||
|
if(rs.getObject("terrain")!=null)
|
||||||
|
obj.put("terrain", rs.getString("terrain"));
|
||||||
|
if(rs.getObject("locust_populated")!=null)
|
||||||
|
obj.put("locust_populated", rs.getFloat("locust_populated"));
|
||||||
|
if(rs.getObject("eggs_capsules_density")!=null)
|
||||||
|
obj.put("eggs_capsules_density", rs.getFloat("eggs_capsules_density"));
|
||||||
|
if(rs.getObject("eggs_capsules_density_to")!=null)
|
||||||
|
obj.put("eggs_capsules_density_to", rs.getFloat("eggs_capsules_density_to"));
|
||||||
|
if(rs.getObject("imago_density")!=null)
|
||||||
|
obj.put("imago_density", rs.getFloat("imago_density"));
|
||||||
|
if(rs.getObject("larva_density")!=null)
|
||||||
|
obj.put("larva_density", rs.getFloat("larva_density"));
|
||||||
|
if(rs.getObject("larva_density_to")!=null)
|
||||||
|
obj.put("larva_density_to", rs.getFloat("larva_density_to"));
|
||||||
|
if(rs.getObject("kuliguli_size")!=null)
|
||||||
|
obj.put("kuliguli_size", rs.getFloat("kuliguli_size"));
|
||||||
|
if(rs.getObject("swarm_maturity")!=null)
|
||||||
|
obj.put("swarm_maturity", rs.getString("swarm_maturity"));
|
||||||
|
if(rs.getObject("swarm_density_id")!=null)
|
||||||
|
obj.put("swarm_density_id", rs.getInt("swarm_density_id"));
|
||||||
|
|
||||||
|
//obj.put("town_name", rs.getString("town_name")); //Район
|
||||||
|
//obj.put("date", rs.getString("date")); //Дата анкетирования
|
||||||
|
//obj.put("surveyed_area", rs.getDouble("surveyed_area")); //Обследованная площадь га
|
||||||
|
|
||||||
|
|
||||||
|
double lat=0;
|
||||||
|
double lon=0;
|
||||||
|
int cnt1=0;
|
||||||
|
if(rs.getString("lat1")!=null && rs.getString("lon1")!=null && rs.getFloat("lat1")!=0 && rs.getFloat("lon1")!=0) {
|
||||||
|
lat+=rs.getDouble("lat1");
|
||||||
|
lon+=rs.getDouble("lon1");
|
||||||
|
cnt1++;
|
||||||
|
}
|
||||||
|
if(rs.getString("lat2")!=null && rs.getString("lon2")!=null && rs.getFloat("lat2")!=0 && rs.getFloat("lon2")!=0) {
|
||||||
|
lat+=rs.getDouble("lat2");
|
||||||
|
lon+=rs.getDouble("lon2");
|
||||||
|
cnt1++;
|
||||||
|
}
|
||||||
|
if(rs.getString("lat3")!=null && rs.getString("lon3")!=null && rs.getFloat("lat3")!=0 && rs.getFloat("lon3")!=0) {
|
||||||
|
lat+=rs.getDouble("lat3");
|
||||||
|
lon+=rs.getDouble("lon3");
|
||||||
|
cnt1++;
|
||||||
|
}
|
||||||
|
if(rs.getString("lat4")!=null && rs.getString("lon4")!=null && rs.getFloat("lat4")!=0 && rs.getFloat("lon4")!=0) {
|
||||||
|
lat+=rs.getDouble("lat4");
|
||||||
|
lon+=rs.getDouble("lon4");
|
||||||
|
cnt1++;
|
||||||
|
}
|
||||||
|
if(rs.getString("lat5")!=null && rs.getString("lon5")!=null && rs.getFloat("lat5")!=0 && rs.getFloat("lon5")!=0) {
|
||||||
|
lat+=rs.getDouble("lat5");
|
||||||
|
lon+=rs.getDouble("lon5");
|
||||||
|
cnt1++;
|
||||||
|
}
|
||||||
|
if(rs.getString("lat6")!=null && rs.getString("lon6")!=null && rs.getFloat("lat6")!=0 && rs.getFloat("lon6")!=0) {
|
||||||
|
lat+=rs.getDouble("lat6");
|
||||||
|
lon+=rs.getDouble("lon6");
|
||||||
|
cnt1++;
|
||||||
|
}
|
||||||
|
if(cnt1>0) {
|
||||||
|
lat=lat/cnt1;
|
||||||
|
lon=lon/cnt1;
|
||||||
|
}
|
||||||
|
obj.put("lat", lat);
|
||||||
|
obj.put("lon", lon);
|
||||||
|
boolean point=cnt1<=2;
|
||||||
|
|
||||||
|
JSONObject geom = null;
|
||||||
|
if(rs.getString("geom")!=null)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
geom = new JSONObject(rs.getString("geom"));
|
||||||
|
}catch (JSONException err){
|
||||||
|
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
if(point) {
|
||||||
|
/*geom = new JSONObject();
|
||||||
|
geom.put("type","Point");
|
||||||
|
JSONArray crdSub=new JSONArray();
|
||||||
|
crdSub.put(rs.getDouble("lon1"));
|
||||||
|
crdSub.put(rs.getDouble("lat1"));
|
||||||
|
geom.put("coordinates", crdSub);*/
|
||||||
|
}else {
|
||||||
|
geom = new JSONObject();
|
||||||
|
geom.put("type","Polygon");
|
||||||
|
JSONArray crdMain=new JSONArray();
|
||||||
|
JSONArray crdSub=new JSONArray();
|
||||||
|
crdMain.put(crdSub);
|
||||||
|
|
||||||
|
if(rs.getString("lat1")!=null && rs.getString("lon1")!=null && rs.getFloat("lat1")!=0 && rs.getFloat("lon1")!=0) {
|
||||||
|
JSONArray crd=new JSONArray();
|
||||||
|
crd.put(rs.getDouble("lon1"));
|
||||||
|
crd.put(rs.getDouble("lat1"));
|
||||||
|
crdSub.put(crd);
|
||||||
|
}
|
||||||
|
if(rs.getString("lat2")!=null && rs.getString("lon2")!=null && rs.getFloat("lat2")!=0 && rs.getFloat("lon2")!=0) {
|
||||||
|
JSONArray crd=new JSONArray();
|
||||||
|
crd.put(rs.getDouble("lon2"));
|
||||||
|
crd.put(rs.getDouble("lat2"));
|
||||||
|
crdSub.put(crd);
|
||||||
|
}
|
||||||
|
if(rs.getString("lat3")!=null && rs.getString("lon3")!=null && rs.getFloat("lat3")!=0 && rs.getFloat("lon3")!=0) {
|
||||||
|
JSONArray crd=new JSONArray();
|
||||||
|
crd.put(rs.getDouble("lon3"));
|
||||||
|
crd.put(rs.getDouble("lat3"));
|
||||||
|
crdSub.put(crd);
|
||||||
|
}
|
||||||
|
if(rs.getString("lat4")!=null && rs.getString("lon4")!=null && rs.getFloat("lat4")!=0 && rs.getFloat("lon4")!=0) {
|
||||||
|
JSONArray crd=new JSONArray();
|
||||||
|
crd.put(rs.getDouble("lon4"));
|
||||||
|
crd.put(rs.getDouble("lat4"));
|
||||||
|
crdSub.put(crd);
|
||||||
|
}
|
||||||
|
if(rs.getString("lat5")!=null && rs.getString("lon5")!=null && rs.getFloat("lat5")!=0 && rs.getFloat("lon5")!=0) {
|
||||||
|
JSONArray crd=new JSONArray();
|
||||||
|
crd.put(rs.getDouble("lon5"));
|
||||||
|
crd.put(rs.getDouble("lat5"));
|
||||||
|
crdSub.put(crd);
|
||||||
|
}
|
||||||
|
if(rs.getString("lat6")!=null && rs.getString("lon6")!=null && rs.getFloat("lat6")!=0 && rs.getFloat("lon6")!=0) {
|
||||||
|
JSONArray crd=new JSONArray();
|
||||||
|
crd.put(rs.getDouble("lon6"));
|
||||||
|
crd.put(rs.getDouble("lat6"));
|
||||||
|
crdSub.put(crd);
|
||||||
|
}
|
||||||
|
geom.put("coordinates", crdMain);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(geom!=null)
|
||||||
|
obj.put("geom", geom);
|
||||||
|
|
||||||
|
array.put(obj);
|
||||||
|
}
|
||||||
|
rs.close();
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
errorCode=4;
|
||||||
|
errorMessage+="Internal server error, sampling.";
|
||||||
|
ex.printStackTrace();
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
errorCode=5;
|
||||||
|
errorMessage+="Внутренняя ошибка сервера, запрос. ";
|
||||||
|
ex.printStackTrace();
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}finally {
|
||||||
|
if(rs!=null) try{rs.close();}catch(SQLException ex){}
|
||||||
|
if(stt!=null) try{stt.close();}catch(SQLException ex){}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if(errorCode!=0) {
|
||||||
|
JSONObject obj = new JSONObject();
|
||||||
|
obj.put("errorCode",errorCode);
|
||||||
|
obj.put("errorMessage", errorMessage);
|
||||||
|
return obj.toString();
|
||||||
|
}else {
|
||||||
|
JSONObject obj = new JSONObject();
|
||||||
|
obj.put("errorCode",0);
|
||||||
|
obj.put("errorMessage", "");
|
||||||
|
if(doc!=null)
|
||||||
|
obj.put("indicator",doc.getString("indicator"));
|
||||||
|
obj.put("data",array);
|
||||||
|
return obj.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value = "/get_spray",method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
|
||||||
|
@ResponseBody
|
||||||
|
public String getSprayMonitoring(@ModelAttribute User user,@RequestBody byte[] reqData,@RequestParam(required=false,name="lng") String language_id) {
|
||||||
|
|
||||||
|
int errorCode=0;
|
||||||
|
String errorMessage="";
|
||||||
|
|
||||||
|
//Load configuration from "config.xml"
|
||||||
|
String db_url = "";
|
||||||
|
String db_login = "";
|
||||||
|
String db_password = "";
|
||||||
|
try {
|
||||||
|
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||||
|
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||||
|
//Document doc = dBuilder.parse(fXmlFile);
|
||||||
|
Document doc = dBuilder.parse(new ClassPathResource("config.xml").getInputStream());
|
||||||
|
Element nMain = doc.getDocumentElement();
|
||||||
|
NodeList nl = nMain.getChildNodes();
|
||||||
|
for (int i = 0; i < nl.getLength(); i++) {
|
||||||
|
if (nl.item(i).getNodeName().equals("db-url"))
|
||||||
|
db_url = nl.item(i).getTextContent();
|
||||||
|
if (nl.item(i).getNodeName().equals("db-login"))
|
||||||
|
db_login = nl.item(i).getTextContent();
|
||||||
|
if (nl.item(i).getNodeName().equals("db-password"))
|
||||||
|
db_password = nl.item(i).getTextContent();
|
||||||
|
}
|
||||||
|
} catch (Exception ex) {
|
||||||
|
errorCode=1;
|
||||||
|
errorMessage+="Internal server error, settings.";
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
Connection conn = null;
|
||||||
|
try {
|
||||||
|
Class.forName("org.postgresql.Driver");
|
||||||
|
conn = DriverManager.getConnection(db_url, db_login, db_password);
|
||||||
|
if (conn != null) {
|
||||||
|
logger.info("Connect is OK!");
|
||||||
|
} else {
|
||||||
|
errorCode=1;
|
||||||
|
errorMessage+="An error occurred while connecting to the database!";
|
||||||
|
}
|
||||||
|
} catch (Exception ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
errorCode=1;
|
||||||
|
errorMessage+="An error occurred while connecting to the database!";
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
Statement stt0 = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
|
||||||
|
//st.executeUpdate("SET TIME ZONE 'UTC';"); зачем коментил?
|
||||||
|
stt0.executeUpdate("SET TIME ZONE 'Asia/Almaty';");
|
||||||
|
stt0.close();
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
errorCode=1;
|
||||||
|
errorMessage+="Failed to execute SQL query!";
|
||||||
|
}
|
||||||
|
|
||||||
|
JSONObject doc=null;
|
||||||
|
InputStream body;
|
||||||
|
if(reqData!=null) {
|
||||||
|
|
||||||
|
|
||||||
|
body = new ByteArrayInputStream(reqData);
|
||||||
|
|
||||||
|
String text="";
|
||||||
|
try {
|
||||||
|
text = new String(body.readAllBytes(), StandardCharsets.UTF_8);
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
logger.info(text);
|
||||||
|
|
||||||
|
//JSONParser jsonParser = new JSONParser();
|
||||||
|
//doc = (JSONObject)jsonParser.parse(text);
|
||||||
|
//doc = new JSONObject(body);
|
||||||
|
doc = new JSONObject(text);
|
||||||
|
}
|
||||||
|
|
||||||
|
JSONArray array=new JSONArray(); //Результирующий набор данных
|
||||||
|
|
||||||
|
String sql_query = "";
|
||||||
|
Statement stt=null;
|
||||||
|
ResultSet rs=null;
|
||||||
|
try {
|
||||||
|
stt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
|
||||||
|
sql_query = "select id,"
|
||||||
|
+ " lat_center,"
|
||||||
|
+ " lon_center,"
|
||||||
|
+ " lat1,"
|
||||||
|
+ " lon1,"
|
||||||
|
+ " lat2,"
|
||||||
|
+ " lon2,"
|
||||||
|
+ " lat3,"
|
||||||
|
+ " lon3,"
|
||||||
|
+ " lat4,"
|
||||||
|
+ " lon4,"
|
||||||
|
+ " lat5,"
|
||||||
|
+ " lon5,"
|
||||||
|
+ " lat6,"
|
||||||
|
+ " lon6,"
|
||||||
|
+ " terrain,"
|
||||||
|
+ " treated_area,"
|
||||||
|
+ " infested_area,"
|
||||||
|
+ " ST_AsGeoJSON(geom) as geom"
|
||||||
|
+ " from main.frmlocustdel fld where"
|
||||||
|
+ " fld.del=false"
|
||||||
|
+ " and (${country_id} is null or (${country_id}=-1 and fld.country_id in (7,3,4,2)) or (${country_id}=-2 and fld.country_id in (7,1,5,6,8,9,10)) or ${country_id}=fld.country_id)"
|
||||||
|
+ " and (${region_id} is null or ${region_id}=fld.region_id)"
|
||||||
|
+ " and (${date_start} is null or to_timestamp(${date_start})<=fld.date)"
|
||||||
|
+ " and (${date_end} is null or to_timestamp(${date_end})>=fld.date)"
|
||||||
|
+ " and (${device_id} is null or (${device_id} and fld.device_id is not null) or (not ${device_id} and fld.device_id is null))"
|
||||||
|
+ " and (${registered} is null or (${registered} and (fld.device_id is null or fld.device_id in (select serial from main.terminals where del=false))) or (not ${registered} and (fld.device_id not in (select serial from main.terminals where del=false))))"
|
||||||
|
+ " and ((${test} is null and (test!=true or test is null)) or ${test}=fld.test)"
|
||||||
|
+ " order by fld.id desc;";
|
||||||
|
|
||||||
|
PreparedStatementNamed stmtn = new PreparedStatementNamed(conn, sql_query);
|
||||||
|
if(doc!=null) {
|
||||||
|
stmtn.setInt("_user_id", Integer.parseInt(user.id));
|
||||||
|
|
||||||
|
if(doc.isNull("country_id")) stmtn.setNULLInt("country_id");
|
||||||
|
else stmtn.setInt("country_id",doc.getInt("country_id"));
|
||||||
|
|
||||||
|
if(doc.isNull("region_id")) stmtn.setNULLInt("region_id");
|
||||||
|
else stmtn.setInt("region_id",doc.getInt("region_id"));
|
||||||
|
|
||||||
|
if(doc.isNull("locust_type_id")) stmtn.setNULLInt("locust_type_id");
|
||||||
|
else stmtn.setInt("locust_type_id",doc.getInt("locust_type_id"));
|
||||||
|
|
||||||
|
if(doc.isNull("date_start")) stmtn.setNULLInt("date_start");
|
||||||
|
else stmtn.setInt("date_start",doc.getInt("date_start"));
|
||||||
|
|
||||||
|
if(doc.isNull("date_end")) stmtn.setNULLInt("date_end");
|
||||||
|
else stmtn.setInt("date_end",doc.getInt("date_end"));
|
||||||
|
|
||||||
|
if(doc.isNull("device_id")) stmtn.setNULLBoolean("device_id");
|
||||||
|
else stmtn.setBoolean("device_id",doc.getInt("device_id"));
|
||||||
|
|
||||||
|
if(doc.isNull("registered")) stmtn.setNULLBoolean("registered");
|
||||||
|
else stmtn.setBoolean("registered",doc.getInt("registered"));
|
||||||
|
|
||||||
|
if(doc.isNull("test")) stmtn.setNULLBoolean("test");
|
||||||
|
else stmtn.setBoolean("test",doc.getInt("test"));
|
||||||
|
}
|
||||||
|
PreparedStatement stmt=stmtn.getPreparedStatement();
|
||||||
|
|
||||||
|
rs = stmt.executeQuery();
|
||||||
|
if (rs != null) {
|
||||||
|
try {
|
||||||
|
while(rs.next()) {
|
||||||
|
|
||||||
|
JSONObject obj = new JSONObject();
|
||||||
|
obj.put("id", rs.getLong("id"));
|
||||||
|
if(rs.getObject("terrain")!=null)
|
||||||
|
obj.put("terrain", rs.getString("terrain"));
|
||||||
|
if(rs.getObject("treated_area")!=null)
|
||||||
|
obj.put("treated_area", rs.getFloat("treated_area"));
|
||||||
|
if(rs.getObject("infested_area")!=null)
|
||||||
|
obj.put("infested_area", rs.getFloat("infested_area"));
|
||||||
|
|
||||||
|
double lat=0;
|
||||||
|
double lon=0;
|
||||||
|
int cnt1=0;
|
||||||
|
if(rs.getString("lat1")!=null && rs.getString("lon1")!=null && rs.getFloat("lat1")!=0 && rs.getFloat("lon1")!=0) {
|
||||||
|
lat+=rs.getDouble("lat1");
|
||||||
|
lon+=rs.getDouble("lon1");
|
||||||
|
cnt1++;
|
||||||
|
}
|
||||||
|
if(rs.getString("lat2")!=null && rs.getString("lon2")!=null && rs.getFloat("lat2")!=0 && rs.getFloat("lon2")!=0) {
|
||||||
|
lat+=rs.getDouble("lat2");
|
||||||
|
lon+=rs.getDouble("lon2");
|
||||||
|
cnt1++;
|
||||||
|
}
|
||||||
|
if(rs.getString("lat3")!=null && rs.getString("lon3")!=null && rs.getFloat("lat3")!=0 && rs.getFloat("lon3")!=0) {
|
||||||
|
lat+=rs.getDouble("lat3");
|
||||||
|
lon+=rs.getDouble("lon3");
|
||||||
|
cnt1++;
|
||||||
|
}
|
||||||
|
if(rs.getString("lat4")!=null && rs.getString("lon4")!=null && rs.getFloat("lat4")!=0 && rs.getFloat("lon4")!=0) {
|
||||||
|
lat+=rs.getDouble("lat4");
|
||||||
|
lon+=rs.getDouble("lon4");
|
||||||
|
cnt1++;
|
||||||
|
}
|
||||||
|
if(rs.getString("lat5")!=null && rs.getString("lon5")!=null && rs.getFloat("lat5")!=0 && rs.getFloat("lon5")!=0) {
|
||||||
|
lat+=rs.getDouble("lat5");
|
||||||
|
lon+=rs.getDouble("lon5");
|
||||||
|
cnt1++;
|
||||||
|
}
|
||||||
|
if(rs.getString("lat6")!=null && rs.getString("lon6")!=null && rs.getFloat("lat6")!=0 && rs.getFloat("lon6")!=0) {
|
||||||
|
lat+=rs.getDouble("lat6");
|
||||||
|
lon+=rs.getDouble("lon6");
|
||||||
|
cnt1++;
|
||||||
|
}
|
||||||
|
//lat=lat/cnt1;
|
||||||
|
//lon=lon/cnt1;
|
||||||
|
lat=rs.getDouble("lat_center");
|
||||||
|
lon=rs.getDouble("lon_center");
|
||||||
|
obj.put("lat", lat);
|
||||||
|
obj.put("lon", lon);
|
||||||
|
boolean point=cnt1<=2;
|
||||||
|
|
||||||
|
JSONObject geom = null;
|
||||||
|
|
||||||
|
if(rs.getString("geom")!=null)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
geom = new JSONObject(rs.getString("geom"));
|
||||||
|
}catch (JSONException err){
|
||||||
|
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
if(point) {
|
||||||
|
/*geom = new JSONObject();
|
||||||
|
geom.put("type","Point");
|
||||||
|
JSONArray crdSub=new JSONArray();
|
||||||
|
crdSub.put(rs.getDouble("lon1"));
|
||||||
|
crdSub.put(rs.getDouble("lat1"));
|
||||||
|
geom.put("coordinates", crdSub);*/
|
||||||
|
}else {
|
||||||
|
geom = new JSONObject();
|
||||||
|
geom.put("type","Polygon");
|
||||||
|
JSONArray crdMain=new JSONArray();
|
||||||
|
JSONArray crdSub=new JSONArray();
|
||||||
|
crdMain.put(crdSub);
|
||||||
|
|
||||||
|
if(rs.getString("lat1")!=null && rs.getString("lon1")!=null && rs.getFloat("lat1")!=0 && rs.getFloat("lon1")!=0) {
|
||||||
|
JSONArray crd=new JSONArray();
|
||||||
|
crd.put(rs.getDouble("lon1"));
|
||||||
|
crd.put(rs.getDouble("lat1"));
|
||||||
|
crdSub.put(crd);
|
||||||
|
}
|
||||||
|
if(rs.getString("lat2")!=null && rs.getString("lon2")!=null && rs.getFloat("lat2")!=0 && rs.getFloat("lon2")!=0) {
|
||||||
|
JSONArray crd=new JSONArray();
|
||||||
|
crd.put(rs.getDouble("lon2"));
|
||||||
|
crd.put(rs.getDouble("lat2"));
|
||||||
|
crdSub.put(crd);
|
||||||
|
}
|
||||||
|
if(rs.getString("lat3")!=null && rs.getString("lon3")!=null && rs.getFloat("lat3")!=0 && rs.getFloat("lon3")!=0) {
|
||||||
|
JSONArray crd=new JSONArray();
|
||||||
|
crd.put(rs.getDouble("lon3"));
|
||||||
|
crd.put(rs.getDouble("lat3"));
|
||||||
|
crdSub.put(crd);
|
||||||
|
}
|
||||||
|
if(rs.getString("lat4")!=null && rs.getString("lon4")!=null && rs.getFloat("lat4")!=0 && rs.getFloat("lon4")!=0) {
|
||||||
|
JSONArray crd=new JSONArray();
|
||||||
|
crd.put(rs.getDouble("lon4"));
|
||||||
|
crd.put(rs.getDouble("lat4"));
|
||||||
|
crdSub.put(crd);
|
||||||
|
}
|
||||||
|
if(rs.getString("lat5")!=null && rs.getString("lon5")!=null && rs.getFloat("lat5")!=0 && rs.getFloat("lon5")!=0) {
|
||||||
|
JSONArray crd=new JSONArray();
|
||||||
|
crd.put(rs.getDouble("lon5"));
|
||||||
|
crd.put(rs.getDouble("lat5"));
|
||||||
|
crdSub.put(crd);
|
||||||
|
}
|
||||||
|
if(rs.getString("lat6")!=null && rs.getString("lon6")!=null && rs.getFloat("lat6")!=0 && rs.getFloat("lon6")!=0) {
|
||||||
|
JSONArray crd=new JSONArray();
|
||||||
|
crd.put(rs.getDouble("lon6"));
|
||||||
|
crd.put(rs.getDouble("lat6"));
|
||||||
|
crdSub.put(crd);
|
||||||
|
}
|
||||||
|
geom.put("coordinates", crdMain);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(geom!=null)
|
||||||
|
obj.put("geom", geom);
|
||||||
|
|
||||||
|
array.put(obj);
|
||||||
|
}
|
||||||
|
rs.close();
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
errorCode=4;
|
||||||
|
errorMessage+="Internal server error, sampling.";
|
||||||
|
ex.printStackTrace();
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
errorCode=5;
|
||||||
|
errorMessage+="Внутренняя ошибка сервера, запрос. ";
|
||||||
|
ex.printStackTrace();
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}finally {
|
||||||
|
if(rs!=null) try{rs.close();}catch(SQLException ex){}
|
||||||
|
if(stt!=null) try{stt.close();}catch(SQLException ex){}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if(errorCode!=0) {
|
||||||
|
JSONObject obj = new JSONObject();
|
||||||
|
obj.put("errorCode",errorCode);
|
||||||
|
obj.put("errorMessage", errorMessage);
|
||||||
|
return obj.toString();
|
||||||
|
}else {
|
||||||
|
JSONObject obj = new JSONObject();
|
||||||
|
obj.put("errorCode",0);
|
||||||
|
obj.put("errorMessage", "");
|
||||||
|
obj.put("data",array);
|
||||||
|
return obj.toString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setServletContext(ServletContext servletContext) {
|
||||||
|
this.context=servletContext;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
498
src/main/java/kz/locust/CCALM/QGIS.java
Normal file
498
src/main/java/kz/locust/CCALM/QGIS.java
Normal file
@ -0,0 +1,498 @@
|
|||||||
|
package kz.locust.CCALM;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
|
import java.io.Reader;
|
||||||
|
import java.sql.Connection;
|
||||||
|
import java.sql.DriverManager;
|
||||||
|
import java.sql.ResultSet;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import java.sql.Statement;
|
||||||
|
import java.util.Properties;
|
||||||
|
|
||||||
|
import javax.servlet.ServletContext;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import javax.xml.parsers.DocumentBuilder;
|
||||||
|
import javax.xml.parsers.DocumentBuilderFactory;
|
||||||
|
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.http.MediaType;
|
||||||
|
import org.springframework.core.io.ClassPathResource;
|
||||||
|
import org.springframework.http.HttpEntity;
|
||||||
|
import org.springframework.http.HttpHeaders;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMethod;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
import org.springframework.web.bind.annotation.ResponseBody;
|
||||||
|
import org.springframework.web.bind.annotation.SessionAttributes;
|
||||||
|
import org.springframework.web.context.ServletContextAware;
|
||||||
|
import org.w3c.dom.Document;
|
||||||
|
import org.w3c.dom.Element;
|
||||||
|
import org.w3c.dom.NodeList;
|
||||||
|
|
||||||
|
import tctable.Tools;
|
||||||
|
import tools.User;
|
||||||
|
|
||||||
|
@Controller
|
||||||
|
@SessionAttributes( { "user" })
|
||||||
|
public class QGIS implements ServletContextAware {
|
||||||
|
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(QGIS.class);
|
||||||
|
private ServletContext context;
|
||||||
|
private Properties m_props=null;
|
||||||
|
private String m_props_loc="";
|
||||||
|
public String m_locale="ru";
|
||||||
|
|
||||||
|
//If not created object "user", create him.
|
||||||
|
@ModelAttribute("user")
|
||||||
|
public User populatePerson() {
|
||||||
|
return new User("none");
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value = "/QGIS",method = RequestMethod.GET,produces = "application/octet-stream")
|
||||||
|
@ResponseBody
|
||||||
|
public HttpEntity<byte[]> ajaxTamer(@ModelAttribute User user,@RequestParam(required=false,name="day") String day,@RequestParam(required=false,name="name") String name,@RequestParam(required=false,name="time") String time,@RequestParam(required=false,name="time_start") String time_start,@RequestParam(required=false,name="time_end") String time_end,@RequestParam(required=false,name="country_id") String country_id,@RequestParam(required=false,name="locust_type_id") String locust_type_id,@RequestParam(required=false,name="date_start") String date_start,@RequestParam(required=false,name="date_end") String date_end,@RequestParam(required=false,name="registered") String registered,@RequestParam(required=false,name="year") String year,@RequestParam(required=false,name="region_id") String region_id,@RequestParam(required=false,name="country_name") String country_name,@RequestParam(required=false,name="lng") String language_id,HttpServletResponse response)
|
||||||
|
{
|
||||||
|
if(language_id!=null && !language_id.equals("")) user.language_id=language_id;
|
||||||
|
logger.info("user.id="+user.id+" user.name="+user.name+" user.language_id="+user.language_id);
|
||||||
|
m_locale=user.language_id;
|
||||||
|
|
||||||
|
String db_url = "";
|
||||||
|
String db_login = "";
|
||||||
|
String db_password = "";
|
||||||
|
//Load DB configuration from "config.xml"
|
||||||
|
try {
|
||||||
|
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||||
|
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||||
|
//Document doc = dBuilder.parse(fXmlFile);
|
||||||
|
Document doc = dBuilder.parse(new ClassPathResource("config.xml").getInputStream());
|
||||||
|
Element nMain = doc.getDocumentElement();
|
||||||
|
NodeList nl = nMain.getChildNodes();
|
||||||
|
for (int i = 0; i < nl.getLength(); i++) {
|
||||||
|
if (nl.item(i).getNodeName().equals("db-url"))
|
||||||
|
db_url = nl.item(i).getTextContent();
|
||||||
|
if (nl.item(i).getNodeName().equals("db-login"))
|
||||||
|
db_login = nl.item(i).getTextContent();
|
||||||
|
if (nl.item(i).getNodeName().equals("db-password"))
|
||||||
|
db_password = nl.item(i).getTextContent();
|
||||||
|
}
|
||||||
|
} catch (Exception ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
Connection conn = null;
|
||||||
|
try {
|
||||||
|
Class.forName("org.postgresql.Driver");
|
||||||
|
conn = DriverManager.getConnection(db_url, db_login, db_password);
|
||||||
|
if (conn != null) {
|
||||||
|
logger.info("Connect is OK!");
|
||||||
|
}
|
||||||
|
} catch (Exception ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//Return content QGIS file.
|
||||||
|
HttpHeaders headers = new HttpHeaders();
|
||||||
|
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
|
||||||
|
response.setContentType("application/octet-stream");
|
||||||
|
response.setHeader("Content-Disposition", "attachment; filename="+name+".qgs");
|
||||||
|
|
||||||
|
String fileAsString="";
|
||||||
|
//Pods (кубышки)
|
||||||
|
if(name!=null && (name.equals("frmlocust_pods_density") || name.equals("frmlocust_hoppers_density") || name.equals("frmlocust_bands") || name.equals("frmlocust_adults_density") || name.equals("frmlocust_swarms")))
|
||||||
|
{
|
||||||
|
fileAsString = fileToString(context.getRealPath("/resources/QGIS/" + name + ".qgs"));
|
||||||
|
|
||||||
|
//String country_id=request.getParameter("country_id");
|
||||||
|
//String locust_type_id=request.getParameter("locust_type_id");
|
||||||
|
//String date_start=request.getParameter("date_start");
|
||||||
|
//String date_end=request.getParameter("date_end");
|
||||||
|
//String registered=request.getParameter("registered");
|
||||||
|
|
||||||
|
//Make SQL
|
||||||
|
String sql = "1=1";
|
||||||
|
String sql2 = "1=1";
|
||||||
|
if(country_id!=null && !country_id.equals(""))
|
||||||
|
{
|
||||||
|
if(country_id.equals("-1"))
|
||||||
|
{
|
||||||
|
sql+=" and country_id in (7,3,4,2)";
|
||||||
|
sql2+=" and country_id in (7,3,4,2)";
|
||||||
|
}else if(country_id.equals("-2"))
|
||||||
|
{
|
||||||
|
sql+=" and country_id in (7,1,5,6,8,9,10)";
|
||||||
|
sql2+=" and country_id in (7,1,5,6,8,9,10)";
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
sql+=" and country_id="+country_id;
|
||||||
|
sql2+=" and country_id="+country_id;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(locust_type_id!=null && !locust_type_id.equals(""))
|
||||||
|
{
|
||||||
|
sql+=" and locust_type_id="+locust_type_id;
|
||||||
|
}
|
||||||
|
if(date_start!=null && !date_start.equals(""))
|
||||||
|
{
|
||||||
|
sql+=" and date>='"+date_start+"'";
|
||||||
|
}
|
||||||
|
if(date_end!=null && !date_end.equals(""))
|
||||||
|
{
|
||||||
|
sql+=" and date<='"+date_end+"'";
|
||||||
|
}
|
||||||
|
|
||||||
|
if(registered!=null && registered.equals("1"))
|
||||||
|
{
|
||||||
|
sql+=" and registered=true";
|
||||||
|
}else
|
||||||
|
if(registered!=null && registered.equals("0"))
|
||||||
|
{
|
||||||
|
sql+=" and registered=false";
|
||||||
|
}
|
||||||
|
|
||||||
|
//Apply variables to text
|
||||||
|
fileAsString=fileAsString.replaceAll("\\$\\{sql\\}",sql);
|
||||||
|
|
||||||
|
fileAsString=fileAsString.replaceAll("\\$\\{sql2\\}",sql2);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if(name!=null && name.equals("frmlocustdel"))
|
||||||
|
{
|
||||||
|
fileAsString = fileToString(context.getRealPath("/resources/QGIS/" + name + ".qgs"));
|
||||||
|
|
||||||
|
//String country_id=request.getParameter("country_id");
|
||||||
|
//String date_start=request.getParameter("date_start");
|
||||||
|
//String date_end=request.getParameter("date_end");
|
||||||
|
//String registered=request.getParameter("registered");
|
||||||
|
|
||||||
|
//Make SQL
|
||||||
|
String sql = "1=1";
|
||||||
|
String sql2 = "1=1";
|
||||||
|
if(country_id!=null && !country_id.equals(""))
|
||||||
|
{
|
||||||
|
//sql+=" and country_id="+country_id;
|
||||||
|
if(country_id.equals("-1"))
|
||||||
|
{
|
||||||
|
sql+=" and country_id in (7,3,4,2)";
|
||||||
|
sql2+=" and country_id in (7,3,4,2)";
|
||||||
|
}else if(country_id.equals("-2"))
|
||||||
|
{
|
||||||
|
sql+=" and country_id in (7,1,5,6,8,9,10)";
|
||||||
|
sql2+=" and country_id in (7,1,5,6,8,9,10)";
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
sql+=" and country_id="+country_id;
|
||||||
|
sql2+=" and country_id="+country_id;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(date_start!=null && !date_start.equals(""))
|
||||||
|
{
|
||||||
|
sql+=" and date>='"+date_start+"'";
|
||||||
|
}
|
||||||
|
if(date_end!=null && !date_end.equals(""))
|
||||||
|
{
|
||||||
|
sql+=" and date<='"+date_end+"'";
|
||||||
|
}
|
||||||
|
|
||||||
|
if(registered!=null && registered.equals("1"))
|
||||||
|
{
|
||||||
|
sql+=" and registered=true";
|
||||||
|
}else
|
||||||
|
if(registered!=null && registered.equals("0"))
|
||||||
|
{
|
||||||
|
sql+=" and registered=false";
|
||||||
|
}
|
||||||
|
|
||||||
|
//Apply variables to text
|
||||||
|
fileAsString=fileAsString.replaceAll("\\$\\{sql\\}",sql);
|
||||||
|
|
||||||
|
fileAsString=fileAsString.replaceAll("\\$\\{sql2\\}",sql2);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(name!=null && (name.equals("frmlocustinfo_p2") || name.equals("frmlocustinfo_p3") || name.equals("frmlocustinfo_p4")))
|
||||||
|
{
|
||||||
|
//String country_id=request.getParameter("country_id");
|
||||||
|
//String year=request.getParameter("year");
|
||||||
|
//String locust_type_id=request.getParameter("locust_type_id");
|
||||||
|
|
||||||
|
//Make SQL
|
||||||
|
String sql = "1=1";
|
||||||
|
if(country_id!=null && !country_id.equals(""))
|
||||||
|
{
|
||||||
|
if(country_id.equals("-1"))
|
||||||
|
{
|
||||||
|
sql+=" and country_id in (7,3,4,2)";
|
||||||
|
}else if(country_id.equals("-2"))
|
||||||
|
{
|
||||||
|
sql+=" and country_id in (7,1,5,6,8,9,10)";
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
sql+=" and country_id="+country_id;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(locust_type_id!=null && !locust_type_id.equals(""))
|
||||||
|
{
|
||||||
|
sql+=" and locust_type_id="+locust_type_id;
|
||||||
|
}
|
||||||
|
|
||||||
|
fileAsString = fileToString(context.getRealPath("/resources/QGIS/" + name + ".qgs"));
|
||||||
|
//Apply variables to text
|
||||||
|
fileAsString=fileAsString.replaceAll("\\$\\{year\\}",year);
|
||||||
|
fileAsString=fileAsString.replaceAll("\\$\\{sql\\}",sql);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(name!=null && (name.equals("frmlocustinfo_p2r") || name.equals("frmlocustinfo_p3r") || name.equals("frmlocustinfo_p4r")))
|
||||||
|
{
|
||||||
|
//String region_id=request.getParameter("region_id");
|
||||||
|
//String year=request.getParameter("year");
|
||||||
|
//String locust_type_id=request.getParameter("locust_type_id");
|
||||||
|
|
||||||
|
//Make SQL
|
||||||
|
String sql = "1=1";
|
||||||
|
if(region_id!=null && !region_id.equals(""))
|
||||||
|
{
|
||||||
|
sql+=" and region_id="+region_id;
|
||||||
|
}
|
||||||
|
if(locust_type_id!=null && !locust_type_id.equals(""))
|
||||||
|
{
|
||||||
|
sql+=" and locust_type_id="+locust_type_id;
|
||||||
|
}
|
||||||
|
|
||||||
|
fileAsString = fileToString(context.getRealPath("/resources/QGIS/" + name + ".qgs"));
|
||||||
|
//Apply variables to text
|
||||||
|
fileAsString=fileAsString.replaceAll("\\$\\{year\\}",year);
|
||||||
|
fileAsString=fileAsString.replaceAll("\\$\\{sql\\}",sql);
|
||||||
|
}
|
||||||
|
if(name!=null && name.equals("soil_temperature"))
|
||||||
|
{
|
||||||
|
//Make SQL
|
||||||
|
String sql2 = "1=1";
|
||||||
|
if(country_id!=null && !country_id.equals(""))
|
||||||
|
{
|
||||||
|
if(country_id.equals("-1"))
|
||||||
|
{
|
||||||
|
sql2+=" and country_id in (7,3,4,2)";
|
||||||
|
}else if(country_id.equals("-2"))
|
||||||
|
{
|
||||||
|
sql2+=" and country_id in (7,1,5,6,8,9,10)";
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
sql2+=" and country_id="+country_id;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fileAsString = fileToString(context.getRealPath("/resources/QGIS/" + name + ".qgs"));
|
||||||
|
//Apply variables to text
|
||||||
|
fileAsString=fileAsString.replaceAll("\\$\\{country\\}",country_name);
|
||||||
|
fileAsString=fileAsString.replaceAll("\\$\\{sql2\\}",sql2);
|
||||||
|
fileAsString=fileAsString.replaceAll("\\$\\{time\\}",time);
|
||||||
|
}
|
||||||
|
if(name!=null && name.equals("air_temperature"))
|
||||||
|
{
|
||||||
|
//Make SQL
|
||||||
|
String sql2 = "1=1";
|
||||||
|
if(country_id!=null && !country_id.equals(""))
|
||||||
|
{
|
||||||
|
if(country_id.equals("-1"))
|
||||||
|
{
|
||||||
|
sql2+=" and country_id in (7,3,4,2)";
|
||||||
|
}else if(country_id.equals("-2"))
|
||||||
|
{
|
||||||
|
sql2+=" and country_id in (7,1,5,6,8,9,10)";
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
sql2+=" and country_id="+country_id;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fileAsString = fileToString(context.getRealPath("/resources/QGIS/" + name + ".qgs"));
|
||||||
|
//Apply variables to text
|
||||||
|
fileAsString=fileAsString.replaceAll("\\$\\{country\\}",country_name);
|
||||||
|
fileAsString=fileAsString.replaceAll("\\$\\{sql2\\}",sql2);
|
||||||
|
fileAsString=fileAsString.replaceAll("\\$\\{time\\}",time);
|
||||||
|
}
|
||||||
|
if(name!=null && name.equals("precipitation"))
|
||||||
|
{
|
||||||
|
//Make SQL
|
||||||
|
String sql2 = "1=1";
|
||||||
|
if(country_id!=null && !country_id.equals(""))
|
||||||
|
{
|
||||||
|
if(country_id.equals("-1"))
|
||||||
|
{
|
||||||
|
sql2+=" and country_id in (7,3,4,2)";
|
||||||
|
}else if(country_id.equals("-2"))
|
||||||
|
{
|
||||||
|
sql2+=" and country_id in (7,1,5,6,8,9,10)";
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
sql2+=" and country_id="+country_id;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fileAsString = fileToString(context.getRealPath("/resources/QGIS/" + name + ".qgs"));
|
||||||
|
//Apply variables to text
|
||||||
|
fileAsString=fileAsString.replaceAll("\\$\\{country\\}",country_name);
|
||||||
|
fileAsString=fileAsString.replaceAll("\\$\\{sql2\\}",sql2);
|
||||||
|
fileAsString=fileAsString.replaceAll("\\$\\{time\\}",time);
|
||||||
|
}
|
||||||
|
if(name!=null && name.equals("htc_selyaninov"))
|
||||||
|
{
|
||||||
|
//Make SQL
|
||||||
|
String sql2 = "1=1";
|
||||||
|
if(country_id!=null && !country_id.equals(""))
|
||||||
|
{
|
||||||
|
if(country_id.equals("-1"))
|
||||||
|
{
|
||||||
|
sql2+=" and country_id in (7,3,4,2)";
|
||||||
|
}else if(country_id.equals("-2"))
|
||||||
|
{
|
||||||
|
sql2+=" and country_id in (7,1,5,6,8,9,10)";
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
sql2+=" and country_id="+country_id;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fileAsString = fileToString(context.getRealPath("/resources/QGIS/" + name + ".qgs"));
|
||||||
|
//Apply variables to text
|
||||||
|
fileAsString=fileAsString.replaceAll("\\$\\{country\\}",country_name);
|
||||||
|
fileAsString=fileAsString.replaceAll("\\$\\{sql2\\}",sql2);
|
||||||
|
fileAsString=fileAsString.replaceAll("\\$\\{time_start\\}",time_start);
|
||||||
|
fileAsString=fileAsString.replaceAll("\\$\\{time_end\\}",time_end);
|
||||||
|
}
|
||||||
|
if(name!=null && name.equals("NDVI"))
|
||||||
|
{
|
||||||
|
fileAsString = fileToString(context.getRealPath("/resources/QGIS/NDVI.qgs"));
|
||||||
|
if(day!=null && day.length()>0)
|
||||||
|
fileAsString = fileAsString.replaceAll("\\$\\{day\\}",day+"_");
|
||||||
|
else
|
||||||
|
fileAsString = fileAsString.replaceAll("\\$\\{day\\}","");
|
||||||
|
}
|
||||||
|
if(name!=null && name.equals("NDWI"))
|
||||||
|
{
|
||||||
|
fileAsString = fileToString(context.getRealPath("/resources/QGIS/NDWI.qgs"));
|
||||||
|
if(day!=null && day.length()>0)
|
||||||
|
fileAsString = fileAsString.replaceAll("\\$\\{day\\}",day+"_");
|
||||||
|
else
|
||||||
|
fileAsString = fileAsString.replaceAll("\\$\\{day\\}","");
|
||||||
|
}
|
||||||
|
if(name!=null && name.equals("IVI"))
|
||||||
|
{
|
||||||
|
fileAsString = fileToString(context.getRealPath("/resources/QGIS/IVI.qgs"));
|
||||||
|
if(year!=null && year.length()>0)
|
||||||
|
fileAsString = fileAsString.replaceAll("\\$\\{year\\}",year+"_");
|
||||||
|
else
|
||||||
|
fileAsString = fileAsString.replaceAll("\\$\\{year\\}","");
|
||||||
|
}
|
||||||
|
if(name!=null && name.equals("NDWI_CMP"))
|
||||||
|
{
|
||||||
|
fileAsString = fileToString(context.getRealPath("/resources/QGIS/NDWI_CMP.qgs"));
|
||||||
|
if(day!=null && day.length()>0)
|
||||||
|
fileAsString = fileAsString.replaceAll("\\$\\{day\\}",day+"_");
|
||||||
|
else
|
||||||
|
fileAsString = fileAsString.replaceAll("\\$\\{day\\}","");
|
||||||
|
}
|
||||||
|
if(name!=null && name.equals("NDSI"))
|
||||||
|
{
|
||||||
|
fileAsString = fileToString(context.getRealPath("/resources/QGIS/NDSI.qgs"));
|
||||||
|
if(day!=null && day.length()>0)
|
||||||
|
fileAsString = fileAsString.replaceAll("\\$\\{day\\}",day+"_");
|
||||||
|
else
|
||||||
|
fileAsString = fileAsString.replaceAll("\\$\\{day\\}","");
|
||||||
|
}
|
||||||
|
if(name!=null && name.equals("SMAP"))
|
||||||
|
{
|
||||||
|
fileAsString = fileToString(context.getRealPath("/resources/QGIS/SMAP.qgs"));
|
||||||
|
if(day!=null && day.length()>0)
|
||||||
|
fileAsString = fileAsString.replaceAll("\\$\\{day\\}",day+"_");
|
||||||
|
else
|
||||||
|
fileAsString = fileAsString.replaceAll("\\$\\{day\\}","");
|
||||||
|
}
|
||||||
|
|
||||||
|
//Send data
|
||||||
|
fileAsString=getText(conn,fileAsString,user);
|
||||||
|
return new HttpEntity<byte[]>(fileAsString.getBytes(), headers);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setServletContext(ServletContext servletContext) {
|
||||||
|
this.context=servletContext;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String fileToString(String fName)
|
||||||
|
{
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
InputStream is = new FileInputStream(fName);
|
||||||
|
BufferedReader buf = new BufferedReader(new InputStreamReader(is));
|
||||||
|
String line = buf.readLine();
|
||||||
|
while(line != null)
|
||||||
|
{
|
||||||
|
sb.append(line).append("\n");
|
||||||
|
line = buf.readLine();
|
||||||
|
}
|
||||||
|
buf.close();
|
||||||
|
}
|
||||||
|
catch (Exception e){
|
||||||
|
System.out.println("Error: "+e.getMessage());
|
||||||
|
}
|
||||||
|
return sb.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String trt(Connection conn,String key,User user)
|
||||||
|
{
|
||||||
|
String result="";
|
||||||
|
ResultSet rs=null;
|
||||||
|
Statement st = null;
|
||||||
|
try {
|
||||||
|
st = conn.createStatement();
|
||||||
|
String sql = "select case when '"+user.language_id+"'='666' then translation||'''\"' else translation end as translation from main._translations t where t.identifier='"+key+"' and (t.language_id='"+user.language_id+"' or ('"+user.language_id+"'='666' and t.language_id=1));";
|
||||||
|
rs = st.executeQuery(sql);
|
||||||
|
if(rs != null) {
|
||||||
|
if (rs.next()) {
|
||||||
|
result = rs.getString(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch( SQLException ex )
|
||||||
|
{
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}finally{
|
||||||
|
if(st!=null) try{st.close();}catch(SQLException ex) {}
|
||||||
|
if(rs!=null) try{rs.close();}catch(SQLException ex) {}
|
||||||
|
}
|
||||||
|
if(result.equals(""))
|
||||||
|
{
|
||||||
|
result = Tools.replaceAll(key,"_", " ");
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Translate text by patterns
|
||||||
|
public String getText(Connection conn,String text,User user) {
|
||||||
|
int pos1 = 0;
|
||||||
|
while (true) {
|
||||||
|
pos1 = text.indexOf("trt('", pos1);
|
||||||
|
if (pos1 == -1)
|
||||||
|
break;
|
||||||
|
int pos2 = text.indexOf("')", pos1);
|
||||||
|
if (pos2 == -1)
|
||||||
|
break;
|
||||||
|
|
||||||
|
text = text.substring(0, pos1) + trt(conn,text.substring(pos1 + 5, pos2),user) + text.substring(pos2 + 2);
|
||||||
|
}
|
||||||
|
return text;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
500
src/main/java/kz/locust/CCALM/SendMail.java
Normal file
500
src/main/java/kz/locust/CCALM/SendMail.java
Normal file
@ -0,0 +1,500 @@
|
|||||||
|
package kz.locust.CCALM;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
|
import java.io.Reader;
|
||||||
|
import java.util.Properties;
|
||||||
|
import java.util.Calendar;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.sql.*;
|
||||||
|
import javax.xml.parsers.DocumentBuilderFactory;
|
||||||
|
import javax.xml.parsers.DocumentBuilder;
|
||||||
|
import org.w3c.dom.Document;
|
||||||
|
import org.w3c.dom.Element;
|
||||||
|
import org.w3c.dom.NodeList;
|
||||||
|
|
||||||
|
import tools.EmailUtility;
|
||||||
|
import tools.User;
|
||||||
|
|
||||||
|
import javax.servlet.ServletContext;
|
||||||
|
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.core.io.ClassPathResource;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMethod;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
import org.springframework.web.bind.annotation.ResponseBody;
|
||||||
|
import org.springframework.web.bind.annotation.SessionAttributes;
|
||||||
|
import org.springframework.web.context.ServletContextAware;
|
||||||
|
|
||||||
|
@Controller
|
||||||
|
@SessionAttributes( { "user" }) //Сесионный объект
|
||||||
|
public class SendMail implements ServletContextAware {
|
||||||
|
|
||||||
|
private static final org.slf4j.Logger logger = LoggerFactory.getLogger(SendMail.class);
|
||||||
|
|
||||||
|
private ServletContext context;
|
||||||
|
private Connection m_conn = null;
|
||||||
|
private User m_user = null;
|
||||||
|
|
||||||
|
//private Properties m_props=null;
|
||||||
|
public String m_locale="en";
|
||||||
|
|
||||||
|
//private HashMap<String, Properties> m_props = new HashMap< String, Properties>();
|
||||||
|
|
||||||
|
//If not created object "user", create him.
|
||||||
|
@ModelAttribute("user")
|
||||||
|
public User populatePerson() {
|
||||||
|
return new User("none");
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value = "/SendMail",method = RequestMethod.GET,produces = "text/html;charset=UTF-8")
|
||||||
|
@ResponseBody
|
||||||
|
public Object send(@ModelAttribute User user,@RequestParam(required=false,name="lng") String language_id) {
|
||||||
|
|
||||||
|
m_user = user;
|
||||||
|
if(language_id!=null && !language_id.equals(""))
|
||||||
|
user.language_id=language_id;
|
||||||
|
logger.info("user.id="+user.id+" user.name="+user.name+" user.language_id="+user.language_id+" user.country_id="+user.country_id);
|
||||||
|
|
||||||
|
String result="";
|
||||||
|
|
||||||
|
//Load DB configuration from "config.xml"
|
||||||
|
String db_url = "";
|
||||||
|
String db_login = "";
|
||||||
|
String db_password = "";
|
||||||
|
String mail_host = "";
|
||||||
|
String mail_port = "";
|
||||||
|
String mail_login = "";
|
||||||
|
String mail_password = "";
|
||||||
|
//String data_dir = "";
|
||||||
|
try {
|
||||||
|
//String fullPath = context.getRealPath("/WEB-INF/config.xml");
|
||||||
|
//File fXmlFile = new File(fullPath);
|
||||||
|
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||||
|
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||||
|
//Document doc = dBuilder.parse(fXmlFile);
|
||||||
|
Document doc = dBuilder.parse(new ClassPathResource("config.xml").getInputStream());
|
||||||
|
Element nMain = doc.getDocumentElement();
|
||||||
|
NodeList nl = nMain.getChildNodes();
|
||||||
|
for (int i = 0; i < nl.getLength(); i++) {
|
||||||
|
if (nl.item(i).getNodeName().equals("db-url"))
|
||||||
|
db_url = nl.item(i).getTextContent();
|
||||||
|
if (nl.item(i).getNodeName().equals("db-login"))
|
||||||
|
db_login = nl.item(i).getTextContent();
|
||||||
|
if (nl.item(i).getNodeName().equals("db-password"))
|
||||||
|
db_password = nl.item(i).getTextContent();
|
||||||
|
//if (nl.item(i).getNodeName().equals("data-dir"))
|
||||||
|
// data_dir = nl.item(i).getTextContent();
|
||||||
|
if (nl.item(i).getNodeName().equals("mail-host"))
|
||||||
|
mail_host = nl.item(i).getTextContent();
|
||||||
|
if (nl.item(i).getNodeName().equals("mail-port"))
|
||||||
|
mail_port = nl.item(i).getTextContent();
|
||||||
|
if (nl.item(i).getNodeName().equals("mail-login"))
|
||||||
|
mail_login = nl.item(i).getTextContent();
|
||||||
|
if (nl.item(i).getNodeName().equals("mail-password"))
|
||||||
|
mail_password = nl.item(i).getTextContent();
|
||||||
|
|
||||||
|
}
|
||||||
|
} catch (Exception ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
//Connect to database
|
||||||
|
try{
|
||||||
|
Class.forName("org.postgresql.Driver");
|
||||||
|
m_conn = DriverManager.getConnection(db_url,db_login,db_password);
|
||||||
|
if(m_conn!=null)
|
||||||
|
{
|
||||||
|
logger.info("Connect is OK!");
|
||||||
|
result+="Connect is OK!<br>";
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
logger.info("<br>Connect is ERROR<br>");
|
||||||
|
result+="Connect is ERROR!<br>";
|
||||||
|
}
|
||||||
|
}catch(Exception e)
|
||||||
|
{
|
||||||
|
logger.info("<br>Connect Exception:"+e.getMessage()+"<br>");
|
||||||
|
result+="Connect Exception:"+e.getMessage()+"<br>";
|
||||||
|
}
|
||||||
|
|
||||||
|
/*String string = "2016-07-05";
|
||||||
|
DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
|
Date date = format.parse(string);*/
|
||||||
|
|
||||||
|
//int Day_s,Day_e;
|
||||||
|
//int Month_s,Month_e;
|
||||||
|
//int Year_s,Year_e;
|
||||||
|
|
||||||
|
Calendar calendar_s = Calendar.getInstance();
|
||||||
|
//calendar_s.setTime(date);
|
||||||
|
calendar_s.set(Calendar.DATE, 1);
|
||||||
|
calendar_s.add(Calendar.MONTH, -1); //минус месяц
|
||||||
|
|
||||||
|
Calendar calendar_e = Calendar.getInstance();
|
||||||
|
//calendar_e.setTime(date);
|
||||||
|
calendar_e.set(Calendar.DATE, 1);
|
||||||
|
|
||||||
|
String start_t = String.valueOf(calendar_s.getTimeInMillis()/1000);
|
||||||
|
String end_t = String.valueOf(calendar_e.getTimeInMillis()/1000);
|
||||||
|
|
||||||
|
//Формирую сообщение для каждой страны потом присваиваю пользователям из данной страны
|
||||||
|
String sql1="select c.id,c.name,u.email,l.short_name as language from main.countries c join main._users u on u.country_id=c.id join main._languages l on l.id=u.language_id where u.del=false and u.mailing=true order by c.name;";
|
||||||
|
Statement st1;
|
||||||
|
ResultSet rs1=null;
|
||||||
|
try {
|
||||||
|
st1 = m_conn.createStatement();
|
||||||
|
rs1 = st1.executeQuery(sql1);
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
result+="<br>Exec Exception:"+ex.getMessage()+"<br>";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if(rs1!=null)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
while (rs1.next()) //Пробегаюсь по странам и генерю сообщение
|
||||||
|
{
|
||||||
|
String html="<html><body>";
|
||||||
|
|
||||||
|
String country_id=rs1.getString("id");
|
||||||
|
String country_name=rs1.getString("name");
|
||||||
|
m_locale=rs1.getString("language");
|
||||||
|
String email = rs1.getString("email");
|
||||||
|
|
||||||
|
html="<h2>"+country_name+"</h2>";
|
||||||
|
result+=html+m_locale;
|
||||||
|
|
||||||
|
//Build HTML and send it to e-mail
|
||||||
|
String sql=""
|
||||||
|
+"select cr.name region_name,coalesce(t1.danger,0) danger,coalesce(t2.attention,0) attention,coalesce(t3.quietly,0) quietly from\n"
|
||||||
|
+" main.countriesregions cr\n"
|
||||||
|
+" left join (SELECT region_id,sum(1) as danger from main.frmlocust fl join main.terminals t on t.serial=fl.device_id where fl.del=false and t.del=false and (fl.date>to_timestamp("+start_t+") and fl.date<to_timestamp("+end_t+")) and COALESCE(fl.eggs_capsules_density, fl.eggs_capsules_density_to)::double precision + COALESCE(fl.eggs_capsules_density_to, fl.eggs_capsules_density)::double precision / 2::double precision > 1 group by region_id) t1 on cr.id=t1.region_id\n"
|
||||||
|
+" left join (SELECT region_id,sum(1) as attention from main.frmlocust fl join main.terminals t on t.serial=fl.device_id where fl.del=false and t.del=false and (fl.date>to_timestamp("+start_t+") and fl.date<to_timestamp("+end_t+")) and COALESCE(fl.eggs_capsules_density, fl.eggs_capsules_density_to)::double precision + COALESCE(fl.eggs_capsules_density_to, fl.eggs_capsules_density)::double precision / 2::double precision > 0 and COALESCE(fl.eggs_capsules_density, fl.eggs_capsules_density_to)::double precision + COALESCE(fl.eggs_capsules_density_to, fl.eggs_capsules_density)::double precision / 2::double precision <= 1 group by region_id) t2 on cr.id=t2.region_id\n"
|
||||||
|
+" left join (SELECT region_id,sum(1) as quietly from main.frmlocust fl join main.terminals t on t.serial=fl.device_id where fl.del=false and t.del=false and (fl.date>to_timestamp("+start_t+") and fl.date<to_timestamp("+end_t+")) and COALESCE(fl.eggs_capsules_density, fl.eggs_capsules_density_to)::double precision + COALESCE(fl.eggs_capsules_density_to, fl.eggs_capsules_density)::double precision / 2::double precision = 0 group by region_id) t3 on cr.id=t3.region_id\n"
|
||||||
|
+"where\n"
|
||||||
|
+" cr.del=false\n"
|
||||||
|
+" and (t1.danger is not null or t2.attention is not null or t3.quietly is not null)\n"
|
||||||
|
+" and cr.country_id="+country_id;
|
||||||
|
|
||||||
|
Statement st = m_conn.createStatement();
|
||||||
|
ResultSet rs=null;
|
||||||
|
try {
|
||||||
|
rs = st.executeQuery(sql);
|
||||||
|
} catch( SQLException ex ) {
|
||||||
|
result+="<br>Exec Exception:"+ex.getMessage()+"<br>";
|
||||||
|
}
|
||||||
|
|
||||||
|
html+="<h3>"+trt("Egg_pods_density")+"</h3>";
|
||||||
|
|
||||||
|
//SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
|
|
||||||
|
html+=trt("From_date")+": "+sdf.format(new Date(Long.parseLong(start_t)*1000));
|
||||||
|
html+="<br>"+trt("To_date")+": "+sdf.format(new Date(Long.parseLong(end_t)*1000));
|
||||||
|
|
||||||
|
html+="<table border=\"1\" style=\"border-collapse: collapse;\">";
|
||||||
|
html+="<tr style=\"background-color:#dadada;\"><th>"+trt("Oblast")+"</th><th><img src=\"http://ccalm.org/resources/engine/images/icons/marker_r.png\" alt=\"\" align=\"left\">"+trt("Number_forms")+" \""+trt("Danger")+"\"<br>("+trt("Egg_pods_density")+" > 1)</th><th><img src=\"http://ccalm.org/resources/engine/images/icons/marker_y.png\" alt=\"\" align=\"left\">"+trt("Number_forms")+" \""+trt("Attention")+"\"<br>("+trt("Egg_pods_density")+" <= 1)</th><th><img src=\"http://ccalm.org/resources/engine/images/icons/marker_g.png\" alt=\"\" align=\"left\">"+trt("Number_forms")+" \""+trt("Quietly")+"\"<br>("+trt("Egg_pods_density")+" = 0)</th></tr>";
|
||||||
|
|
||||||
|
boolean exists=false;
|
||||||
|
if(rs!=null)
|
||||||
|
{
|
||||||
|
while (rs.next())
|
||||||
|
{
|
||||||
|
html+="<tr>";
|
||||||
|
html+="<td>"+rs.getString("region_name")+"</td>";
|
||||||
|
html+="<td>"+rs.getString("danger")+"</td>";
|
||||||
|
html+="<td>"+rs.getString("attention")+"</td>";
|
||||||
|
html+="<td>"+rs.getString("quietly")+"</td>";
|
||||||
|
html+="</tr>";
|
||||||
|
|
||||||
|
exists=true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
st.close();
|
||||||
|
if(!exists) html+="<td colspan=\"4\" style=\"text-align:center;font-weight:bold;\">"+trt("No_data")+"</td>";
|
||||||
|
html+="</table>";
|
||||||
|
html+="<a target=\"_blank\" href=\"http://ccalm.org/engine/?&cmd=FrmLocust&country_id="+country_id+"&date_start="+sdf.format(new Date(Long.parseLong(start_t)*1000))+"&date_end="+sdf.format(new Date(Long.parseLong(end_t)*1000))+"®istered=1&indicator=1\">"+trt("Open_data_on_the_map")+"</a>";
|
||||||
|
html+="<br><br>";
|
||||||
|
|
||||||
|
//Adult_density
|
||||||
|
//плотности имаго
|
||||||
|
sql=""
|
||||||
|
+" select cr.name region_name,coalesce(t1.danger,0) danger,coalesce(t2.attention,0) attention,coalesce(t3.quietly,0) quietly from\n"
|
||||||
|
+" main.countriesregions cr\n"
|
||||||
|
+" left join (SELECT region_id,sum(1) as danger from main.frmlocust fl join main.terminals t on t.serial=fl.device_id where fl.del=false and t.del=false and (fl.date>to_timestamp("+start_t+") and fl.date<to_timestamp("+end_t+")) and imago_density >= 5 group by region_id) t1 on cr.id=t1.region_id\n"
|
||||||
|
+" left join (SELECT region_id,sum(1) as attention from main.frmlocust fl join main.terminals t on t.serial=fl.device_id where fl.del=false and t.del=false and (fl.date>to_timestamp("+start_t+") and fl.date<to_timestamp("+end_t+")) and imago_density >= 3 and imago_density < 5 group by region_id) t2 on cr.id=t2.region_id\n"
|
||||||
|
+" left join (SELECT region_id,sum(1) as quietly from main.frmlocust fl join main.terminals t on t.serial=fl.device_id where fl.del=false and t.del=false and (fl.date>to_timestamp("+start_t+") and fl.date<to_timestamp("+end_t+")) and imago_density <= 2 group by region_id) t3 on cr.id=t3.region_id\n"
|
||||||
|
+"where\n"
|
||||||
|
+" cr.del=false\n"
|
||||||
|
+" and (t1.danger is not null or t2.attention is not null or t3.quietly is not null)\n"
|
||||||
|
+" and cr.country_id="+country_id;
|
||||||
|
|
||||||
|
|
||||||
|
st = m_conn.createStatement();
|
||||||
|
rs=null;
|
||||||
|
try {
|
||||||
|
rs = st.executeQuery(sql);
|
||||||
|
} catch( SQLException ex ) {
|
||||||
|
result+="<br>Exec Exception:"+ex.getMessage()+"<br>";
|
||||||
|
}
|
||||||
|
|
||||||
|
html+="<h3>"+trt("Adult_density")+"</h3>";
|
||||||
|
|
||||||
|
html+=trt("From_date")+": "+sdf.format(new Date(Long.parseLong(start_t)*1000));
|
||||||
|
html+="<br>"+trt("To_date")+": "+sdf.format(new Date(Long.parseLong(end_t)*1000));
|
||||||
|
|
||||||
|
html+="<table border=\"1\" style=\"border-collapse: collapse;\">";
|
||||||
|
html+="<tr style=\"background-color:#dadada;\"><th>"+trt("Oblast")+"</th><th><img src=\"http://ccalm.org/resources/engine/images/icons/marker_r.png\" alt=\"\" align=\"left\">"+trt("Number_forms")+" \""+trt("Dangerous")+"\"<br>("+trt("Adult_density")+" >=5)</th><th><img src=\"http://ccalm.org/resources/engine/images/icons/marker_y.png\" alt=\"\" align=\"left\">"+trt("Number_forms")+" \""+trt("Attention")+"\"<br>("+trt("Adult_density")+" >=3 "+trt("and")+" <5)</th><th><img src=\"http://ccalm.org/resources/engine/images/icons/marker_g.png\" alt=\"\" align=\"left\">"+trt("Number_forms")+" \""+trt("Quietly")+"\"<br>("+trt("Adult_density")+" <=2)</th></tr>";
|
||||||
|
|
||||||
|
exists=false;
|
||||||
|
if(rs!=null)
|
||||||
|
{
|
||||||
|
while (rs.next())
|
||||||
|
{
|
||||||
|
html+="<tr>";
|
||||||
|
html+="<td>"+rs.getString("region_name")+"</td>";
|
||||||
|
html+="<td>"+rs.getString("danger")+"</td>";
|
||||||
|
html+="<td>"+rs.getString("attention")+"</td>";
|
||||||
|
html+="<td>"+rs.getString("quietly")+"</td>";
|
||||||
|
html+="</tr>";
|
||||||
|
|
||||||
|
exists=true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
st.close();
|
||||||
|
if(!exists) html+="<td colspan=\"5\" style=\"text-align:center;font-weight:bold;\">"+trt("No_data")+"</td>";
|
||||||
|
html+="</table>";
|
||||||
|
html+="<a target=\"_blank\" href=\"http://ccalm.org/engine/?&cmd=FrmLocust&country_id="+country_id+"&date_start="+sdf.format(new Date(Long.parseLong(start_t)*1000))+"&date_end="+sdf.format(new Date(Long.parseLong(end_t)*1000))+"®istered=1&indicator=4\">"+trt("Open_data_on_the_map")+"</a>";
|
||||||
|
html+="<br><br>";
|
||||||
|
|
||||||
|
|
||||||
|
//Hopper_density
|
||||||
|
sql=""
|
||||||
|
+" select cr.name region_name,coalesce(t1.danger,0) danger,coalesce(t2.attention,0) attention,coalesce(t3.quietly,0) quietly from\n"
|
||||||
|
+" main.countriesregions cr\n"
|
||||||
|
+" left join (SELECT region_id,sum(1) as danger from main.frmlocust fl join main.terminals t on t.serial=fl.device_id where fl.del=false and t.del=false and (fl.date>to_timestamp("+start_t+") and fl.date<to_timestamp("+end_t+")) and COALESCE(fl.larva_density, fl.larva_density_to)::double precision + COALESCE(fl.larva_density_to, fl.larva_density)::double precision / 2::double precision >= 5 group by region_id) t1 on cr.id=t1.region_id\n"
|
||||||
|
+" left join (SELECT region_id,sum(1) as attention from main.frmlocust fl join main.terminals t on t.serial=fl.device_id where fl.del=false and t.del=false and (fl.date>to_timestamp("+start_t+") and fl.date<to_timestamp("+end_t+")) and COALESCE(fl.larva_density, fl.larva_density_to)::double precision + COALESCE(fl.larva_density_to, fl.larva_density)::double precision / 2::double precision >= 3 and COALESCE(fl.larva_density, fl.larva_density_to)::double precision + COALESCE(fl.larva_density_to, fl.larva_density)::double precision / 2::double precision < 5 group by region_id) t2 on cr.id=t2.region_id\n"
|
||||||
|
+" left join (SELECT region_id,sum(1) as quietly from main.frmlocust fl join main.terminals t on t.serial=fl.device_id where fl.del=false and t.del=false and (fl.date>to_timestamp("+start_t+") and fl.date<to_timestamp("+end_t+")) and COALESCE(fl.larva_density, fl.larva_density_to)::double precision + COALESCE(fl.larva_density_to, fl.larva_density)::double precision / 2::double precision <= 2 group by region_id) t3 on cr.id=t3.region_id\n"
|
||||||
|
+"where\n"
|
||||||
|
+" cr.del=false\n"
|
||||||
|
+" and (t1.danger is not null or t2.attention is not null or t3.quietly is not null)\n"
|
||||||
|
+" and cr.country_id="+country_id;
|
||||||
|
|
||||||
|
st = m_conn.createStatement();
|
||||||
|
rs=null;
|
||||||
|
try {
|
||||||
|
rs = st.executeQuery(sql);
|
||||||
|
} catch( SQLException ex ) {
|
||||||
|
result+="<br>Exec Exception:"+ex.getMessage()+"<br>";
|
||||||
|
}
|
||||||
|
|
||||||
|
html+="<h3>"+trt("Hopper_density")+"</h3>";
|
||||||
|
|
||||||
|
html+=trt("From_date")+": "+sdf.format(new Date(Long.parseLong(start_t)*1000));
|
||||||
|
html+="<br>"+trt("To_date")+": "+sdf.format(new Date(Long.parseLong(end_t)*1000));
|
||||||
|
|
||||||
|
html+="<table border=\"1\" style=\"border-collapse: collapse;\">";
|
||||||
|
html+="<tr style=\"background-color:#dadada;\"><th>"+trt("Oblast")+"</th><th><img src=\"http://ccalm.org/resources/engine/images/icons/marker_r.png\" alt=\"\" align=\"left\">"+trt("Number_forms")+" \""+trt("Dangerous")+"\"<br>("+trt("Hopper_density")+" >=5)</th><th><img src=\"http://ccalm.org/resources/engine/images/icons/marker_y.png\" alt=\"\" align=\"left\">"+trt("Number_forms")+" \""+trt("Attention")+"\"<br>("+trt("Hopper_density")+" >=3 "+trt("and")+" <5)</th><th><img src=\"http://ccalm.org/resources/engine/images/icons/marker_g.png\" alt=\"\" align=\"left\">"+trt("Number_forms")+" \""+trt("Quietly")+"\"<br>("+trt("Hopper_density")+" <=2)</th></tr>";
|
||||||
|
|
||||||
|
exists=false;
|
||||||
|
if(rs!=null)
|
||||||
|
{
|
||||||
|
while (rs.next())
|
||||||
|
{
|
||||||
|
html+="<tr>";
|
||||||
|
html+="<td>"+rs.getString("region_name")+"</td>";
|
||||||
|
html+="<td>"+rs.getString("danger")+"</td>";
|
||||||
|
html+="<td>"+rs.getString("attention")+"</td>";
|
||||||
|
html+="<td>"+rs.getString("quietly")+"</td>";
|
||||||
|
html+="</tr>";
|
||||||
|
|
||||||
|
exists=true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
st.close();
|
||||||
|
if(!exists) html+="<td colspan=\"5\" style=\"text-align:center;font-weight:bold;\">"+trt("No_data")+"</td>";
|
||||||
|
html+="</table>";
|
||||||
|
html+="<a target=\"_blank\" href=\"http://ccalm.org/engine/?&cmd=FrmLocust&country_id="+country_id+"&date_start="+sdf.format(new Date(Long.parseLong(start_t)*1000))+"&date_end="+sdf.format(new Date(Long.parseLong(end_t)*1000))+"®istered=1&indicator=2\">"+trt("Open_data_on_the_map")+"</a>";
|
||||||
|
html+="<br><br>";
|
||||||
|
|
||||||
|
sql=""
|
||||||
|
+" select cr.name region_name,coalesce(t1.danger,0) danger,coalesce(t3.quietly,0) quietly from\n"
|
||||||
|
+" main.countriesregions cr\n"
|
||||||
|
+" left join (SELECT region_id,sum(1) as danger from main.frmlocust fl join main.terminals t on t.serial=fl.device_id where fl.del=false and t.del=false and (fl.date>to_timestamp("+start_t+") and fl.date<to_timestamp("+end_t+")) and (kuliguli_size >= 1 or kuliguli_density>=1 or kuliguli_density_to>=1) group by region_id) t1 on cr.id=t1.region_id\n"
|
||||||
|
+" left join (SELECT region_id,sum(1) as quietly from main.frmlocust fl join main.terminals t on t.serial=fl.device_id where fl.del=false and t.del=false and (fl.date>to_timestamp("+start_t+") and fl.date<to_timestamp("+end_t+")) and (kuliguli_size < 1 or kuliguli_size is null) group by region_id) t3 on cr.id=t3.region_id\n"
|
||||||
|
+" where\n"
|
||||||
|
+" cr.del=false\n"
|
||||||
|
+" and (t1.danger is not null or t3.quietly is not null)\n"
|
||||||
|
+" and cr.country_id="+country_id;
|
||||||
|
|
||||||
|
st = m_conn.createStatement();
|
||||||
|
rs=null;
|
||||||
|
try {
|
||||||
|
rs = st.executeQuery(sql);
|
||||||
|
} catch( SQLException ex ) {
|
||||||
|
result+="<br>Exec Exception:"+ex.getMessage()+"<br>";
|
||||||
|
}
|
||||||
|
|
||||||
|
html+="<h3>"+trt("Number_of_bands")+"</h3>";
|
||||||
|
html+=trt("From_date")+": "+sdf.format(new Date(Long.parseLong(start_t)*1000));
|
||||||
|
html+="<br>"+trt("To_date")+": "+sdf.format(new Date(Long.parseLong(end_t)*1000));
|
||||||
|
|
||||||
|
html+="<table border=\"1\" style=\"border-collapse: collapse;\">";
|
||||||
|
html+="<tr style=\"background-color:#dadada;\"><th>"+trt("Oblast")+"</th><th><img src=\"http://ccalm.org/resources/engine/images/icons/marker_r.png\" alt=\"\" align=\"left\">"+trt("Number_forms")+" \""+trt("Dangerous")+"\"<br>("+trt("Number_of_bands")+" >=1)</th><th><img src=\"http://ccalm.org/resources/engine/images/icons/marker_g.png\" alt=\"\" align=\"left\">"+trt("Number_forms")+" \""+trt("Quietly")+"\"<br>("+trt("Number_of_bands")+" <1)</th></tr>";
|
||||||
|
|
||||||
|
exists=false;
|
||||||
|
if(rs!=null)
|
||||||
|
{
|
||||||
|
while (rs.next())
|
||||||
|
{
|
||||||
|
html+="<tr>";
|
||||||
|
html+="<td>"+rs.getString("region_name")+"</td>";
|
||||||
|
html+="<td>"+rs.getString("danger")+"</td>";
|
||||||
|
html+="<td>"+rs.getString("quietly")+"</td>";
|
||||||
|
html+="</tr>";
|
||||||
|
|
||||||
|
exists=true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
st.close();
|
||||||
|
if(!exists) html+="<td colspan=\"3\" style=\"text-align:center;font-weight:bold;\">"+trt("No_data")+"</td>";
|
||||||
|
html+="</table>";
|
||||||
|
html+="<a target=\"_blank\" href=\"http://ccalm.org/engine/?&cmd=FrmLocust&country_id="+country_id+"&date_start="+sdf.format(new Date(Long.parseLong(start_t)*1000))+"&date_end="+sdf.format(new Date(Long.parseLong(end_t)*1000))+"®istered=1&indicator=3\">"+trt("Open_data_on_the_map")+"</a>";
|
||||||
|
html+="<br><br>";
|
||||||
|
|
||||||
|
sql=""
|
||||||
|
+" select cr.name region_name,coalesce(t1.danger,0) danger,coalesce(t3.quietly,0) quietly from\n"
|
||||||
|
+" main.countriesregions cr\n"
|
||||||
|
+" left join (SELECT region_id,sum(1) as danger from main.frmlocust fl join main.terminals t on t.serial=fl.device_id where fl.del=false and t.del=false and (fl.date>to_timestamp("+start_t+") and fl.date<to_timestamp("+end_t+")) and (swarm_maturity is not null or swarm_density_id is not null) group by region_id) t1 on cr.id=t1.region_id\n"
|
||||||
|
+" left join (SELECT region_id,sum(1) as quietly from main.frmlocust fl join main.terminals t on t.serial=fl.device_id where fl.del=false and t.del=false and (fl.date>to_timestamp("+start_t+") and fl.date<to_timestamp("+end_t+")) and (swarm_maturity is null and swarm_density_id is null) group by region_id) t3 on cr.id=t3.region_id\n"
|
||||||
|
+" where\n"
|
||||||
|
+" cr.del=false\n"
|
||||||
|
+" and (t1.danger is not null or t3.quietly is not null)\n"
|
||||||
|
+" and cr.country_id="+country_id;
|
||||||
|
|
||||||
|
st = m_conn.createStatement();
|
||||||
|
rs=null;
|
||||||
|
try {
|
||||||
|
rs = st.executeQuery(sql);
|
||||||
|
} catch( SQLException ex ) {
|
||||||
|
result+="<br>Exec Exception:"+ex.getMessage()+"<br>";
|
||||||
|
}
|
||||||
|
|
||||||
|
html+="<h3>"+trt("Number_of_swarms")+"</h3>";
|
||||||
|
html+=trt("From_date")+": "+sdf.format(new Date(Long.parseLong(start_t)*1000));
|
||||||
|
html+="<br>"+trt("To_date")+": "+sdf.format(new Date(Long.parseLong(end_t)*1000));
|
||||||
|
|
||||||
|
html+="<table border=\"1\" style=\"border-collapse: collapse;\">";
|
||||||
|
html+="<tr style=\"background-color:#dadada;\"><th>"+trt("Oblast")+"</th><th><img src=\"http://ccalm.org/resources/engine/images/icons/marker_r.png\" alt=\"\" align=\"left\">"+trt("Number_forms")+" \""+trt("Dangerous")+"\"<br>("+trt("Number_of_swarms")+" >=1)</th><th><img src=\"http://ccalm.org/resources/engine/images/icons/marker_g.png\" alt=\"\" align=\"left\">"+trt("Number_forms")+" \""+trt("Quietly")+"\"<br>("+trt("Number_of_swarms")+" <1)</th></tr>";
|
||||||
|
|
||||||
|
exists=false;
|
||||||
|
if(rs!=null)
|
||||||
|
{
|
||||||
|
while (rs.next())
|
||||||
|
{
|
||||||
|
html+="<tr>";
|
||||||
|
html+="<td>"+rs.getString("region_name")+"</td>";
|
||||||
|
html+="<td>"+rs.getString("danger")+"</td>";
|
||||||
|
html+="<td>"+rs.getString("quietly")+"</td>";
|
||||||
|
html+="</tr>";
|
||||||
|
|
||||||
|
exists=true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
st.close();
|
||||||
|
if(!exists) html+="<td colspan=\"5\" style=\"text-align:center;font-weight:bold;\">"+trt("No_data")+"</td>";
|
||||||
|
html+="</table>";
|
||||||
|
html+="<a target=\"_blank\" href=\"http://ccalm.org/engine/?&cmd=FrmLocust&country_id="+country_id+"&date_start="+sdf.format(new Date(Long.parseLong(start_t)*1000))+"&date_end="+sdf.format(new Date(Long.parseLong(end_t)*1000))+"®istered=1&indicator=5\">"+trt("Open_data_on_the_map")+"</a>";
|
||||||
|
html+="<br><br>";
|
||||||
|
|
||||||
|
html+="</body></html>";
|
||||||
|
|
||||||
|
|
||||||
|
/*String mail_host="";
|
||||||
|
String mail_port="";
|
||||||
|
String mail_login="";
|
||||||
|
String mail_password="";*/
|
||||||
|
|
||||||
|
try {
|
||||||
|
EmailUtility.sendEmail(mail_host, mail_port, mail_login, mail_password, email, "Locust statistics", html);
|
||||||
|
//result = "The e-mail was sent successfully";
|
||||||
|
} catch (Exception ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
//result = "There were an error: " + ex.getMessage();
|
||||||
|
} finally {
|
||||||
|
//request.setAttribute("Message", resultMessage);
|
||||||
|
//getServletContext().getRequestDispatcher("/Result.jsp").forward(request, response);
|
||||||
|
}
|
||||||
|
html="";
|
||||||
|
}
|
||||||
|
} catch (NumberFormatException ex) {
|
||||||
|
result+="<br>Exec Exception:"+ex.getMessage()+"<br>";
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
result+="<br>Exec Exception:"+ex.getMessage()+"<br>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
@Override
|
||||||
|
public void setServletContext(ServletContext servletContext) {
|
||||||
|
this.context=servletContext;
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
public String trt(String key)
|
||||||
|
{
|
||||||
|
String result="";
|
||||||
|
if(m_conn!=null) {
|
||||||
|
ResultSet rs=null;
|
||||||
|
Statement st = null;
|
||||||
|
try {
|
||||||
|
st = m_conn.createStatement();
|
||||||
|
String sql = "select case when '"+m_user.language_id+"'='666' then translation||'''\"' else translation end as translation from main._translations t where t.identifier='"+key+"' and (t.language_id='"+m_user.language_id+"' or ('"+m_user.language_id+"'='666' and t.language_id=1));";
|
||||||
|
rs = st.executeQuery(sql);
|
||||||
|
if(rs != null) {
|
||||||
|
if (rs.next()) {
|
||||||
|
result = rs.getString(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch( SQLException ex )
|
||||||
|
{
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}finally{
|
||||||
|
if(st!=null) try{st.close();}catch(SQLException ex) {}
|
||||||
|
if(rs!=null) try{rs.close();}catch(SQLException ex) {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(result.equals(""))
|
||||||
|
{
|
||||||
|
result = key.replaceAll("_", " ");
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
//Translate text by patterns
|
||||||
|
public String getText(String text) {
|
||||||
|
int pos1 = 0;
|
||||||
|
while (true) {
|
||||||
|
pos1 = text.indexOf("trt('", pos1);
|
||||||
|
if (pos1 == -1)
|
||||||
|
break;
|
||||||
|
int pos2 = text.indexOf("')", pos1);
|
||||||
|
if (pos2 == -1)
|
||||||
|
break;
|
||||||
|
|
||||||
|
text = text.substring(0, pos1) + trt(text.substring(pos1 + 5, pos2)) + text.substring(pos2 + 2);
|
||||||
|
}
|
||||||
|
return text;
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
}
|
||||||
47
src/main/java/kz/locust/CCALM/Session.java
Normal file
47
src/main/java/kz/locust/CCALM/Session.java
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
package kz.locust.CCALM;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
|
import org.json.JSONObject;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMethod;
|
||||||
|
import org.springframework.web.bind.annotation.ResponseBody;
|
||||||
|
import org.springframework.web.bind.annotation.SessionAttributes;
|
||||||
|
|
||||||
|
import tools.User;
|
||||||
|
|
||||||
|
@Controller
|
||||||
|
@SessionAttributes( { "user" })
|
||||||
|
public class Session {
|
||||||
|
|
||||||
|
//If not created object "user", create him.
|
||||||
|
@ModelAttribute("user")
|
||||||
|
public User populatePerson() {
|
||||||
|
return new User("none");
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value = "/session", method = {RequestMethod.GET, RequestMethod.POST })
|
||||||
|
@ResponseBody
|
||||||
|
public Object ajaxTest(@ModelAttribute User user,HttpServletResponse response) {
|
||||||
|
|
||||||
|
response.setHeader("Cache-Control", "no-cache, no-store, max-age=0, must-revalidate");
|
||||||
|
JSONObject obj = new JSONObject();
|
||||||
|
if(user.id==null || user.id.equals("") || user.id.equals("null"))
|
||||||
|
obj.put("result", "ERROR");
|
||||||
|
else {
|
||||||
|
obj.put("result", "OK");
|
||||||
|
obj.put("user_id", user.id);
|
||||||
|
}
|
||||||
|
|
||||||
|
return obj.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
/*class Result
|
||||||
|
{
|
||||||
|
public String result;
|
||||||
|
Result(String result){this.result=result;}
|
||||||
|
}*/
|
||||||
|
|
||||||
|
}
|
||||||
202
src/main/java/kz/locust/CCALM/TestFiles.java
Normal file
202
src/main/java/kz/locust/CCALM/TestFiles.java
Normal file
@ -0,0 +1,202 @@
|
|||||||
|
package kz.locust.CCALM;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.sql.Connection;
|
||||||
|
import java.sql.DriverManager;
|
||||||
|
import java.sql.ResultSet;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import java.sql.Statement;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
import javax.servlet.ServletContext;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import javax.xml.parsers.DocumentBuilder;
|
||||||
|
import javax.xml.parsers.DocumentBuilderFactory;
|
||||||
|
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.core.io.ClassPathResource;
|
||||||
|
import org.springframework.http.HttpEntity;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMethod;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
import org.springframework.web.bind.annotation.ResponseBody;
|
||||||
|
import org.springframework.web.bind.annotation.SessionAttributes;
|
||||||
|
import org.springframework.web.context.ServletContextAware;
|
||||||
|
import org.w3c.dom.Document;
|
||||||
|
import org.w3c.dom.Element;
|
||||||
|
import org.w3c.dom.NodeList;
|
||||||
|
|
||||||
|
@Controller
|
||||||
|
public class TestFiles implements ServletContextAware {
|
||||||
|
|
||||||
|
private static final org.slf4j.Logger logger = LoggerFactory.getLogger(SendMail.class);
|
||||||
|
|
||||||
|
private ServletContext context;
|
||||||
|
|
||||||
|
@RequestMapping(value = "/TestFiles",method = RequestMethod.GET,produces = "text/html;charset=UTF-8")
|
||||||
|
@ResponseBody
|
||||||
|
public Object ajaxTamer()
|
||||||
|
{
|
||||||
|
String result="";
|
||||||
|
|
||||||
|
//Load DB configuration from "config.xml"
|
||||||
|
String db_url = "";
|
||||||
|
String db_login = "";
|
||||||
|
String db_password = "";
|
||||||
|
String mail_host = "";
|
||||||
|
String mail_port = "";
|
||||||
|
String mail_login = "";
|
||||||
|
String mail_password = "";
|
||||||
|
//String data_dir = "";
|
||||||
|
try {
|
||||||
|
//String fullPath = context.getRealPath("/WEB-INF/config.xml");
|
||||||
|
//File fXmlFile = new File(fullPath);
|
||||||
|
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||||
|
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||||
|
//Document doc = dBuilder.parse(fXmlFile);
|
||||||
|
Document doc = dBuilder.parse(new ClassPathResource("config.xml").getInputStream());
|
||||||
|
Element nMain = doc.getDocumentElement();
|
||||||
|
NodeList nl = nMain.getChildNodes();
|
||||||
|
for (int i = 0; i < nl.getLength(); i++) {
|
||||||
|
if (nl.item(i).getNodeName().equals("db-url"))
|
||||||
|
db_url = nl.item(i).getTextContent();
|
||||||
|
if (nl.item(i).getNodeName().equals("db-login"))
|
||||||
|
db_login = nl.item(i).getTextContent();
|
||||||
|
if (nl.item(i).getNodeName().equals("db-password"))
|
||||||
|
db_password = nl.item(i).getTextContent();
|
||||||
|
//if (nl.item(i).getNodeName().equals("data-dir"))
|
||||||
|
// data_dir = nl.item(i).getTextContent();
|
||||||
|
if (nl.item(i).getNodeName().equals("mail-host"))
|
||||||
|
mail_host = nl.item(i).getTextContent();
|
||||||
|
if (nl.item(i).getNodeName().equals("mail-port"))
|
||||||
|
mail_port = nl.item(i).getTextContent();
|
||||||
|
if (nl.item(i).getNodeName().equals("mail-login"))
|
||||||
|
mail_login = nl.item(i).getTextContent();
|
||||||
|
if (nl.item(i).getNodeName().equals("mail-password"))
|
||||||
|
mail_password = nl.item(i).getTextContent();
|
||||||
|
|
||||||
|
}
|
||||||
|
} catch (Exception ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
//Connect to database
|
||||||
|
Connection conn = null;
|
||||||
|
try{
|
||||||
|
Class.forName("org.postgresql.Driver");
|
||||||
|
conn = DriverManager.getConnection(db_url,db_login,db_password);
|
||||||
|
if(conn!=null)
|
||||||
|
{
|
||||||
|
logger.info("Connect is OK!");
|
||||||
|
result+="Connect is OK!<br>";
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
logger.info("<br>Connect is ERROR<br>");
|
||||||
|
result+="Connect is ERROR!<br>";
|
||||||
|
}
|
||||||
|
}catch(Exception e)
|
||||||
|
{
|
||||||
|
logger.info("<br>Connect Exception:"+e.getMessage()+"<br>");
|
||||||
|
result+="Connect Exception:"+e.getMessage()+"<br>";
|
||||||
|
}
|
||||||
|
|
||||||
|
String sql;
|
||||||
|
Statement st;
|
||||||
|
ResultSet rs=null;
|
||||||
|
|
||||||
|
result+="image_name1<br><br>";
|
||||||
|
sql="select image_name1 as name from main.frmlocustdel where image_name1 is not null";
|
||||||
|
try {
|
||||||
|
st = conn.createStatement();
|
||||||
|
rs=null;
|
||||||
|
try {
|
||||||
|
rs = st.executeQuery(sql);
|
||||||
|
} catch( SQLException ex ) {
|
||||||
|
result+="<br>Exec Exception:"+ex.getMessage()+"<br>";
|
||||||
|
}
|
||||||
|
|
||||||
|
if(rs!=null)
|
||||||
|
{
|
||||||
|
while (rs.next())
|
||||||
|
{
|
||||||
|
if(!(new File("/temp/CCALM/data/frmlocustdel/"+rs.getString("name"))).exists())
|
||||||
|
{
|
||||||
|
logger.info("update main.frmlocustdel set image_name1=null where image_name1=\""+rs.getString("name")+"\"");
|
||||||
|
result+="update main.frmlocustdel set image_name1=null where image_name1='"+rs.getString("name")+"';"+"<br>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
st.close();
|
||||||
|
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
result+="image_name2<br><br>";
|
||||||
|
sql="select image_name2 as name from main.frmlocustdel where image_name2 is not null";
|
||||||
|
try {
|
||||||
|
st = conn.createStatement();
|
||||||
|
rs=null;
|
||||||
|
try {
|
||||||
|
rs = st.executeQuery(sql);
|
||||||
|
} catch( SQLException ex ) {
|
||||||
|
result+="<br>Exec Exception:"+ex.getMessage()+"<br>";
|
||||||
|
}
|
||||||
|
|
||||||
|
if(rs!=null)
|
||||||
|
{
|
||||||
|
while (rs.next())
|
||||||
|
{
|
||||||
|
if(!(new File("/temp/CCALM/data/frmlocustdel/"+rs.getString("name"))).exists())
|
||||||
|
{
|
||||||
|
logger.info("update main.frmlocustdel set image_name2=null where image_name2=\""+rs.getString("name")+"\"");
|
||||||
|
result+="update main.frmlocustdel set image_name2=null where image_name2='"+rs.getString("name")+"';"+"<br>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
st.close();
|
||||||
|
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
result+="image_name3<br><br>";
|
||||||
|
sql="select image_name3 as name from main.frmlocustdel where image_name3 is not null";
|
||||||
|
try {
|
||||||
|
st = conn.createStatement();
|
||||||
|
rs=null;
|
||||||
|
try {
|
||||||
|
rs = st.executeQuery(sql);
|
||||||
|
} catch( SQLException ex ) {
|
||||||
|
result+="<br>Exec Exception:"+ex.getMessage()+"<br>";
|
||||||
|
}
|
||||||
|
|
||||||
|
if(rs!=null)
|
||||||
|
{
|
||||||
|
while (rs.next())
|
||||||
|
{
|
||||||
|
if(!(new File("/temp/CCALM/data/frmlocustdel/"+rs.getString("name"))).exists())
|
||||||
|
{
|
||||||
|
logger.info("update main.frmlocustdel set image_name3=null where image_name3=\""+rs.getString("name")+"\"");
|
||||||
|
result+="update main.frmlocustdel set image_name3=null where image_name3='"+rs.getString("name")+"';"+"<br>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
st.close();
|
||||||
|
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
@Override
|
||||||
|
public void setServletContext(ServletContext servletContext) {
|
||||||
|
this.context=servletContext;
|
||||||
|
}
|
||||||
|
}
|
||||||
204
src/main/java/kz/locust/CCALM/Translation.java
Normal file
204
src/main/java/kz/locust/CCALM/Translation.java
Normal file
@ -0,0 +1,204 @@
|
|||||||
|
package kz.locust.CCALM;
|
||||||
|
|
||||||
|
import java.io.DataInputStream;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
|
import java.io.Reader;
|
||||||
|
import java.io.UnsupportedEncodingException;
|
||||||
|
import java.sql.Connection;
|
||||||
|
import java.sql.DriverManager;
|
||||||
|
import java.sql.ResultSet;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import java.sql.Statement;
|
||||||
|
import java.util.Properties;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import javax.xml.parsers.DocumentBuilderFactory;
|
||||||
|
import javax.servlet.ServletContext;
|
||||||
|
import javax.xml.parsers.DocumentBuilder;
|
||||||
|
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.core.io.ClassPathResource;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.ui.Model;
|
||||||
|
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMethod;
|
||||||
|
import org.springframework.web.bind.annotation.SessionAttributes;
|
||||||
|
import org.springframework.web.context.ServletContextAware;
|
||||||
|
import org.w3c.dom.Document;
|
||||||
|
import org.w3c.dom.Element;
|
||||||
|
import org.w3c.dom.Node;
|
||||||
|
import org.w3c.dom.NodeList;
|
||||||
|
|
||||||
|
import tools.User;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handles requests for the application home page.
|
||||||
|
*/
|
||||||
|
@Controller
|
||||||
|
@SessionAttributes( { "user" })
|
||||||
|
public class Translation implements ServletContextAware {
|
||||||
|
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(Translation.class);
|
||||||
|
private ServletContext context;
|
||||||
|
|
||||||
|
//If not created object "user", create him.
|
||||||
|
@ModelAttribute("user")
|
||||||
|
public User populatePerson() {
|
||||||
|
return new User("none");
|
||||||
|
}
|
||||||
|
|
||||||
|
/*public static boolean loadTranslationFromXML(Properties props, InputStream isXML)
|
||||||
|
{
|
||||||
|
boolean result=false;
|
||||||
|
if(isXML!=null)
|
||||||
|
{
|
||||||
|
Document doc = null;
|
||||||
|
try {
|
||||||
|
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||||
|
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||||
|
doc = dBuilder.parse(isXML);
|
||||||
|
} catch (Exception ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
Node reqNode = doc.getDocumentElement();
|
||||||
|
|
||||||
|
Node nextnode=reqNode.getFirstChild();
|
||||||
|
while(nextnode!=null)
|
||||||
|
{
|
||||||
|
if(nextnode.getNodeName().equals("string"))
|
||||||
|
{
|
||||||
|
String name=nextnode.getAttributes().getNamedItem("name").getNodeValue();
|
||||||
|
String val="";
|
||||||
|
if(nextnode.getFirstChild()!=null)
|
||||||
|
val=nextnode.getFirstChild().getNodeValue();
|
||||||
|
//if(props.getProperty(name,"").equals("") && !val.equals(""))
|
||||||
|
props.setProperty(name, val);
|
||||||
|
result=true;
|
||||||
|
}
|
||||||
|
nextnode = nextnode.getNextSibling();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Simply selects the home view to render by returning its name.
|
||||||
|
*/
|
||||||
|
@RequestMapping(value = "/translation", method = RequestMethod.GET)
|
||||||
|
public String home(@ModelAttribute User user/*, Locale locale*/, Model model) {
|
||||||
|
|
||||||
|
Properties props = new Properties();
|
||||||
|
|
||||||
|
String db_url="";
|
||||||
|
String db_login="";
|
||||||
|
String db_password="";
|
||||||
|
//Load DB configuration from "config.xml"
|
||||||
|
try {
|
||||||
|
//String fullPath = context.getRealPath("/WEB-INF/config.xml");
|
||||||
|
//File fXmlFile = new File(fullPath);
|
||||||
|
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||||
|
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||||
|
//Document doc = dBuilder.parse(fXmlFile);
|
||||||
|
Document doc = dBuilder.parse(new ClassPathResource("config.xml").getInputStream());
|
||||||
|
Element nMain=doc.getDocumentElement();
|
||||||
|
NodeList nl=nMain.getChildNodes();
|
||||||
|
for (int i = 0; i <nl.getLength(); i++)
|
||||||
|
{
|
||||||
|
if(nl.item(i).getNodeName().equals("db-url"))
|
||||||
|
db_url=nl.item(i).getTextContent();
|
||||||
|
if(nl.item(i).getNodeName().equals("db-login"))
|
||||||
|
db_login=nl.item(i).getTextContent();
|
||||||
|
if(nl.item(i).getNodeName().equals("db-password"))
|
||||||
|
db_password=nl.item(i).getTextContent();
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
//Get language from database
|
||||||
|
Connection conn = null;
|
||||||
|
try{
|
||||||
|
Class.forName("org.postgresql.Driver");
|
||||||
|
conn = DriverManager.getConnection(db_url,db_login,db_password);
|
||||||
|
if(conn!=null)
|
||||||
|
{
|
||||||
|
System.out.println("Connect is OK!");
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
System.out.println("<br>Connect is ERROR<br>");
|
||||||
|
}
|
||||||
|
}catch(Exception e)
|
||||||
|
{
|
||||||
|
System.out.println("<br>Connect Exception:"+e.getMessage()+"<br>");
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
Statement st = conn.createStatement();
|
||||||
|
ResultSet rs=null;
|
||||||
|
try {
|
||||||
|
String sql_query = "select identifier,case when '"+user.language_id+"'='666' then translation||'''\"' else translation end as translation from main._translations t where t.del=false and (t.language_id='"+user.language_id+"' or ('"+user.language_id+"'='666' and t.language_id=1)) and translation_type_id=1 order by identifier;";
|
||||||
|
rs = st.executeQuery(sql_query);
|
||||||
|
} catch( SQLException ex )
|
||||||
|
{
|
||||||
|
System.out.println("<br>SQLException:"+ex.getMessage()+"<br>");
|
||||||
|
}
|
||||||
|
|
||||||
|
if(rs!=null)
|
||||||
|
{
|
||||||
|
while (rs.next())
|
||||||
|
{
|
||||||
|
if(rs.getString("translation")!=null)
|
||||||
|
props.setProperty(rs.getString("identifier"), rs.getString("translation"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
st.close();
|
||||||
|
} catch( SQLException ex )
|
||||||
|
{
|
||||||
|
System.out.println("<br>SQLException:"+ex.getMessage()+"<br>");
|
||||||
|
}
|
||||||
|
try{ conn.close(); }catch(Exception e){}
|
||||||
|
|
||||||
|
//Create JavaScript text
|
||||||
|
/*
|
||||||
|
InputStream utf8in = getClass().getClassLoader().getResourceAsStream("messages_"+user.lng+".properties");
|
||||||
|
Reader reader;
|
||||||
|
try {
|
||||||
|
reader = new InputStreamReader(utf8in, "UTF-8");
|
||||||
|
props.load(reader);
|
||||||
|
} catch (UnsupportedEncodingException e) {
|
||||||
|
}catch (IOException e) {
|
||||||
|
}*/
|
||||||
|
|
||||||
|
//Переписываю в JavaScript код
|
||||||
|
String result="";
|
||||||
|
Set<Object> keys = props.keySet();
|
||||||
|
for(Object k:keys){
|
||||||
|
String key = ((String)k).trim();
|
||||||
|
String val = props.getProperty(key,"");
|
||||||
|
|
||||||
|
if(val.equals(""))
|
||||||
|
{
|
||||||
|
val = val.replaceAll("_", " ");
|
||||||
|
}
|
||||||
|
val = val.replaceAll("'", "`");
|
||||||
|
result += " ,"+key+":'"+val+"'\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
model.addAttribute("keys",result);
|
||||||
|
|
||||||
|
return "translation";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setServletContext(ServletContext servletContext) {
|
||||||
|
this.context=servletContext;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
128
src/main/java/kz/locust/CCALM/WeatherDownload.java
Normal file
128
src/main/java/kz/locust/CCALM/WeatherDownload.java
Normal file
@ -0,0 +1,128 @@
|
|||||||
|
package kz.locust.CCALM;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* To change this license header, choose License Headers in Project Properties.
|
||||||
|
* To change this template file, choose Tools | Templates
|
||||||
|
* and open the template in the editor.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.net.HttpURLConnection;
|
||||||
|
import java.net.URL;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author ivanov.i
|
||||||
|
*/
|
||||||
|
public class WeatherDownload {
|
||||||
|
|
||||||
|
private static final int BUFFER_SIZE = 4096;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public boolean download(String strURL,String strFile,String posStart,String posEnd)
|
||||||
|
{
|
||||||
|
boolean result=true;
|
||||||
|
String rez = null;
|
||||||
|
String inputLine = null;
|
||||||
|
/*try
|
||||||
|
{
|
||||||
|
rez = new String("".getBytes(), "utf-8");
|
||||||
|
inputLine = new String("".getBytes(), "utf-8");
|
||||||
|
} catch (UnsupportedEncodingException e)
|
||||||
|
{
|
||||||
|
e.printStackTrace();
|
||||||
|
}*/
|
||||||
|
try
|
||||||
|
{
|
||||||
|
URL url = new URL(strURL);
|
||||||
|
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
|
||||||
|
conn.setRequestMethod("GET");
|
||||||
|
conn.setRequestProperty("Range","bytes=" + posStart + "-" + posEnd);
|
||||||
|
conn.connect();
|
||||||
|
int responseCode = conn.getResponseCode();
|
||||||
|
if (responseCode / 100 == 2) //Code 206 is "Partial Content"
|
||||||
|
{
|
||||||
|
InputStream inputStream = conn.getInputStream();
|
||||||
|
FileOutputStream outputStream = new FileOutputStream(strFile);
|
||||||
|
int bytesRead;
|
||||||
|
byte[] buffer = new byte[BUFFER_SIZE];
|
||||||
|
while ((bytesRead = inputStream.read(buffer)) != -1) {
|
||||||
|
outputStream.write(buffer, 0, bytesRead);
|
||||||
|
}
|
||||||
|
outputStream.close();
|
||||||
|
inputStream.close();
|
||||||
|
}
|
||||||
|
conn.disconnect();
|
||||||
|
}
|
||||||
|
catch (IOException e)
|
||||||
|
{
|
||||||
|
//e.printStackTrace();
|
||||||
|
result=false;
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Downloads a file from a URL
|
||||||
|
* @param fileURL HTTP URL of the file to be downloaded
|
||||||
|
* @param saveDir path of the directory to save the file
|
||||||
|
* @throws IOException
|
||||||
|
*/
|
||||||
|
public static void downloadFile(String fileURL, String saveDir)
|
||||||
|
throws IOException {
|
||||||
|
URL url = new URL(fileURL);
|
||||||
|
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
|
||||||
|
int responseCode = httpConn.getResponseCode();
|
||||||
|
|
||||||
|
// always check HTTP response code first
|
||||||
|
if (responseCode == HttpURLConnection.HTTP_OK) {
|
||||||
|
String fileName = "";
|
||||||
|
String disposition = httpConn.getHeaderField("Content-Disposition");
|
||||||
|
String contentType = httpConn.getContentType();
|
||||||
|
int contentLength = httpConn.getContentLength();
|
||||||
|
|
||||||
|
if (disposition != null) {
|
||||||
|
// extracts file name from header field
|
||||||
|
int index = disposition.indexOf("filename=");
|
||||||
|
if (index > 0) {
|
||||||
|
fileName = disposition.substring(index + 10,
|
||||||
|
disposition.length() - 1);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// extracts file name from URL
|
||||||
|
fileName = fileURL.substring(fileURL.lastIndexOf("/") + 1,
|
||||||
|
fileURL.length());
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println("Content-Type = " + contentType);
|
||||||
|
System.out.println("Content-Disposition = " + disposition);
|
||||||
|
System.out.println("Content-Length = " + contentLength);
|
||||||
|
System.out.println("fileName = " + fileName);
|
||||||
|
|
||||||
|
// opens input stream from the HTTP connection
|
||||||
|
InputStream inputStream = httpConn.getInputStream();
|
||||||
|
String saveFilePath = saveDir + File.separator + fileName;
|
||||||
|
|
||||||
|
// opens an output stream to save into file
|
||||||
|
FileOutputStream outputStream = new FileOutputStream(saveFilePath);
|
||||||
|
|
||||||
|
int bytesRead = -1;
|
||||||
|
byte[] buffer = new byte[BUFFER_SIZE];
|
||||||
|
while ((bytesRead = inputStream.read(buffer)) != -1) {
|
||||||
|
outputStream.write(buffer, 0, bytesRead);
|
||||||
|
}
|
||||||
|
|
||||||
|
outputStream.close();
|
||||||
|
inputStream.close();
|
||||||
|
|
||||||
|
System.out.println("File downloaded");
|
||||||
|
} else {
|
||||||
|
System.out.println("No file to download. Server replied HTTP code: " + responseCode);
|
||||||
|
}
|
||||||
|
httpConn.disconnect();
|
||||||
|
}
|
||||||
|
}
|
||||||
544
src/main/java/kz/locust/CCALM/engine/EngineController.java
Normal file
544
src/main/java/kz/locust/CCALM/engine/EngineController.java
Normal file
@ -0,0 +1,544 @@
|
|||||||
|
package kz.locust.CCALM.engine;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.sql.Connection;
|
||||||
|
import java.sql.DriverManager;
|
||||||
|
import java.sql.ResultSet;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import java.sql.Statement;
|
||||||
|
import java.util.Properties;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import javax.servlet.ServletContext;
|
||||||
|
import javax.xml.parsers.DocumentBuilder;
|
||||||
|
import javax.xml.parsers.DocumentBuilderFactory;
|
||||||
|
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.core.io.ClassPathResource;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.ui.Model;
|
||||||
|
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMethod;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
import org.springframework.web.bind.annotation.SessionAttributes;
|
||||||
|
import org.springframework.web.context.ServletContextAware;
|
||||||
|
import org.w3c.dom.Document;
|
||||||
|
import org.w3c.dom.Element;
|
||||||
|
import org.w3c.dom.NodeList;
|
||||||
|
|
||||||
|
import tools.User;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handles requests for the application home page.
|
||||||
|
*/
|
||||||
|
@Controller
|
||||||
|
@SessionAttributes( { "user" })
|
||||||
|
public class EngineController implements ServletContextAware {
|
||||||
|
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(EngineController.class);
|
||||||
|
private ServletContext context;
|
||||||
|
private Properties m_props=null;
|
||||||
|
//private String m_props_loc="";
|
||||||
|
|
||||||
|
//If not created object "user", create him.
|
||||||
|
@ModelAttribute("user")
|
||||||
|
public User populatePerson() {
|
||||||
|
return new User("none");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Simply selects the home view to render by returning its name.
|
||||||
|
*/
|
||||||
|
@RequestMapping(value = "/engine", method = RequestMethod.GET)
|
||||||
|
public String home(@ModelAttribute User user, Model model,@RequestParam(required=false,name="lng") String language_id) {
|
||||||
|
|
||||||
|
if(language_id!=null && !language_id.equals("")) user.language_id=language_id;
|
||||||
|
logger.info("user.id="+user.id+" user.name="+user.name+" user.language_id="+user.language_id);
|
||||||
|
|
||||||
|
String db_url="";
|
||||||
|
String db_login="";
|
||||||
|
String db_password="";
|
||||||
|
try {
|
||||||
|
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||||
|
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||||
|
//Document doc = dBuilder.parse(fXmlFile);
|
||||||
|
Document doc = dBuilder.parse(new ClassPathResource("config.xml").getInputStream());
|
||||||
|
Element nMain=doc.getDocumentElement();
|
||||||
|
NodeList nl=nMain.getChildNodes();
|
||||||
|
for (int i = 0; i <nl.getLength(); i++)
|
||||||
|
{
|
||||||
|
if(nl.item(i).getNodeName().equals("db-url"))
|
||||||
|
db_url=nl.item(i).getTextContent();
|
||||||
|
if(nl.item(i).getNodeName().equals("db-login"))
|
||||||
|
db_login=nl.item(i).getTextContent();
|
||||||
|
if(nl.item(i).getNodeName().equals("db-password"))
|
||||||
|
db_password=nl.item(i).getTextContent();
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
//Get language from database
|
||||||
|
Connection conn = null;
|
||||||
|
try{
|
||||||
|
Class.forName("org.postgresql.Driver");
|
||||||
|
conn = DriverManager.getConnection(db_url,db_login,db_password);
|
||||||
|
if(conn!=null)
|
||||||
|
{
|
||||||
|
System.out.println("Connect is OK!");
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
System.out.println("<br>Connect is ERROR<br>");
|
||||||
|
}
|
||||||
|
}catch(Exception e)
|
||||||
|
{
|
||||||
|
System.out.println("<br>Connect Exception:"+e.getMessage()+"<br>");
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
Statement st = conn.createStatement();
|
||||||
|
ResultSet rs=null;
|
||||||
|
if(user.id!=null){
|
||||||
|
|
||||||
|
if(language_id!=null && !language_id.equals(""))
|
||||||
|
{
|
||||||
|
//Set the language for the current user if it is transferred.
|
||||||
|
user.language_id=language_id;
|
||||||
|
try {
|
||||||
|
st.execute("update main._users set language_id='"+user.language_id+"' where id="+user.id);
|
||||||
|
} catch( SQLException ex )
|
||||||
|
{
|
||||||
|
System.out.println("<br>SQLException:"+ex.getMessage()+"<br>");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//Select language for current user
|
||||||
|
try {
|
||||||
|
String sql="select language_id,country_id from main._users where id="+String.valueOf(user.id)+";";
|
||||||
|
rs = st.executeQuery(sql);
|
||||||
|
} catch( SQLException ex )
|
||||||
|
{
|
||||||
|
System.out.println("<br>SQLException:"+ex.getMessage()+"<br>");
|
||||||
|
}
|
||||||
|
|
||||||
|
if(rs!=null)
|
||||||
|
{
|
||||||
|
while (rs.next())
|
||||||
|
{
|
||||||
|
user.language_id = rs.getString("language_id");
|
||||||
|
user.country_id = rs.getString("country_id");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
st.close();
|
||||||
|
} catch( SQLException ex )
|
||||||
|
{
|
||||||
|
System.out.println("<br>SQLException:"+ex.getMessage()+"<br>");
|
||||||
|
}
|
||||||
|
|
||||||
|
//Send user name and role
|
||||||
|
model.addAttribute("uName",user.name+" ("+user.role+")");
|
||||||
|
model.addAttribute("m_locale",user.language_id);
|
||||||
|
model.addAttribute("country_id",user.country_id);
|
||||||
|
|
||||||
|
|
||||||
|
//Send translation to user
|
||||||
|
/*InputStream utf8in = getClass().getClassLoader().getResourceAsStream("messages_"+user.lng+".properties");
|
||||||
|
if(utf8in!=null)
|
||||||
|
{
|
||||||
|
Properties props=new Properties();
|
||||||
|
Reader reader;
|
||||||
|
try {
|
||||||
|
reader = new InputStreamReader(utf8in, "UTF-8");
|
||||||
|
props.load(reader);
|
||||||
|
} catch (UnsupportedEncodingException e) {
|
||||||
|
}catch (IOException e) {
|
||||||
|
}
|
||||||
|
//Также подгружаю перевод из XML файла Android проекта
|
||||||
|
Translation.loadTranslationFromXML(props,getClass().getClassLoader().getResourceAsStream("strings_"+user.lng+".xml"));
|
||||||
|
|
||||||
|
Set<Object> keys = props.keySet();
|
||||||
|
for(Object k:keys){
|
||||||
|
String key = (String)k;
|
||||||
|
String val="";
|
||||||
|
//val = trt(conn,key,user); //Если есть то перевод беру из базы данных
|
||||||
|
if(val.equals(""))
|
||||||
|
{
|
||||||
|
val = props.getProperty(key,"");
|
||||||
|
if(val.equals(""))
|
||||||
|
{
|
||||||
|
val = val.replaceAll("_", " ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
model.addAttribute(key,val);
|
||||||
|
}
|
||||||
|
}*/
|
||||||
|
|
||||||
|
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||||
|
//TODO удалить нужно только для копирования языков в базу (если там их нет)
|
||||||
|
/*InputStream isXML = getClass().getClassLoader().getResourceAsStream("strings_"+user.lng+".xml");
|
||||||
|
if(isXML!=null)
|
||||||
|
{
|
||||||
|
Document doc = null;
|
||||||
|
try {
|
||||||
|
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||||
|
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||||
|
doc = dBuilder.parse(isXML);
|
||||||
|
} catch (Exception ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
Node reqNode = doc.getDocumentElement();
|
||||||
|
|
||||||
|
Node nextnode=reqNode.getFirstChild();
|
||||||
|
while(nextnode!=null)
|
||||||
|
{
|
||||||
|
if(nextnode.getNodeName().equals("string"))
|
||||||
|
{
|
||||||
|
String name=nextnode.getAttributes().getNamedItem("name").getNodeValue();
|
||||||
|
String val="";
|
||||||
|
if(nextnode.getFirstChild()!=null)
|
||||||
|
val=nextnode.getFirstChild().getNodeValue();
|
||||||
|
|
||||||
|
//Если нет то добавляю
|
||||||
|
boolean exists=false;
|
||||||
|
try {
|
||||||
|
Statement st = conn.createStatement();
|
||||||
|
ResultSet rs=null;
|
||||||
|
try {
|
||||||
|
String sql="select t.id from main._translations t join main._languages l on l.id=t.language_id where t.del=false and identifier='"+name+"' and l.short_name='"+user.lng+"';";
|
||||||
|
rs = st.executeQuery(sql);
|
||||||
|
} catch( SQLException ex )
|
||||||
|
{
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
if(rs!=null)
|
||||||
|
{
|
||||||
|
while (rs.next())
|
||||||
|
{
|
||||||
|
exists=true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
st.close();
|
||||||
|
} catch( SQLException ex )
|
||||||
|
{
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
if(exists)
|
||||||
|
{
|
||||||
|
logger.info(name+" = "+val+" exists");
|
||||||
|
//Если идентификатор сушествует то проверяю совпадает ли сам перевод (просто для информации)
|
||||||
|
boolean equals=false;
|
||||||
|
try {
|
||||||
|
Statement st = conn.createStatement();
|
||||||
|
ResultSet rs=null;
|
||||||
|
try {
|
||||||
|
String sql="select t.id from main._translations t join main._languages l on l.id=t.language_id where t.del=false and t.identifier='"+name+"' and t.translation='"+val+"' and l.short_name='"+user.lng+"';";
|
||||||
|
rs = st.executeQuery(sql);
|
||||||
|
} catch( SQLException ex )
|
||||||
|
{
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
if(rs!=null)
|
||||||
|
{
|
||||||
|
while (rs.next())
|
||||||
|
{
|
||||||
|
equals=true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
st.close();
|
||||||
|
} catch( SQLException ex )
|
||||||
|
{
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
if(equals)
|
||||||
|
{
|
||||||
|
logger.info(name+" = "+val+" equals");
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
logger.info(name+" = "+val+" not equals");
|
||||||
|
}
|
||||||
|
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
logger.info(name+" = "+val+" not exists");
|
||||||
|
|
||||||
|
//Вставляю новую запись в базу
|
||||||
|
try {
|
||||||
|
Statement st = conn.createStatement();
|
||||||
|
try {
|
||||||
|
String sql="insert into main._translations(language_id,identifier,translation,translation_type_id) select (select l.id from main._languages l where l.del=false and l.short_name='"+user.lng+"'),'"+name+"' as identifier,'"+val+"' as translation,3 as translation_type_id;";
|
||||||
|
st.execute(sql);
|
||||||
|
} catch( SQLException ex )
|
||||||
|
{
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
} catch( SQLException ex )
|
||||||
|
{
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
nextnode = nextnode.getNextSibling();
|
||||||
|
}
|
||||||
|
}*/
|
||||||
|
//Читаю перевод из properties файлов и записываю в базу под номером 1
|
||||||
|
/*InputStream utf8in = getClass().getClassLoader().getResourceAsStream("messages_"+user.lng+".properties");
|
||||||
|
if(utf8in!=null)
|
||||||
|
{
|
||||||
|
Properties props=new Properties();
|
||||||
|
Reader reader;
|
||||||
|
try {
|
||||||
|
reader = new InputStreamReader(utf8in, "UTF-8");
|
||||||
|
props.load(reader);
|
||||||
|
} catch (UnsupportedEncodingException e) {
|
||||||
|
}catch (IOException e) {
|
||||||
|
}
|
||||||
|
//Также подгружаю перевод из XML файла Android проекта
|
||||||
|
//Translation.loadTranslationFromXML(props,getClass().getClassLoader().getResourceAsStream("strings_"+user.lng+".xml"));
|
||||||
|
|
||||||
|
Set<Object> keys = props.keySet();
|
||||||
|
for(Object k:keys){
|
||||||
|
String key = (String)k;
|
||||||
|
String val = props.getProperty(key,"");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//Если нет то добавляю
|
||||||
|
boolean exists=false;
|
||||||
|
try {
|
||||||
|
Statement st = conn.createStatement();
|
||||||
|
ResultSet rs=null;
|
||||||
|
try {
|
||||||
|
String sql="select t.id from main._translations t join main._languages l on l.id=t.language_id where t.del=false and identifier='"+key+"' and l.short_name='"+user.lng+"' and translation_type_id=1;";
|
||||||
|
rs = st.executeQuery(sql);
|
||||||
|
} catch( SQLException ex )
|
||||||
|
{
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
if(rs!=null)
|
||||||
|
{
|
||||||
|
while (rs.next())
|
||||||
|
{
|
||||||
|
exists=true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
st.close();
|
||||||
|
} catch( SQLException ex )
|
||||||
|
{
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
if(exists)
|
||||||
|
{
|
||||||
|
logger.info(key+" = "+val+" exists");
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
logger.info(key+" = "+val+" not exists");
|
||||||
|
//Вставляю новую запись в базу
|
||||||
|
try {
|
||||||
|
Statement st = conn.createStatement();
|
||||||
|
try {
|
||||||
|
String sql="insert into main._translations(language_id,identifier,translation,translation_type_id) select (select l.id from main._languages l where l.del=false and l.short_name='"+user.lng+"'),'"+key+"' as identifier,'"+val+"' as translation,1 as translation_type_id;";
|
||||||
|
st.execute(sql);
|
||||||
|
} catch( SQLException ex )
|
||||||
|
{
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
} catch( SQLException ex )
|
||||||
|
{
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}*/
|
||||||
|
|
||||||
|
//Для перевода выбираю всё что под номером 1 в переводе
|
||||||
|
try {
|
||||||
|
m_props = new Properties();
|
||||||
|
Statement stt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
|
||||||
|
String sql_query = "select identifier,case when '"+user.language_id+"'='666' then translation||'''\"' else translation end as translation from main._translations t where t.del=false and (t.language_id='"+user.language_id+"' or ('"+user.language_id+"'='666' and t.language_id=1)) and translation_type_id=1;";
|
||||||
|
ResultSet rs = stt.executeQuery(sql_query);
|
||||||
|
if (rs != null) {
|
||||||
|
while (rs.next())
|
||||||
|
{
|
||||||
|
String identifier = rs.getString("identifier");
|
||||||
|
String translation = rs.getString("translation");
|
||||||
|
m_props.setProperty(identifier, translation);
|
||||||
|
}
|
||||||
|
rs.close();
|
||||||
|
}
|
||||||
|
stt.close();
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
Set<Object> keys = m_props.keySet();
|
||||||
|
for(Object k:keys){
|
||||||
|
String key = (String)k;
|
||||||
|
String val="";
|
||||||
|
if(val.equals(""))
|
||||||
|
{
|
||||||
|
val = m_props.getProperty(key,"");
|
||||||
|
if(val.equals(""))
|
||||||
|
{
|
||||||
|
val = val.replaceAll("_", " ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
model.addAttribute(key,val);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//Подложка Substrate_head Substrate_tail
|
||||||
|
String Substrate_head="";
|
||||||
|
String Substrate_tail="";
|
||||||
|
if(!user.country_id.equals(""))
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
Statement st = conn.createStatement();
|
||||||
|
ResultSet rs=null;
|
||||||
|
try {
|
||||||
|
String sql="SELECT id,path,description,projection FROM main.layouts where del=false and country_id="+user.country_id+" order by description";
|
||||||
|
rs = st.executeQuery(sql);
|
||||||
|
} catch( SQLException ex )
|
||||||
|
{
|
||||||
|
}
|
||||||
|
if(rs!=null)
|
||||||
|
{
|
||||||
|
while (rs.next())
|
||||||
|
{
|
||||||
|
Substrate_head+=" <option value=\""+rs.getString("id")+"\">"+rs.getString("description")+"</option>\n";
|
||||||
|
|
||||||
|
Substrate_tail+="g_Layouts[\""+rs.getString("id")+"\"] = new ol.source.XYZ({\n";
|
||||||
|
Substrate_tail+=" url: '"+rs.getString("path")+"',\n";
|
||||||
|
if(rs.getString("projection")!=null && rs.getString("projection").indexOf("EPSG:")!=-1)
|
||||||
|
Substrate_tail+=" projection: '"+rs.getString("projection")+"',\n";
|
||||||
|
Substrate_tail+=" });\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
st.close();
|
||||||
|
} catch( SQLException ex )
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
model.addAttribute("Substrate_head",Substrate_head);
|
||||||
|
model.addAttribute("Substrate_tail",Substrate_tail);
|
||||||
|
|
||||||
|
//Выбираю дату получения NDVI данных по номеру дня
|
||||||
|
/*{
|
||||||
|
int maxNum=1;
|
||||||
|
try {
|
||||||
|
File folder = new File(ndvi_dir);
|
||||||
|
File[] listOfFiles = folder.listFiles();
|
||||||
|
if(listOfFiles!=null)
|
||||||
|
{
|
||||||
|
for (int i = 0; i < listOfFiles.length; i++)
|
||||||
|
{ if (listOfFiles[i].isFile())
|
||||||
|
{
|
||||||
|
if(Tools.afterLast(listOfFiles[i].getName(),".").equals("json"))
|
||||||
|
{
|
||||||
|
int num=1;
|
||||||
|
try {
|
||||||
|
num=1+Integer.valueOf(Tools.beforeLast(listOfFiles[i].getName(),"."));
|
||||||
|
}catch(Exception ex)
|
||||||
|
{
|
||||||
|
System.out.println(ex.getMessage());
|
||||||
|
}
|
||||||
|
if(num>maxNum) maxNum=num;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}catch(Exception ex)
|
||||||
|
{
|
||||||
|
System.out.println(ex.getMessage());
|
||||||
|
}
|
||||||
|
Year y = Year.of( Calendar.getInstance().get(Calendar.YEAR) ) ;
|
||||||
|
model.addAttribute("NDVI_DATE",y.atDay( maxNum ).toString());
|
||||||
|
model.addAttribute("NDVI_DAY",String.valueOf(maxNum));
|
||||||
|
}*/
|
||||||
|
|
||||||
|
//Выбираю дату получения NDWI данных по номеру дня
|
||||||
|
/*{
|
||||||
|
int maxNum=1;
|
||||||
|
try {
|
||||||
|
File folder = new File(ndwi_dir);
|
||||||
|
File[] listOfFiles = folder.listFiles();
|
||||||
|
if(listOfFiles!=null)
|
||||||
|
{
|
||||||
|
for (int i = 0; i < listOfFiles.length; i++)
|
||||||
|
{ if (listOfFiles[i].isFile())
|
||||||
|
{
|
||||||
|
if(Tools.afterLast(listOfFiles[i].getName(),".").equals("json"))
|
||||||
|
{
|
||||||
|
int num=1;
|
||||||
|
try {
|
||||||
|
num=1+Integer.valueOf(Tools.beforeLast(listOfFiles[i].getName(),"."));
|
||||||
|
}catch(Exception ex)
|
||||||
|
{
|
||||||
|
System.out.println(ex.getMessage());
|
||||||
|
}
|
||||||
|
if(num>maxNum) maxNum=num;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}catch(Exception ex)
|
||||||
|
{
|
||||||
|
System.out.println(ex.getMessage());
|
||||||
|
}
|
||||||
|
Year y = Year.of( Calendar.getInstance().get(Calendar.YEAR) ) ;
|
||||||
|
model.addAttribute("NDWI_DATE",y.atDay( maxNum ).toString());
|
||||||
|
model.addAttribute("NDWI_DAY",String.valueOf(maxNum));
|
||||||
|
}*/
|
||||||
|
|
||||||
|
|
||||||
|
try{ conn.close(); }catch(Exception e){}
|
||||||
|
return "engine/index";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setServletContext(ServletContext context){
|
||||||
|
this.context=context;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Перевести слово по идентификатору из базы а если в базе нет то из файлов перевода
|
||||||
|
public String trt(Connection conn,String key,User user)
|
||||||
|
{
|
||||||
|
String result="";
|
||||||
|
if(key.equals(""))
|
||||||
|
return result;
|
||||||
|
|
||||||
|
try {
|
||||||
|
Statement stt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
|
||||||
|
String sql_query = "select case when '"+user.language_id+"'='666' then translation||'''\"' else translation end as translation from main._translations t where t.del=false and identifier='"+key+"' and (t.language_id='"+user.language_id+"' or ('"+user.language_id+"'='666' and t.language_id=1));";
|
||||||
|
ResultSet rs = stt.executeQuery(sql_query);
|
||||||
|
if (rs != null) {
|
||||||
|
try {
|
||||||
|
if (rs.next())
|
||||||
|
result=rs.getString(1);
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
rs.close();
|
||||||
|
}
|
||||||
|
stt.close();
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
logger.info(ex.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
if(result.equals(""))
|
||||||
|
{
|
||||||
|
result = key.replaceAll("_", " ");
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
21
src/main/java/kz/locust/CCALM/recReq/RecReq.java
Normal file
21
src/main/java/kz/locust/CCALM/recReq/RecReq.java
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
package kz.locust.CCALM.recReq;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
public class RecReq implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
public int fn;
|
||||||
|
public int cmd;
|
||||||
|
|
||||||
|
public int getFn()
|
||||||
|
{
|
||||||
|
return fn;
|
||||||
|
}
|
||||||
|
public int getCmd()
|
||||||
|
{
|
||||||
|
return cmd;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
535
src/main/java/messages_az.properties_not_used
Normal file
535
src/main/java/messages_az.properties_not_used
Normal file
@ -0,0 +1,535 @@
|
|||||||
|
language = en
|
||||||
|
label_registration = Registration
|
||||||
|
label_login = Log In
|
||||||
|
Types_of_locust = Kinds of locust
|
||||||
|
Unknown_function = Unknown function!
|
||||||
|
Not_yet_implemented = Not yet implemented!
|
||||||
|
Type_of_locust = Type of locust
|
||||||
|
Kind_of_locust = Kind of locust
|
||||||
|
Name = Name
|
||||||
|
Types_of_locust = Kinds of locust
|
||||||
|
Age = Age
|
||||||
|
Biotop = Biotop
|
||||||
|
Sorting_index = Index of sorting
|
||||||
|
Capacity = Capacity
|
||||||
|
Capacities = Capacities
|
||||||
|
Types_of_operators = Types of operators
|
||||||
|
Types_of_operator = Types of operator
|
||||||
|
Density_of_vegetation = Density of vegetation
|
||||||
|
Damage = Damage
|
||||||
|
Density = Density
|
||||||
|
Directions = Directions
|
||||||
|
Angle = Angle
|
||||||
|
Methods_of_calculating_mortality = Methods of calculating mortality
|
||||||
|
Method_of_calculating_mortality = Method of calculating mortality
|
||||||
|
Phase = Phase
|
||||||
|
Condition_of_vegetation = Vegetation state
|
||||||
|
Actions_of_bands = Actions of hopper bands
|
||||||
|
Behaviors = Behaviour
|
||||||
|
Paintings = Paintings
|
||||||
|
Painting = Painting
|
||||||
|
Report_by_inspectors = Report by inspectors
|
||||||
|
From_date = From date
|
||||||
|
To_date = To date
|
||||||
|
Surname = Surname
|
||||||
|
Patronymic = Patronymic
|
||||||
|
Completed_questionnaires_locusts = Completed questionnaires locusts
|
||||||
|
Completed_questionnaires_for_the_destruction_of_locusts = Completed questionnaires for the destruction of locusts
|
||||||
|
FrmLocust = FrmLocust
|
||||||
|
User = User
|
||||||
|
Photo = Photo
|
||||||
|
Photo_name = Photo name
|
||||||
|
Country = Country
|
||||||
|
Area = Area
|
||||||
|
Region = Region
|
||||||
|
District = District
|
||||||
|
Observer = Observer
|
||||||
|
Date = Date
|
||||||
|
Terrain = Terrain
|
||||||
|
Latitude = Latitude
|
||||||
|
Longitude = Longitude
|
||||||
|
bio_hectare = Surveyed area (ha)
|
||||||
|
bio_biotope = Type of habitat
|
||||||
|
bio_greenery = Vegetation
|
||||||
|
bio_greenery_cover = The vegetation cover
|
||||||
|
bio_temperature = Weather: air temperature (ºC)
|
||||||
|
Weather = Weather
|
||||||
|
bio_wind = Weather: wind (m/s)
|
||||||
|
Wind_m_s = Weather: wind (m/s)
|
||||||
|
LOCUST_INFORMATION_INCLUDING_EGG_PODS = _LOCUST INFORMATION (INCLUDING EGG-PODS)
|
||||||
|
Air_temperature = Weather: air temperature (ºC)
|
||||||
|
locust_have = Present locusts
|
||||||
|
locust_populated = Populated area (ha)
|
||||||
|
eggs_capsules_area = Deposit egg capsules (area in m²)
|
||||||
|
eggs_capsules_density = Potbelly (density per m²)
|
||||||
|
Egg_bed_surface_in_ha = Egg-bed (surface in m²)
|
||||||
|
eggs_capsules = Eggs (average per pod)
|
||||||
|
eggs_live = Eggs (% viable)
|
||||||
|
eggs_enemies = The presence of natural enemies (what?)
|
||||||
|
larva_born = Born
|
||||||
|
larva_age = Age
|
||||||
|
larva_painting = Painting
|
||||||
|
larva_behavior = Behavior
|
||||||
|
larva_density = Density (per m²)
|
||||||
|
kuliguli_age = Mean age
|
||||||
|
kuliguli_density = Tighter. in the swarm (in m²)
|
||||||
|
kuliguli_size = Swarms size (m²)
|
||||||
|
kuliguli_count = By swarms
|
||||||
|
kuliguli_action = Behavior
|
||||||
|
imago_wing = Stand on the wing
|
||||||
|
imago_maturity = Maturity
|
||||||
|
imago_phase = Phase
|
||||||
|
imago_action = Behavior
|
||||||
|
imago_density = Density (per he.)
|
||||||
|
imago_copulation = Mating or egg-laying
|
||||||
|
imago_flying = Flying
|
||||||
|
swarm_maturity = Maturity
|
||||||
|
swarm_density = Density (per m²)
|
||||||
|
swarm_size = Size rooms (per km²)
|
||||||
|
swarm_count = Count of swarms
|
||||||
|
swarm_copulation = Mating or egg-laying
|
||||||
|
swarm_flying = Flying
|
||||||
|
swarm_height = Height
|
||||||
|
Description = Description
|
||||||
|
Inspector = Inspector
|
||||||
|
Changed = Changed
|
||||||
|
Lon = Longitude
|
||||||
|
Lat = Latitude
|
||||||
|
locust_type = Kind of locust
|
||||||
|
imago_laying = Egg-laying
|
||||||
|
swarm_laying = Egg-laying
|
||||||
|
Comments = Comments
|
||||||
|
Locust_Survey_Forms = Locust survey forms
|
||||||
|
Spray_Monitoring_Forms = Spray monitoring forms
|
||||||
|
FrmLocustDel = Standard forms for locust
|
||||||
|
infested_area = Populated area (ha)
|
||||||
|
treated_area = Cultivated area (ha)
|
||||||
|
vegetation_type = Type (wild, cultural)
|
||||||
|
Vegetation_type = Vegetation type
|
||||||
|
vegetation_height = Height (m)
|
||||||
|
vegetation_cover = Vegetation cover (%)
|
||||||
|
vegetation_crop = Vegetation
|
||||||
|
vegetation_damage = Damage to vegetation cover (%)
|
||||||
|
vegetation_damage_area = Area damage
|
||||||
|
insecticide_name = Commercial name
|
||||||
|
The_active_substance = The active substance
|
||||||
|
insecticide_concentration = Concentration (%)
|
||||||
|
insecticide_formulation = Formulation
|
||||||
|
insecticide_dose = Consumption rate (l/ha)
|
||||||
|
insecticide_rate = Working fluid flow (l/ha)
|
||||||
|
insecticide_expiry_date = Expiration
|
||||||
|
insecticide_mixed = Do insecticide mixed with water or solvent?
|
||||||
|
insecticide_mixed_name = Solvent
|
||||||
|
insecticide_mixed_ratio = If so, in what proportion (%)
|
||||||
|
weather_time_start = Start time
|
||||||
|
weather_time_end = End time
|
||||||
|
weather_temperature_start = Temperature at the start (°C)
|
||||||
|
weather_temperature_end = Temperature at the end (°C)
|
||||||
|
weather_humidity_start = Humidity start (%)
|
||||||
|
weather_humidity_end = Humidity end (%)
|
||||||
|
weather_wind_speed_start = Wind speed at the start (m/s)
|
||||||
|
weather_wind_speed_end = Wind speed at the end (m/s)
|
||||||
|
weather_direction_start = Start direction
|
||||||
|
weather_direction_end = End direction
|
||||||
|
weather_spray_direction_start = Spray direction at the start
|
||||||
|
weather_spray_direction_end = Spray direction at the end
|
||||||
|
locust_speciese = Species
|
||||||
|
locust_hoppers = Instar larvae
|
||||||
|
locust_density = Density (per m²)
|
||||||
|
spray_platform = Spray platform
|
||||||
|
spray_operator = Operator of spraying
|
||||||
|
spray_operator_name = Name of operator
|
||||||
|
spray_manufacturer_name = Brand sprayer
|
||||||
|
spray_model_name = Model of sprayer
|
||||||
|
spray_date_calibration = Date of last calibration
|
||||||
|
spray_height = Atomizer height above ground (m)
|
||||||
|
spray_width = Width (m)
|
||||||
|
spray_barrier = Barriers (m)
|
||||||
|
spray_speed = Speed (km/h)
|
||||||
|
spray_gps = Antenna: GPS used
|
||||||
|
spray_marking = Ground marking
|
||||||
|
efficacy_mortality = Locust mortality (%)
|
||||||
|
efficacy_passed_time = Elapsed time after working
|
||||||
|
efficacy_mortality_method = Method of counting mortality
|
||||||
|
safety_clothing = What protective clothing used operator
|
||||||
|
safety_inform = Who was notified about the workings?
|
||||||
|
safety_non_target = Impact on non-target organisms
|
||||||
|
safety_non_target_effect = If yes, what?
|
||||||
|
description = description
|
||||||
|
locust_kuliguli = Kuligi
|
||||||
|
locust_swarm = Swarms
|
||||||
|
locust_sparse = Sparse
|
||||||
|
Air_platform = Air platform
|
||||||
|
Ground_platform = Ground platform
|
||||||
|
Hand_platform = Hand platform
|
||||||
|
Type_of_operator = Type of operator
|
||||||
|
spray_barrier_width = Width (m)
|
||||||
|
spray_barrier_space = Space (m)
|
||||||
|
Terminal = Terminal
|
||||||
|
Named = Name
|
||||||
|
Phone = Phone
|
||||||
|
Serial_number = Serial number
|
||||||
|
Terminal_model = Terminal model
|
||||||
|
Terminals = Terminals
|
||||||
|
Coordinates_Geofence = Coordinates of geozone
|
||||||
|
Geofence = Geozone
|
||||||
|
Change_password = Change password
|
||||||
|
Login = Login
|
||||||
|
Password = Password
|
||||||
|
New_password = New password
|
||||||
|
Repeat_password = Repeat password
|
||||||
|
User_settings = User settings
|
||||||
|
Value = Value
|
||||||
|
Company = Company
|
||||||
|
Values = Values
|
||||||
|
Object = Object
|
||||||
|
sensor = sensor
|
||||||
|
Groups_of_objects = Groups of objects
|
||||||
|
Object_of_observation = Object of observation
|
||||||
|
Access = Access
|
||||||
|
Identifier = Identifier
|
||||||
|
Allow = Allow
|
||||||
|
Sensor = Sensor
|
||||||
|
objects = objects
|
||||||
|
Sensor_values = Sensor values
|
||||||
|
Units_of_measurement = Units of measurement
|
||||||
|
Fix_date = Fix date
|
||||||
|
Messages = Messages
|
||||||
|
Read = Read
|
||||||
|
Readed = Read
|
||||||
|
Content = Content
|
||||||
|
Date_read = Read date
|
||||||
|
Date_create = Date of creation
|
||||||
|
Day_mileage_and_speed = Day mileage and speed
|
||||||
|
Kilometers_distance = Kilometers distance
|
||||||
|
Kilometers_distance_without_signal = Kilometers distance without signal
|
||||||
|
Company_site = Company site
|
||||||
|
Contact_phone = Contact phone
|
||||||
|
Site = Site
|
||||||
|
Users = Users
|
||||||
|
Models_of_terminals = Models of terminals
|
||||||
|
Sensor_type = Sensor type
|
||||||
|
Sensor_of_devices = Sensor of devices
|
||||||
|
Measurement = Measurement
|
||||||
|
Sensor_model = Sensor model
|
||||||
|
Rounded_to = Approximately count to
|
||||||
|
Sensors_models = Sensors models
|
||||||
|
Count_objects = Number of objects
|
||||||
|
Group = Group
|
||||||
|
Stationary = Stationary
|
||||||
|
Icon = Icon
|
||||||
|
Objects_of_observation = Objects of observation
|
||||||
|
Count_of_sensors = Number of sensors
|
||||||
|
Icons = Icons
|
||||||
|
name = name
|
||||||
|
File = File
|
||||||
|
Size = Size
|
||||||
|
byte = byte
|
||||||
|
Geofences = Geozones
|
||||||
|
Geofence = Geozone
|
||||||
|
Coordinate = Coordinate
|
||||||
|
Position = Position
|
||||||
|
True_position = Right location
|
||||||
|
outside = outside
|
||||||
|
inside = inside
|
||||||
|
Boundary = Boundary
|
||||||
|
Inform = Inform
|
||||||
|
Inside = Inside
|
||||||
|
Sensor_of_object = Sensor of object
|
||||||
|
Sensors_of_objects = Sensors of objects
|
||||||
|
Last_value = Last value
|
||||||
|
Date_of_the_last_value = Date of the last value
|
||||||
|
Readings = Measerement
|
||||||
|
Devices = Devices
|
||||||
|
Sensor_readings = Sensor readings
|
||||||
|
GPS_readings = GPS data
|
||||||
|
Fixation_date = Date of fixing
|
||||||
|
Speed = Speed
|
||||||
|
Message = Message
|
||||||
|
Subject = Subject
|
||||||
|
Creation_date = Date of creation
|
||||||
|
Contents = Contents
|
||||||
|
User_messages = User messages
|
||||||
|
Reading_date = Reading date
|
||||||
|
Users_messages = Users messages
|
||||||
|
The_boundary_values_of_the_sensors = The limit values of the sensors
|
||||||
|
Minimum_value = Minimum value
|
||||||
|
Maximum_value = Maximum value
|
||||||
|
Only_on_the_boundary = Only on the boundary
|
||||||
|
Action = Action
|
||||||
|
Rule = Rule
|
||||||
|
Actions = Actions
|
||||||
|
Access_role = Access role
|
||||||
|
Parental_role = Parental_role
|
||||||
|
Role_name = Role name
|
||||||
|
Role_description = Role description
|
||||||
|
Role = Role
|
||||||
|
Phones = Phones
|
||||||
|
Password_expiration = Password expiration
|
||||||
|
Renewal_password = Renewal password
|
||||||
|
days = days
|
||||||
|
day = day
|
||||||
|
S_N_P = S.N.P.
|
||||||
|
Last_enter = Last enter
|
||||||
|
Roles = Roles
|
||||||
|
User_roles = User roles
|
||||||
|
Synchronization_objects = Synchronization objects
|
||||||
|
Synchronization_service = Synchronization service
|
||||||
|
Synchronization_order = Synchronization order
|
||||||
|
The_interval_between_the_update_in_s = The interval between the update in (s)
|
||||||
|
At_a_time = Records per one time
|
||||||
|
Time_of_the_last_synchronization = Time of the last synchronization
|
||||||
|
Service = Service
|
||||||
|
Order = Order
|
||||||
|
Interval = Interval
|
||||||
|
Limit = Limit
|
||||||
|
Synchronization_services = Synchronization services
|
||||||
|
Host = Host
|
||||||
|
History = History
|
||||||
|
Table = Table
|
||||||
|
Field = Field
|
||||||
|
Data = Data
|
||||||
|
Language = Language
|
||||||
|
Short_name = Short name
|
||||||
|
Translation = Translation
|
||||||
|
Sprayer_type = Sprayer type
|
||||||
|
Sprayers = Sprayers
|
||||||
|
Sprayer = Sprayer
|
||||||
|
Sprayer_type_name = Sprayer type name
|
||||||
|
Countries = Countries
|
||||||
|
Regions = Regions
|
||||||
|
Automated_system_of_data_collection = Automated system of data collection
|
||||||
|
Download_android_app_Inspector = Download the android app of Inspector
|
||||||
|
Run_the_application_of_the_situational_center = Run the application of the situational center
|
||||||
|
For_any_questions_contact_us_at_tel_Fax = Contact us by phone/fax
|
||||||
|
Your_session_is_canceled = Your session is canceled!
|
||||||
|
Simultaneous_operation_of_multiple_users = Simultaneous operation of multiple users!
|
||||||
|
You_are_not_logged_in = You are not logged in!
|
||||||
|
Not_found_the_requested_node: = Not found the requested node:
|
||||||
|
The_number_of_records_is_not_equal_to_one = The number of records is not equal to one!
|
||||||
|
Registration_Form_Inspector = Registration Form Inspector
|
||||||
|
Post = Post
|
||||||
|
The_device_ID = The device ID
|
||||||
|
Security_Code = Security Code
|
||||||
|
Update = Update
|
||||||
|
image = image
|
||||||
|
Registering = Registering
|
||||||
|
configuration_section_s = configuration section; %s
|
||||||
|
configuration_option_s = configuration option; %s
|
||||||
|
Locust_survey = Locust survey
|
||||||
|
Spray_monitoring = Spray monitoring
|
||||||
|
Reports = Reports
|
||||||
|
Report = Report
|
||||||
|
Map_layers = Map layers
|
||||||
|
Administration = Administration
|
||||||
|
Completed_forms_by_tablets = Completed forms by tablets
|
||||||
|
Filling_forms_by_countries = Filling forms by countries
|
||||||
|
Standard_survey_forms = Standard survey forms
|
||||||
|
Companies = Companies
|
||||||
|
Report_by_countries = Report by countries
|
||||||
|
Lists = Lists
|
||||||
|
Members = Members
|
||||||
|
Photo = Photo
|
||||||
|
Egg_pods_density_m2 = Egg-pods (density/m²)
|
||||||
|
Egg_pods_density = Egg-pods density
|
||||||
|
Egg_pod = Egg-pod
|
||||||
|
Eggs_average_number_egg_pod = Eggs (average number egg pod)
|
||||||
|
Number_forms = Number of forms
|
||||||
|
Open_data_on_the_map = Open data on the map
|
||||||
|
From_date = From date
|
||||||
|
To_date = To date
|
||||||
|
Distribution_of_locust = Information on the distribution of locust
|
||||||
|
Hide = Hide
|
||||||
|
For_what_year = For what year
|
||||||
|
Invalid_username_and_or_password = Invalid username and/or password!
|
||||||
|
Automated_system_of_data_collection_ASDC = Automated system of data collection (ASDC)
|
||||||
|
Method_filling_form = Method of filling the form
|
||||||
|
From_PDA = From tablet
|
||||||
|
From_WEB_interface = From WEB interface
|
||||||
|
PDA_registered = PDA registered
|
||||||
|
Yes = Yes
|
||||||
|
Not = Not
|
||||||
|
Displayed_data = Displayed data
|
||||||
|
Adult_density_m2 = Adult (density/m²)
|
||||||
|
Adult_density = Adult density
|
||||||
|
Hopper_density_m2 = Hopper (density/m²)
|
||||||
|
Swarms = Swarms
|
||||||
|
Bands = Hopper bands
|
||||||
|
Band_sizes_m2 = Band sizes (m²)
|
||||||
|
Open_in_a_table_format = Open in a table format
|
||||||
|
Request_data = Request data
|
||||||
|
Method_filling_form = Method filling form
|
||||||
|
From_DPA = From DPA
|
||||||
|
From_WEB_interface = From WEB interface
|
||||||
|
PDA_registered = Tablets registered
|
||||||
|
Yes = Yes
|
||||||
|
Not = Not
|
||||||
|
Open_in_a_table_format = Open in a table format
|
||||||
|
Request_data = Request data
|
||||||
|
Displayed_data = Displayed data
|
||||||
|
Open_in_a_table_format = Open in a table format
|
||||||
|
Request_data = Request data
|
||||||
|
The_tablet = The tablet
|
||||||
|
Spray_Monitoring_Form = Spray Monitoring Form
|
||||||
|
Information_on_the_distribution_of_locust = Information about locusts’ distribution and its control
|
||||||
|
Organization = Organization
|
||||||
|
User_roles = User_roles
|
||||||
|
Layout = Layer
|
||||||
|
Markings = Markings
|
||||||
|
Formulation = Formulation
|
||||||
|
Fledgling = Fledgling
|
||||||
|
Borns = Hatching
|
||||||
|
Breeding = Behaviour
|
||||||
|
Containers = Containers
|
||||||
|
Height = Height
|
||||||
|
Enemies = Natural enemies present
|
||||||
|
Report_by_tablets = Tablets’ report
|
||||||
|
Value = Value
|
||||||
|
Days = Days
|
||||||
|
Hours = Hours
|
||||||
|
Company_User = Company->User
|
||||||
|
Object_Geofence = Object->Geozone
|
||||||
|
Sensor_for_ComboBox = Sensor for drop-down list
|
||||||
|
SprayersTypes = Sprayers Types
|
||||||
|
CountriesRegions = The boundaries of Regions
|
||||||
|
CIT_Italian_locust = CIT - Italian locust
|
||||||
|
DMA_Moroccan_locust = DMA - Moroccan locust
|
||||||
|
LMI_Asian_migratory_locust = LMI - Asian migratory locust
|
||||||
|
Substrate = Substrate
|
||||||
|
Displaying_data = Displaying data
|
||||||
|
Show_data = Show data
|
||||||
|
All_types = All types
|
||||||
|
All_kinds = All kinds
|
||||||
|
Maps_of_areas_infested_above_Economic_Threshold_ET = Maps of areas infested above Economic Threshold (ET)
|
||||||
|
Maps_of_treated_areas_above_ET = Maps of treated areas above ET
|
||||||
|
Map_of_the_level_of_threat = Map of the level of threat
|
||||||
|
Download_QGIS_project = Download QGIS project
|
||||||
|
Caution = Caution
|
||||||
|
Calm = Calm
|
||||||
|
Danger = Danger
|
||||||
|
Increase = Increase
|
||||||
|
Decrease = Decrease
|
||||||
|
On_the_same_level = On the same level
|
||||||
|
Normal_Multiyear_average_level = Normal/Multiyear average level
|
||||||
|
Device_id = Device id
|
||||||
|
All_countries_of_CCA = All countries of CCA
|
||||||
|
The_Caucasus_countries_and_Russia = The Caucasus countries and Russia
|
||||||
|
Countries_of_Central_Asia_and_Russia = Countries of Central Asia and Russia
|
||||||
|
The_forecast_of_hatching_periods = The forecast of hatching periods
|
||||||
|
Weather_forecast = Weather forecast
|
||||||
|
soil_temperature = soil temperature
|
||||||
|
Soil_temperature = Soil temperature
|
||||||
|
Passwords_did_not_match = Passwords do not coincide!
|
||||||
|
The_s_is_not_Email = The "%s" is not Email!
|
||||||
|
Password_changed_successfully = Password changed successfully.
|
||||||
|
Failed_to_change_password = Failed to change password.
|
||||||
|
Check_the_entered_data = Check the entered data.
|
||||||
|
for_ = for
|
||||||
|
Earth_temperature = Earth temperature
|
||||||
|
Point = Point
|
||||||
|
Forecast_of_hours = Hours of forecast
|
||||||
|
hours = hours
|
||||||
|
Change_login_password = Change login/password
|
||||||
|
Type = Type
|
||||||
|
Legend = Legend
|
||||||
|
Spraying = Spraying
|
||||||
|
Chart = Chart
|
||||||
|
Percent = Percent
|
||||||
|
For_s_year = For %s year
|
||||||
|
and = and
|
||||||
|
Time_and_date_of_generation = Time and date of generation
|
||||||
|
Filter_options = Filter_options
|
||||||
|
Export_to_Excel = Export to Excel
|
||||||
|
Preparing_of_report = Preparing of report
|
||||||
|
Download_report = Download report
|
||||||
|
Old_password = Old password
|
||||||
|
Not_filled_Email_address = Not filled Email address
|
||||||
|
Wrong_XML_document = Wrong XML document
|
||||||
|
Organizations = Organizations
|
||||||
|
Vegetation = Vegetation
|
||||||
|
Please_enter_a_valid_email_address = Please enter a valid Email address
|
||||||
|
Log_in = Log in
|
||||||
|
Registration = Registration
|
||||||
|
Password_recovery = Password recovery
|
||||||
|
The_s_field_is_empty = The "%s" field is empty
|
||||||
|
New_user_is_registered = New user is registered.
|
||||||
|
The_password_has_been_sent_to_you_by_Email = The password has been sent to you by Email.
|
||||||
|
Others = Others
|
||||||
|
Absent = Absent
|
||||||
|
No_data = No data
|
||||||
|
District = District
|
||||||
|
Districts = Districts
|
||||||
|
The_tablets = The tablets
|
||||||
|
Other = Other
|
||||||
|
Regions = Oblasts
|
||||||
|
Region = Oblast
|
||||||
|
All = All
|
||||||
|
Edit = Edit
|
||||||
|
thous_ha = thous. ha
|
||||||
|
Thous_ha = Thous. ha
|
||||||
|
Average = Average
|
||||||
|
Year = Year
|
||||||
|
Deviation = Deviation
|
||||||
|
Dev_of_average = Dev. of average
|
||||||
|
Average = Average
|
||||||
|
Layouts = Layers
|
||||||
|
The_tabblet = Tablet
|
||||||
|
Forms_for_locust_survey = Locust Survey Form
|
||||||
|
Forms_for_spray_monitoring = Spray Monitoring Form
|
||||||
|
The_tablet_registered = The tablet is registered
|
||||||
|
Area_infested_ha = Infested area (ha)
|
||||||
|
Minimum_density_in_the_band_in_m2 = Minimum band density (/m²)
|
||||||
|
Maximum_density_in_the_band_in_m2 = Maximum band density (/m²)
|
||||||
|
Adult_density_ha = Adult density (/ha)
|
||||||
|
Adult_density_m2 = Adult density (/m²)
|
||||||
|
Feeding_and_roosting = Feeding and roosting
|
||||||
|
Density_of_swarm = Swarm density
|
||||||
|
Swarm_size_ha = Swarm size (ha)
|
||||||
|
Number_of_swarms = Number of swarms
|
||||||
|
Flying_direction = Flying direction
|
||||||
|
Flying_height = Flying height
|
||||||
|
Weather_air_temperature_C = Weather: air temperature (ºC)
|
||||||
|
Locust_Survey_Form = Locust Survey Form
|
||||||
|
Locust_Survey_Forms = Locust survey forms
|
||||||
|
Latitude_center_portion = Latitude (site center)
|
||||||
|
Longitude_center_portion = Longitude (site center)
|
||||||
|
INSECTICIDE_DATA = Insecticide information
|
||||||
|
Concentration_A_S = Concentration (%)
|
||||||
|
Relative_humidity_start = Relative humidity at the start (%)
|
||||||
|
Relative_humidity_end = Relative humidity at the end (%)
|
||||||
|
Wind_direction_start = Wind direction at the start
|
||||||
|
Wind_direction_end = Wind direction at the end
|
||||||
|
Density_m2 = Density (/m2)
|
||||||
|
Model_sprayer = Sprayer model
|
||||||
|
Biological_efficiency_of_treatment = Biological efficiency of treatment (%)
|
||||||
|
Inform_abaut_spraying = Informed about spraying
|
||||||
|
Inspect_thous_ha = Surveyed (thous. ha)
|
||||||
|
Responsible_person = Responsible person for the tablet (inspector)
|
||||||
|
Upload = Upload
|
||||||
|
Delete = Delete
|
||||||
|
Download = Download
|
||||||
|
Hoppers = Hoppers (scattered)
|
||||||
|
Kuliguli = Bands
|
||||||
|
Adult = Adult
|
||||||
|
Restore = Restore
|
||||||
|
Add_more = Add more
|
||||||
|
Successfully_added_data = Successfully added data
|
||||||
|
Are_you_sure_you_want_to_delete_the_entries = Are you sure you want to delete the entries?
|
||||||
|
Increase_by_1 = Increase by 1
|
||||||
|
Decrease_by_1 = Decrease by 1
|
||||||
|
No_results_were_found_for_your_search = No results were found for your search!
|
||||||
|
Selection = Selection
|
||||||
|
Add_record = Add record
|
||||||
|
Delete_record = Delete record
|
||||||
|
Filtering = Filtering
|
||||||
|
Invert_selection = Invert selection
|
||||||
|
Antenna_DGPS_used = Antenna: DGPS used
|
||||||
|
No_locust = No locust
|
||||||
|
Total_volume_of_working_solution_actually_applied_l = Total volume of working solution actually applied (l)
|
||||||
|
|
||||||
|
Triple_rinsed=Triple_rinsed
|
||||||
|
Punctured=Punctured
|
||||||
|
Taken_back_to_base=Taken_back_to_base
|
||||||
|
Left_in_field=Left_in_field
|
||||||
|
Buried=Buried
|
||||||
|
Burned=Burned
|
||||||
534
src/main/java/messages_en.properties_not_used
Normal file
534
src/main/java/messages_en.properties_not_used
Normal file
@ -0,0 +1,534 @@
|
|||||||
|
language = en
|
||||||
|
Language = Language
|
||||||
|
label_registration = Registration
|
||||||
|
label_login = Log In
|
||||||
|
Types_of_locust = Kinds of locust
|
||||||
|
Unknown_function = Unknown function!
|
||||||
|
Not_yet_implemented = Not yet implemented!
|
||||||
|
Type_of_locust = Type of locust
|
||||||
|
Kind_of_locust = Kind of locust
|
||||||
|
Name = Name
|
||||||
|
Types_of_locust = Kinds of locust
|
||||||
|
Age = Age
|
||||||
|
Biotop = Biotop
|
||||||
|
Sorting_index = Index of sorting
|
||||||
|
Capacity = Capacity
|
||||||
|
Capacities = Capacities
|
||||||
|
Types_of_operators = Types of operators
|
||||||
|
Types_of_operator = Types of operator
|
||||||
|
Density_of_vegetation = Density of vegetation
|
||||||
|
Damage = Damage
|
||||||
|
Density = Density
|
||||||
|
Directions = Directions
|
||||||
|
Angle = Angle
|
||||||
|
Methods_of_calculating_mortality = Methods of calculating mortality
|
||||||
|
Method_of_calculating_mortality = Method of calculating mortality
|
||||||
|
Phase = Phase
|
||||||
|
Condition_of_vegetation = Vegetation state
|
||||||
|
Actions_of_bands = Actions of hopper bands
|
||||||
|
Behaviors = Behaviour
|
||||||
|
Paintings = Paintings
|
||||||
|
Painting = Painting
|
||||||
|
Report_by_inspectors = Report by inspectors
|
||||||
|
From_date = From date
|
||||||
|
To_date = To date
|
||||||
|
Surname = Surname
|
||||||
|
Patronymic = Patronymic
|
||||||
|
Completed_questionnaires_locusts = Completed questionnaires locusts
|
||||||
|
Completed_questionnaires_for_the_destruction_of_locusts = Completed questionnaires for the destruction of locusts
|
||||||
|
FrmLocust = FrmLocust
|
||||||
|
User = User
|
||||||
|
Photo = Photo
|
||||||
|
Photo_name = Photo name
|
||||||
|
Country = Country
|
||||||
|
Area = Area
|
||||||
|
Region = Region
|
||||||
|
District = District
|
||||||
|
Observer = Observer
|
||||||
|
Date = Date
|
||||||
|
Terrain = Terrain
|
||||||
|
Latitude = Latitude
|
||||||
|
Longitude = Longitude
|
||||||
|
bio_hectare = Surveyed area (ha)
|
||||||
|
bio_biotope = Type of habitat
|
||||||
|
bio_greenery = Vegetation
|
||||||
|
bio_greenery_cover = The vegetation cover
|
||||||
|
bio_temperature = Weather: air temperature (ºC)
|
||||||
|
Weather = Weather
|
||||||
|
bio_wind = Weather: wind (m/s)
|
||||||
|
Wind_m_s = Weather: wind (m/s)
|
||||||
|
LOCUST_INFORMATION_INCLUDING_EGG_PODS = _LOCUST INFORMATION (INCLUDING EGG-PODS)
|
||||||
|
Air_temperature = Weather: air temperature (ºC)
|
||||||
|
locust_have = Present locusts
|
||||||
|
locust_populated = Populated area (ha)
|
||||||
|
eggs_capsules_area = Deposit egg capsules (area in m²)
|
||||||
|
eggs_capsules_density = Potbelly (density per m²)
|
||||||
|
Egg_bed_surface_in_ha = Egg-bed (surface in m²)
|
||||||
|
eggs_capsules = Eggs (average per pod)
|
||||||
|
eggs_live = Eggs (% viable)
|
||||||
|
eggs_enemies = The presence of natural enemies (what?)
|
||||||
|
larva_born = Born
|
||||||
|
larva_age = Age
|
||||||
|
larva_painting = Painting
|
||||||
|
larva_behavior = Behavior
|
||||||
|
larva_density = Density (per m²)
|
||||||
|
kuliguli_age = Mean age
|
||||||
|
kuliguli_density = Tighter. in the swarm (in m²)
|
||||||
|
kuliguli_size = Swarms size (m²)
|
||||||
|
kuliguli_count = By swarms
|
||||||
|
kuliguli_action = Behavior
|
||||||
|
imago_wing = Stand on the wing
|
||||||
|
imago_maturity = Maturity
|
||||||
|
imago_phase = Phase
|
||||||
|
imago_action = Behavior
|
||||||
|
imago_density = Density (per he.)
|
||||||
|
imago_copulation = Mating or egg-laying
|
||||||
|
imago_flying = Flying
|
||||||
|
swarm_maturity = Maturity
|
||||||
|
swarm_density = Density (per m²)
|
||||||
|
swarm_size = Size rooms (per km²)
|
||||||
|
swarm_count = Count of swarms
|
||||||
|
swarm_copulation = Mating or egg-laying
|
||||||
|
swarm_flying = Flying
|
||||||
|
swarm_height = Height
|
||||||
|
Description = Description
|
||||||
|
Inspector = Inspector
|
||||||
|
Changed = Changed
|
||||||
|
Lon = Longitude
|
||||||
|
Lat = Latitude
|
||||||
|
locust_type = Kind of locust
|
||||||
|
imago_laying = Egg-laying
|
||||||
|
swarm_laying = Egg-laying
|
||||||
|
Comments = Comments
|
||||||
|
Locust_Survey_Forms = Locust survey forms
|
||||||
|
Spray_Monitoring_Forms = Spray monitoring forms
|
||||||
|
FrmLocustDel = Standard forms for locust
|
||||||
|
infested_area = Populated area (ha)
|
||||||
|
treated_area = Cultivated area (ha)
|
||||||
|
vegetation_type = Type (wild, cultural)
|
||||||
|
Vegetation_type = Vegetation type
|
||||||
|
vegetation_height = Height (m)
|
||||||
|
vegetation_cover = Vegetation cover (%)
|
||||||
|
vegetation_crop = Vegetation
|
||||||
|
vegetation_damage = Damage to vegetation cover (%)
|
||||||
|
vegetation_damage_area = Area damage
|
||||||
|
insecticide_name = Commercial name
|
||||||
|
The_active_substance = The active substance
|
||||||
|
insecticide_concentration = Concentration (%)
|
||||||
|
insecticide_formulation = Formulation
|
||||||
|
insecticide_dose = Consumption rate (l/ha)
|
||||||
|
insecticide_rate = Working fluid flow (l/ha)
|
||||||
|
insecticide_expiry_date = Expiration
|
||||||
|
insecticide_mixed = Do insecticide mixed with water or solvent?
|
||||||
|
insecticide_mixed_name = Solvent
|
||||||
|
insecticide_mixed_ratio = If so, in what proportion (%)
|
||||||
|
weather_time_start = Start time
|
||||||
|
weather_time_end = End time
|
||||||
|
weather_temperature_start = Temperature at the start (°C)
|
||||||
|
weather_temperature_end = Temperature at the end (°C)
|
||||||
|
weather_humidity_start = Humidity start (%)
|
||||||
|
weather_humidity_end = Humidity end (%)
|
||||||
|
weather_wind_speed_start = Wind speed at the start (m/s)
|
||||||
|
weather_wind_speed_end = Wind speed at the end (m/s)
|
||||||
|
weather_direction_start = Start direction
|
||||||
|
weather_direction_end = End direction
|
||||||
|
weather_spray_direction_start = Spray direction at the start
|
||||||
|
weather_spray_direction_end = Spray direction at the end
|
||||||
|
locust_speciese = Species
|
||||||
|
locust_hoppers = Instar larvae
|
||||||
|
locust_density = Density (per m²)
|
||||||
|
spray_platform = Spray platform
|
||||||
|
spray_operator = Operator of spraying
|
||||||
|
spray_operator_name = Name of operator
|
||||||
|
spray_manufacturer_name = Brand sprayer
|
||||||
|
spray_model_name = Model of sprayer
|
||||||
|
spray_date_calibration = Date of last calibration
|
||||||
|
spray_height = Atomizer height above ground (m)
|
||||||
|
spray_width = Width (m)
|
||||||
|
spray_barrier = Barriers (m)
|
||||||
|
spray_speed = Speed (km/h)
|
||||||
|
spray_gps = Antenna: GPS used
|
||||||
|
spray_marking = Ground marking
|
||||||
|
efficacy_mortality = Locust mortality (%)
|
||||||
|
efficacy_passed_time = Elapsed time after working
|
||||||
|
efficacy_mortality_method = Method of counting mortality
|
||||||
|
safety_clothing = What protective clothing used operator
|
||||||
|
safety_inform = Who was notified about the workings?
|
||||||
|
safety_non_target = Impact on non-target organisms
|
||||||
|
safety_non_target_effect = If yes, what?
|
||||||
|
description = description
|
||||||
|
locust_kuliguli = Kuligi
|
||||||
|
locust_swarm = Swarms
|
||||||
|
locust_sparse = Sparse
|
||||||
|
Air_platform = Air platform
|
||||||
|
Ground_platform = Ground platform
|
||||||
|
Hand_platform = Hand platform
|
||||||
|
Type_of_operator = Type of operator
|
||||||
|
spray_barrier_width = Width (m)
|
||||||
|
spray_barrier_space = Space (m)
|
||||||
|
Terminal = Terminal
|
||||||
|
Named = Name
|
||||||
|
Phone = Phone
|
||||||
|
Serial_number = Serial number
|
||||||
|
Terminal_model = Terminal model
|
||||||
|
Terminals = Terminals
|
||||||
|
Coordinates_Geofence = Coordinates of geozone
|
||||||
|
Geofence = Geozone
|
||||||
|
Change_password = Change password
|
||||||
|
Login = Login
|
||||||
|
Password = Password
|
||||||
|
New_password = New password
|
||||||
|
Repeat_password = Repeat password
|
||||||
|
User_settings = User settings
|
||||||
|
Value = Value
|
||||||
|
Company = Company
|
||||||
|
Values = Values
|
||||||
|
Object = Object
|
||||||
|
sensor = sensor
|
||||||
|
Groups_of_objects = Groups of objects
|
||||||
|
Object_of_observation = Object of observation
|
||||||
|
Access = Access
|
||||||
|
Identifier = Identifier
|
||||||
|
Allow = Allow
|
||||||
|
Sensor = Sensor
|
||||||
|
objects = objects
|
||||||
|
Sensor_values = Sensor values
|
||||||
|
Units_of_measurement = Units of measurement
|
||||||
|
Fix_date = Fix date
|
||||||
|
Messages = Messages
|
||||||
|
Read = Read
|
||||||
|
Readed = Read
|
||||||
|
Content = Content
|
||||||
|
Date_read = Read date
|
||||||
|
Date_create = Date of creation
|
||||||
|
Day_mileage_and_speed = Day mileage and speed
|
||||||
|
Kilometers_distance = Kilometers distance
|
||||||
|
Kilometers_distance_without_signal = Kilometers distance without signal
|
||||||
|
Company_site = Company site
|
||||||
|
Contact_phone = Contact phone
|
||||||
|
Site = Site
|
||||||
|
Users = Users
|
||||||
|
Models_of_terminals = Models of terminals
|
||||||
|
Sensor_type = Sensor type
|
||||||
|
Sensor_of_devices = Sensor of devices
|
||||||
|
Measurement = Measurement
|
||||||
|
Sensor_model = Sensor model
|
||||||
|
Rounded_to = Approximately count to
|
||||||
|
Sensors_models = Sensors models
|
||||||
|
Count_objects = Number of objects
|
||||||
|
Group = Group
|
||||||
|
Stationary = Stationary
|
||||||
|
Icon = Icon
|
||||||
|
Objects_of_observation = Objects of observation
|
||||||
|
Count_of_sensors = Number of sensors
|
||||||
|
Icons = Icons
|
||||||
|
name = name
|
||||||
|
File = File
|
||||||
|
Size = Size
|
||||||
|
byte = byte
|
||||||
|
Geofences = Geozones
|
||||||
|
Geofence = Geozone
|
||||||
|
Coordinate = Coordinate
|
||||||
|
Position = Position
|
||||||
|
True_position = Right location
|
||||||
|
outside = outside
|
||||||
|
inside = inside
|
||||||
|
Boundary = Boundary
|
||||||
|
Inform = Inform
|
||||||
|
Inside = Inside
|
||||||
|
Sensor_of_object = Sensor of object
|
||||||
|
Sensors_of_objects = Sensors of objects
|
||||||
|
Last_value = Last value
|
||||||
|
Date_of_the_last_value = Date of the last value
|
||||||
|
Readings = Measerement
|
||||||
|
Devices = Devices
|
||||||
|
Sensor_readings = Sensor readings
|
||||||
|
GPS_readings = GPS data
|
||||||
|
Fixation_date = Date of fixing
|
||||||
|
Speed = Speed
|
||||||
|
Message = Message
|
||||||
|
Subject = Subject
|
||||||
|
Creation_date = Date of creation
|
||||||
|
Contents = Contents
|
||||||
|
User_messages = User messages
|
||||||
|
Reading_date = Reading date
|
||||||
|
Users_messages = Users messages
|
||||||
|
The_boundary_values_of_the_sensors = The limit values of the sensors
|
||||||
|
Minimum_value = Minimum value
|
||||||
|
Maximum_value = Maximum value
|
||||||
|
Only_on_the_boundary = Only on the boundary
|
||||||
|
Action = Action
|
||||||
|
Rule = Rule
|
||||||
|
Actions = Actions
|
||||||
|
Access_role = Access role
|
||||||
|
Parental_role = Parental_role
|
||||||
|
Role_name = Role name
|
||||||
|
Role_description = Role description
|
||||||
|
Role = Role
|
||||||
|
Phones = Phones
|
||||||
|
Password_expiration = Password expiration
|
||||||
|
Renewal_password = Renewal password
|
||||||
|
days = days
|
||||||
|
day = day
|
||||||
|
S_N_P = S.N.P.
|
||||||
|
Last_enter = Last enter
|
||||||
|
Roles = Roles
|
||||||
|
User_roles = User roles
|
||||||
|
Synchronization_objects = Synchronization objects
|
||||||
|
Synchronization_service = Synchronization service
|
||||||
|
Synchronization_order = Synchronization order
|
||||||
|
The_interval_between_the_update_in_s = The interval between the update in (s)
|
||||||
|
At_a_time = Records per one time
|
||||||
|
Time_of_the_last_synchronization = Time of the last synchronization
|
||||||
|
Service = Service
|
||||||
|
Order = Order
|
||||||
|
Interval = Interval
|
||||||
|
Limit = Limit
|
||||||
|
Synchronization_services = Synchronization services
|
||||||
|
Host = Host
|
||||||
|
History = History
|
||||||
|
Table = Table
|
||||||
|
Field = Field
|
||||||
|
Data = Data
|
||||||
|
Short_name = Short name
|
||||||
|
Translation = Translation
|
||||||
|
Sprayer_type = Sprayer type
|
||||||
|
Sprayers = Sprayers
|
||||||
|
Sprayer = Sprayer
|
||||||
|
Sprayer_type_name = Sprayer type name
|
||||||
|
Countries = Countries
|
||||||
|
Regions = Regions
|
||||||
|
Automated_system_of_data_collection = Automated system of data collection
|
||||||
|
Download_android_app_Inspector = Download the android app of Inspector
|
||||||
|
Run_the_application_of_the_situational_center = Run the application of the situational center
|
||||||
|
For_any_questions_contact_us_at_tel_Fax = Contact us by phone/fax
|
||||||
|
Your_session_is_canceled = Your session is canceled!
|
||||||
|
Simultaneous_operation_of_multiple_users = Simultaneous operation of multiple users!
|
||||||
|
You_are_not_logged_in = You are not logged in!
|
||||||
|
Not_found_the_requested_node: = Not found the requested node:
|
||||||
|
The_number_of_records_is_not_equal_to_one = The number of records is not equal to one!
|
||||||
|
Registration_Form_Inspector = Registration Form Inspector
|
||||||
|
Post = Post
|
||||||
|
The_device_ID = The device ID
|
||||||
|
Security_Code = Security Code
|
||||||
|
Update = Update
|
||||||
|
image = image
|
||||||
|
Registering = Registering
|
||||||
|
configuration_section_s = configuration section; %s
|
||||||
|
configuration_option_s = configuration option; %s
|
||||||
|
Locust_survey = Locust survey
|
||||||
|
Spray_monitoring = Spray monitoring
|
||||||
|
Reports = Reports
|
||||||
|
Report = Report
|
||||||
|
Map_layers = Map layers
|
||||||
|
Administration = Administration
|
||||||
|
Completed_forms_by_tablets = Completed forms by tablets
|
||||||
|
Filling_forms_by_countries = Filling forms by countries
|
||||||
|
Standard_survey_forms = Standard survey forms
|
||||||
|
Companies = Companies
|
||||||
|
Report_by_countries = Report by countries
|
||||||
|
Lists = Lists
|
||||||
|
Members = Members
|
||||||
|
Photo = Photo
|
||||||
|
Egg_pods_density_m2 = Egg-pods (density/m²)
|
||||||
|
Egg_pods_density = Egg-pods density
|
||||||
|
Egg_pod = Egg-pod
|
||||||
|
Eggs_average_number_egg_pod = Eggs (average number egg pod)
|
||||||
|
Number_forms = Number of forms
|
||||||
|
Open_data_on_the_map = Open data on the map
|
||||||
|
From_date = From date
|
||||||
|
To_date = To date
|
||||||
|
Distribution_of_locust = Information on the distribution of locust
|
||||||
|
Hide = Hide
|
||||||
|
For_what_year = For what year
|
||||||
|
Invalid_username_and_or_password = Invalid username and/or password!
|
||||||
|
Automated_system_of_data_collection_ASDC = Automated system of data collection (ASDC)
|
||||||
|
Method_filling_form = Method of filling the form
|
||||||
|
From_PDA = From tablet
|
||||||
|
From_WEB_interface = From WEB interface
|
||||||
|
PDA_registered = PDA registered
|
||||||
|
Yes = Yes
|
||||||
|
Not = Not
|
||||||
|
Displayed_data = Displayed data
|
||||||
|
Adult_density_m2 = Adult (density/m²)
|
||||||
|
Adult_density = Adult density
|
||||||
|
Hopper_density_m2 = Hopper (density/m²)
|
||||||
|
Swarms = Swarms
|
||||||
|
Bands = Hopper bands
|
||||||
|
Band_sizes_m2 = Band sizes (m²)
|
||||||
|
Open_in_a_table_format = Open in a table format
|
||||||
|
Request_data = Request data
|
||||||
|
Method_filling_form = Method filling form
|
||||||
|
From_DPA = From DPA
|
||||||
|
From_WEB_interface = From WEB interface
|
||||||
|
PDA_registered = Tablets registered
|
||||||
|
Yes = Yes
|
||||||
|
Not = Not
|
||||||
|
Open_in_a_table_format = Open in a table format
|
||||||
|
Request_data = Request data
|
||||||
|
Displayed_data = Displayed data
|
||||||
|
Open_in_a_table_format = Open in a table format
|
||||||
|
Request_data = Request data
|
||||||
|
The_tablet = The tablet
|
||||||
|
Spray_Monitoring_Form = Spray Monitoring Form
|
||||||
|
Information_on_the_distribution_of_locust = Information about locusts’ distribution and its control
|
||||||
|
Organization = Organization
|
||||||
|
User_roles = User_roles
|
||||||
|
Layout = Layer
|
||||||
|
Markings = Markings
|
||||||
|
Formulation = Formulation
|
||||||
|
Fledgling = Fledgling
|
||||||
|
Borns = Hatching
|
||||||
|
Breeding = Behaviour
|
||||||
|
Containers = Containers
|
||||||
|
Height = Height
|
||||||
|
Enemies = Natural enemies present
|
||||||
|
Report_by_tablets = Tablets’ report
|
||||||
|
Value = Value
|
||||||
|
Days = Days
|
||||||
|
Hours = Hours
|
||||||
|
Company_User = Company->User
|
||||||
|
Object_Geofence = Object->Geozone
|
||||||
|
Sensor_for_ComboBox = Sensor for drop-down list
|
||||||
|
SprayersTypes = Sprayers Types
|
||||||
|
CountriesRegions = The boundaries of Regions
|
||||||
|
CIT_Italian_locust = CIT - Italian locust
|
||||||
|
DMA_Moroccan_locust = DMA - Moroccan locust
|
||||||
|
LMI_Asian_migratory_locust = LMI - Asian migratory locust
|
||||||
|
Substrate = Substrate
|
||||||
|
Displaying_data = Displaying data
|
||||||
|
Show_data = Show data
|
||||||
|
All_types = All types
|
||||||
|
All_kinds = All kinds
|
||||||
|
Maps_of_areas_infested_above_Economic_Threshold_ET = Maps of areas infested above Economic Threshold (ET)
|
||||||
|
Maps_of_treated_areas_above_ET = Maps of treated areas above ET
|
||||||
|
Map_of_the_level_of_threat = Map of the level of threat
|
||||||
|
Download_QGIS_project = Download QGIS project
|
||||||
|
Caution = Caution
|
||||||
|
Calm = Calm
|
||||||
|
Danger = Danger
|
||||||
|
Increase = Increase
|
||||||
|
Decrease = Decrease
|
||||||
|
On_the_same_level = On the same level
|
||||||
|
Normal_Multiyear_average_level = Normal/Multiyear average level
|
||||||
|
Device_id = Device id
|
||||||
|
All_countries_of_CCA = All countries of CCA
|
||||||
|
The_Caucasus_countries_and_Russia = The Caucasus countries and Russia
|
||||||
|
Countries_of_Central_Asia_and_Russia = Countries of Central Asia and Russia
|
||||||
|
The_forecast_of_hatching_periods = The forecast of hatching periods
|
||||||
|
Weather_forecast = Weather forecast
|
||||||
|
soil_temperature = soil temperature
|
||||||
|
Soil_temperature = Soil temperature
|
||||||
|
Passwords_did_not_match = Passwords do not coincide!
|
||||||
|
The_s_is_not_Email = The "%s" is not Email!
|
||||||
|
Password_changed_successfully = Password changed successfully.
|
||||||
|
Failed_to_change_password = Failed to change password.
|
||||||
|
Check_the_entered_data = Check the entered data.
|
||||||
|
for_ = for
|
||||||
|
Earth_temperature = Earth temperature
|
||||||
|
Point = Point
|
||||||
|
Forecast_of_hours = Hours of forecast
|
||||||
|
hours = hours
|
||||||
|
Change_login_password = Change login/password
|
||||||
|
Type = Type
|
||||||
|
Legend = Legend
|
||||||
|
Spraying = Spraying
|
||||||
|
Chart = Chart
|
||||||
|
Percent = Percent
|
||||||
|
For_s_year = For %s year
|
||||||
|
and = and
|
||||||
|
Time_and_date_of_generation = Time and date of generation
|
||||||
|
Filter_options = Filter_options
|
||||||
|
Export_to_Excel = Export to Excel
|
||||||
|
Preparing_of_report = Preparing of report
|
||||||
|
Download_report = Download report
|
||||||
|
Old_password = Old password
|
||||||
|
Not_filled_Email_address = Not filled Email address
|
||||||
|
Wrong_XML_document = Wrong XML document
|
||||||
|
Organizations = Organizations
|
||||||
|
Vegetation = Vegetation
|
||||||
|
Please_enter_a_valid_email_address = Please enter a valid Email address
|
||||||
|
Log_in = Log in
|
||||||
|
Registration = Registration
|
||||||
|
Password_recovery = Password recovery
|
||||||
|
The_s_field_is_empty = The "%s" field is empty
|
||||||
|
New_user_is_registered = New user is registered.
|
||||||
|
The_password_has_been_sent_to_you_by_Email = The password has been sent to you by Email.
|
||||||
|
Others = Others
|
||||||
|
Absent = Absent
|
||||||
|
No_data = No data
|
||||||
|
District = District
|
||||||
|
Districts = Districts
|
||||||
|
The_tablets = The tablets
|
||||||
|
Other = Other
|
||||||
|
Regions = Oblasts
|
||||||
|
Region = Oblast
|
||||||
|
All = All
|
||||||
|
Edit = Edit
|
||||||
|
thous_ha = thous. ha
|
||||||
|
Thous_ha = Thous. ha
|
||||||
|
Average = Average
|
||||||
|
Year = Year
|
||||||
|
Deviation = Deviation
|
||||||
|
Dev_of_average = Dev. of average
|
||||||
|
Average = Average
|
||||||
|
Layouts = Layers
|
||||||
|
The_tabblet = Tablet
|
||||||
|
Forms_for_locust_survey = Locust Survey Form
|
||||||
|
Forms_for_spray_monitoring = Spray Monitoring Form
|
||||||
|
The_tablet_registered = The tablet is registered
|
||||||
|
Area_infested_ha = Infested area (ha)
|
||||||
|
Minimum_density_in_the_band_in_m2 = Minimum band density (/m²)
|
||||||
|
Maximum_density_in_the_band_in_m2 = Maximum band density (/m²)
|
||||||
|
Adult_density_ha = Adult density (/ha)
|
||||||
|
Adult_density_m2 = Adult density (/m²)
|
||||||
|
Feeding_and_roosting = Feeding and roosting
|
||||||
|
Density_of_swarm = Swarm density
|
||||||
|
Swarm_size_ha = Swarm size (ha)
|
||||||
|
Number_of_swarms = Number of swarms
|
||||||
|
Flying_direction = Flying direction
|
||||||
|
Flying_height = Flying height
|
||||||
|
Weather_air_temperature_C = Weather: air temperature (ºC)
|
||||||
|
Locust_Survey_Form = Locust Survey Form
|
||||||
|
Locust_Survey_Forms = Locust survey forms
|
||||||
|
Latitude_center_portion = Latitude (site center)
|
||||||
|
Longitude_center_portion = Longitude (site center)
|
||||||
|
INSECTICIDE_DATA = Insecticide information
|
||||||
|
Concentration_A_S = Concentration (%)
|
||||||
|
Relative_humidity_start = Relative humidity at the start (%)
|
||||||
|
Relative_humidity_end = Relative humidity at the end (%)
|
||||||
|
Wind_direction_start = Wind direction at the start
|
||||||
|
Wind_direction_end = Wind direction at the end
|
||||||
|
Density_m2 = Density (/m2)
|
||||||
|
Model_sprayer = Sprayer model
|
||||||
|
Biological_efficiency_of_treatment = Biological efficiency of treatment (%)
|
||||||
|
Inform_abaut_spraying = Informed about spraying
|
||||||
|
Inspect_thous_ha = Surveyed (thous. ha)
|
||||||
|
Responsible_person = Responsible person for the tablet (inspector)
|
||||||
|
Upload = Upload
|
||||||
|
Delete = Delete
|
||||||
|
Download = Download
|
||||||
|
Hoppers = Hoppers (scattered)
|
||||||
|
Kuliguli = Bands
|
||||||
|
Adult = Adult
|
||||||
|
Restore = Restore
|
||||||
|
Add_more = Add more
|
||||||
|
Successfully_added_data = Successfully added data
|
||||||
|
Are_you_sure_you_want_to_delete_the_entries = Are you sure you want to delete the entries?
|
||||||
|
Increase_by_1 = Increase by 1
|
||||||
|
Decrease_by_1 = Decrease by 1
|
||||||
|
No_results_were_found_for_your_search = No results were found for your search!
|
||||||
|
Selection = Selection
|
||||||
|
Add_record = Add record
|
||||||
|
Delete_record = Delete record
|
||||||
|
Filtering = Filtering
|
||||||
|
Invert_selection = Invert selection
|
||||||
|
Antenna_DGPS_used = Antenna: DGPS used
|
||||||
|
No_locust = No locust
|
||||||
|
Total_volume_of_working_solution_actually_applied_l = Total volume of working solution actually applied (l)
|
||||||
|
Triple_rinsed=Triple_rinsed
|
||||||
|
Punctured=Punctured
|
||||||
|
Taken_back_to_base=Taken_back_to_base
|
||||||
|
Left_in_field=Left_in_field
|
||||||
|
Buried=Buried
|
||||||
|
Burned=Burned
|
||||||
535
src/main/java/messages_hy.properties_not_used
Normal file
535
src/main/java/messages_hy.properties_not_used
Normal file
@ -0,0 +1,535 @@
|
|||||||
|
language = en
|
||||||
|
Language = Language
|
||||||
|
label_registration = Registration
|
||||||
|
label_login = Log In
|
||||||
|
Types_of_locust = Kinds of locust
|
||||||
|
Unknown_function = Unknown function!
|
||||||
|
Not_yet_implemented = Not yet implemented!
|
||||||
|
Type_of_locust = Type of locust
|
||||||
|
Kind_of_locust = Kind of locust
|
||||||
|
Name = Name
|
||||||
|
Types_of_locust = Kinds of locust
|
||||||
|
Age = Age
|
||||||
|
Biotop = Biotop
|
||||||
|
Sorting_index = Index of sorting
|
||||||
|
Capacity = Capacity
|
||||||
|
Capacities = Capacities
|
||||||
|
Types_of_operators = Types of operators
|
||||||
|
Types_of_operator = Types of operator
|
||||||
|
Density_of_vegetation = Density of vegetation
|
||||||
|
Damage = Damage
|
||||||
|
Density = Density
|
||||||
|
Directions = Directions
|
||||||
|
Angle = Angle
|
||||||
|
Methods_of_calculating_mortality = Methods of calculating mortality
|
||||||
|
Method_of_calculating_mortality = Method of calculating mortality
|
||||||
|
Phase = Phase
|
||||||
|
Condition_of_vegetation = Vegetation state
|
||||||
|
Actions_of_bands = Actions of hopper bands
|
||||||
|
Behaviors = Behaviour
|
||||||
|
Paintings = Paintings
|
||||||
|
Painting = Painting
|
||||||
|
Report_by_inspectors = Report by inspectors
|
||||||
|
From_date = From date
|
||||||
|
To_date = To date
|
||||||
|
Surname = Surname
|
||||||
|
Patronymic = Patronymic
|
||||||
|
Completed_questionnaires_locusts = Completed questionnaires locusts
|
||||||
|
Completed_questionnaires_for_the_destruction_of_locusts = Completed questionnaires for the destruction of locusts
|
||||||
|
FrmLocust = FrmLocust
|
||||||
|
User = User
|
||||||
|
Photo = Photo
|
||||||
|
Photo_name = Photo name
|
||||||
|
Country = Country
|
||||||
|
Area = Area
|
||||||
|
Region = Region
|
||||||
|
District = District
|
||||||
|
Observer = Observer
|
||||||
|
Date = Date
|
||||||
|
Terrain = Terrain
|
||||||
|
Latitude = Latitude
|
||||||
|
Longitude = Longitude
|
||||||
|
bio_hectare = Surveyed area (ha)
|
||||||
|
bio_biotope = Type of habitat
|
||||||
|
bio_greenery = Vegetation
|
||||||
|
bio_greenery_cover = The vegetation cover
|
||||||
|
bio_temperature = Weather: air temperature (ºC)
|
||||||
|
Weather = Weather
|
||||||
|
bio_wind = Weather: wind (m/s)
|
||||||
|
Wind_m_s = Weather: wind (m/s)
|
||||||
|
LOCUST_INFORMATION_INCLUDING_EGG_PODS = _LOCUST INFORMATION (INCLUDING EGG-PODS)
|
||||||
|
Air_temperature = Weather: air temperature (ºC)
|
||||||
|
locust_have = Present locusts
|
||||||
|
locust_populated = Populated area (ha)
|
||||||
|
eggs_capsules_area = Deposit egg capsules (area in m²)
|
||||||
|
eggs_capsules_density = Potbelly (density per m²)
|
||||||
|
Egg_bed_surface_in_ha = Egg-bed (surface in m²)
|
||||||
|
eggs_capsules = Eggs (average per pod)
|
||||||
|
eggs_live = Eggs (% viable)
|
||||||
|
eggs_enemies = The presence of natural enemies (what?)
|
||||||
|
larva_born = Born
|
||||||
|
larva_age = Age
|
||||||
|
larva_painting = Painting
|
||||||
|
larva_behavior = Behavior
|
||||||
|
larva_density = Density (per m²)
|
||||||
|
kuliguli_age = Mean age
|
||||||
|
kuliguli_density = Tighter. in the swarm (in m²)
|
||||||
|
kuliguli_size = Swarms size (m²)
|
||||||
|
kuliguli_count = By swarms
|
||||||
|
kuliguli_action = Behavior
|
||||||
|
imago_wing = Stand on the wing
|
||||||
|
imago_maturity = Maturity
|
||||||
|
imago_phase = Phase
|
||||||
|
imago_action = Behavior
|
||||||
|
imago_density = Density (per he.)
|
||||||
|
imago_copulation = Mating or egg-laying
|
||||||
|
imago_flying = Flying
|
||||||
|
swarm_maturity = Maturity
|
||||||
|
swarm_density = Density (per m²)
|
||||||
|
swarm_size = Size rooms (per km²)
|
||||||
|
swarm_count = Count of swarms
|
||||||
|
swarm_copulation = Mating or egg-laying
|
||||||
|
swarm_flying = Flying
|
||||||
|
swarm_height = Height
|
||||||
|
Description = Description
|
||||||
|
Inspector = Inspector
|
||||||
|
Changed = Changed
|
||||||
|
Lon = Longitude
|
||||||
|
Lat = Latitude
|
||||||
|
locust_type = Kind of locust
|
||||||
|
imago_laying = Egg-laying
|
||||||
|
swarm_laying = Egg-laying
|
||||||
|
Comments = Comments
|
||||||
|
Locust_Survey_Forms = Locust survey forms
|
||||||
|
Spray_Monitoring_Forms = Spray monitoring forms
|
||||||
|
FrmLocustDel = Standard forms for locust
|
||||||
|
infested_area = Populated area (ha)
|
||||||
|
treated_area = Cultivated area (ha)
|
||||||
|
vegetation_type = Type (wild, cultural)
|
||||||
|
Vegetation_type = Vegetation type
|
||||||
|
vegetation_height = Height (m)
|
||||||
|
vegetation_cover = Vegetation cover (%)
|
||||||
|
vegetation_crop = Vegetation
|
||||||
|
vegetation_damage = Damage to vegetation cover (%)
|
||||||
|
vegetation_damage_area = Area damage
|
||||||
|
insecticide_name = Commercial name
|
||||||
|
The_active_substance = The active substance
|
||||||
|
insecticide_concentration = Concentration (%)
|
||||||
|
insecticide_formulation = Formulation
|
||||||
|
insecticide_dose = Consumption rate (l/ha)
|
||||||
|
insecticide_rate = Working fluid flow (l/ha)
|
||||||
|
insecticide_expiry_date = Expiration
|
||||||
|
insecticide_mixed = Do insecticide mixed with water or solvent?
|
||||||
|
insecticide_mixed_name = Solvent
|
||||||
|
insecticide_mixed_ratio = If so, in what proportion (%)
|
||||||
|
weather_time_start = Start time
|
||||||
|
weather_time_end = End time
|
||||||
|
weather_temperature_start = Temperature at the start (°C)
|
||||||
|
weather_temperature_end = Temperature at the end (°C)
|
||||||
|
weather_humidity_start = Humidity start (%)
|
||||||
|
weather_humidity_end = Humidity end (%)
|
||||||
|
weather_wind_speed_start = Wind speed at the start (m/s)
|
||||||
|
weather_wind_speed_end = Wind speed at the end (m/s)
|
||||||
|
weather_direction_start = Start direction
|
||||||
|
weather_direction_end = End direction
|
||||||
|
weather_spray_direction_start = Spray direction at the start
|
||||||
|
weather_spray_direction_end = Spray direction at the end
|
||||||
|
locust_speciese = Species
|
||||||
|
locust_hoppers = Instar larvae
|
||||||
|
locust_density = Density (per m²)
|
||||||
|
spray_platform = Spray platform
|
||||||
|
spray_operator = Operator of spraying
|
||||||
|
spray_operator_name = Name of operator
|
||||||
|
spray_manufacturer_name = Brand sprayer
|
||||||
|
spray_model_name = Model of sprayer
|
||||||
|
spray_date_calibration = Date of last calibration
|
||||||
|
spray_height = Atomizer height above ground (m)
|
||||||
|
spray_width = Width (m)
|
||||||
|
spray_barrier = Barriers (m)
|
||||||
|
spray_speed = Speed (km/h)
|
||||||
|
spray_gps = Antenna: GPS used
|
||||||
|
spray_marking = Ground marking
|
||||||
|
efficacy_mortality = Locust mortality (%)
|
||||||
|
efficacy_passed_time = Elapsed time after working
|
||||||
|
efficacy_mortality_method = Method of counting mortality
|
||||||
|
safety_clothing = What protective clothing used operator
|
||||||
|
safety_inform = Who was notified about the workings?
|
||||||
|
safety_non_target = Impact on non-target organisms
|
||||||
|
safety_non_target_effect = If yes, what?
|
||||||
|
description = description
|
||||||
|
locust_kuliguli = Kuligi
|
||||||
|
locust_swarm = Swarms
|
||||||
|
locust_sparse = Sparse
|
||||||
|
Air_platform = Air platform
|
||||||
|
Ground_platform = Ground platform
|
||||||
|
Hand_platform = Hand platform
|
||||||
|
Type_of_operator = Type of operator
|
||||||
|
spray_barrier_width = Width (m)
|
||||||
|
spray_barrier_space = Space (m)
|
||||||
|
Terminal = Terminal
|
||||||
|
Named = Name
|
||||||
|
Phone = Phone
|
||||||
|
Serial_number = Serial number
|
||||||
|
Terminal_model = Terminal model
|
||||||
|
Terminals = Terminals
|
||||||
|
Coordinates_Geofence = Coordinates of geozone
|
||||||
|
Geofence = Geozone
|
||||||
|
Change_password = Change password
|
||||||
|
Login = Login
|
||||||
|
Password = Password
|
||||||
|
New_password = New password
|
||||||
|
Repeat_password = Repeat password
|
||||||
|
User_settings = User settings
|
||||||
|
Value = Value
|
||||||
|
Company = Company
|
||||||
|
Values = Values
|
||||||
|
Object = Object
|
||||||
|
sensor = sensor
|
||||||
|
Groups_of_objects = Groups of objects
|
||||||
|
Object_of_observation = Object of observation
|
||||||
|
Access = Access
|
||||||
|
Identifier = Identifier
|
||||||
|
Allow = Allow
|
||||||
|
Sensor = Sensor
|
||||||
|
objects = objects
|
||||||
|
Sensor_values = Sensor values
|
||||||
|
Units_of_measurement = Units of measurement
|
||||||
|
Fix_date = Fix date
|
||||||
|
Messages = Messages
|
||||||
|
Read = Read
|
||||||
|
Readed = Read
|
||||||
|
Content = Content
|
||||||
|
Date_read = Read date
|
||||||
|
Date_create = Date of creation
|
||||||
|
Day_mileage_and_speed = Day mileage and speed
|
||||||
|
Kilometers_distance = Kilometers distance
|
||||||
|
Kilometers_distance_without_signal = Kilometers distance without signal
|
||||||
|
Company_site = Company site
|
||||||
|
Contact_phone = Contact phone
|
||||||
|
Site = Site
|
||||||
|
Users = Users
|
||||||
|
Models_of_terminals = Models of terminals
|
||||||
|
Sensor_type = Sensor type
|
||||||
|
Sensor_of_devices = Sensor of devices
|
||||||
|
Measurement = Measurement
|
||||||
|
Sensor_model = Sensor model
|
||||||
|
Rounded_to = Approximately count to
|
||||||
|
Sensors_models = Sensors models
|
||||||
|
Count_objects = Number of objects
|
||||||
|
Group = Group
|
||||||
|
Stationary = Stationary
|
||||||
|
Icon = Icon
|
||||||
|
Objects_of_observation = Objects of observation
|
||||||
|
Count_of_sensors = Number of sensors
|
||||||
|
Icons = Icons
|
||||||
|
name = name
|
||||||
|
File = File
|
||||||
|
Size = Size
|
||||||
|
byte = byte
|
||||||
|
Geofences = Geozones
|
||||||
|
Geofence = Geozone
|
||||||
|
Coordinate = Coordinate
|
||||||
|
Position = Position
|
||||||
|
True_position = Right location
|
||||||
|
outside = outside
|
||||||
|
inside = inside
|
||||||
|
Boundary = Boundary
|
||||||
|
Inform = Inform
|
||||||
|
Inside = Inside
|
||||||
|
Sensor_of_object = Sensor of object
|
||||||
|
Sensors_of_objects = Sensors of objects
|
||||||
|
Last_value = Last value
|
||||||
|
Date_of_the_last_value = Date of the last value
|
||||||
|
Readings = Measerement
|
||||||
|
Devices = Devices
|
||||||
|
Sensor_readings = Sensor readings
|
||||||
|
GPS_readings = GPS data
|
||||||
|
Fixation_date = Date of fixing
|
||||||
|
Speed = Speed
|
||||||
|
Message = Message
|
||||||
|
Subject = Subject
|
||||||
|
Creation_date = Date of creation
|
||||||
|
Contents = Contents
|
||||||
|
User_messages = User messages
|
||||||
|
Reading_date = Reading date
|
||||||
|
Users_messages = Users messages
|
||||||
|
The_boundary_values_of_the_sensors = The limit values of the sensors
|
||||||
|
Minimum_value = Minimum value
|
||||||
|
Maximum_value = Maximum value
|
||||||
|
Only_on_the_boundary = Only on the boundary
|
||||||
|
Action = Action
|
||||||
|
Rule = Rule
|
||||||
|
Actions = Actions
|
||||||
|
Access_role = Access role
|
||||||
|
Parental_role = Parental_role
|
||||||
|
Role_name = Role name
|
||||||
|
Role_description = Role description
|
||||||
|
Role = Role
|
||||||
|
Phones = Phones
|
||||||
|
Password_expiration = Password expiration
|
||||||
|
Renewal_password = Renewal password
|
||||||
|
days = days
|
||||||
|
day = day
|
||||||
|
S_N_P = S.N.P.
|
||||||
|
Last_enter = Last enter
|
||||||
|
Roles = Roles
|
||||||
|
User_roles = User roles
|
||||||
|
Synchronization_objects = Synchronization objects
|
||||||
|
Synchronization_service = Synchronization service
|
||||||
|
Synchronization_order = Synchronization order
|
||||||
|
The_interval_between_the_update_in_s = The interval between the update in (s)
|
||||||
|
At_a_time = Records per one time
|
||||||
|
Time_of_the_last_synchronization = Time of the last synchronization
|
||||||
|
Service = Service
|
||||||
|
Order = Order
|
||||||
|
Interval = Interval
|
||||||
|
Limit = Limit
|
||||||
|
Synchronization_services = Synchronization services
|
||||||
|
Host = Host
|
||||||
|
History = History
|
||||||
|
Table = Table
|
||||||
|
Field = Field
|
||||||
|
Data = Data
|
||||||
|
Short_name = Short name
|
||||||
|
Translation = Translation
|
||||||
|
Sprayer_type = Sprayer type
|
||||||
|
Sprayers = Sprayers
|
||||||
|
Sprayer = Sprayer
|
||||||
|
Sprayer_type_name = Sprayer type name
|
||||||
|
Countries = Countries
|
||||||
|
Regions = Regions
|
||||||
|
Automated_system_of_data_collection = Automated system of data collection
|
||||||
|
Download_android_app_Inspector = Download the android app of Inspector
|
||||||
|
Run_the_application_of_the_situational_center = Run the application of the situational center
|
||||||
|
For_any_questions_contact_us_at_tel_Fax = Contact us by phone/fax
|
||||||
|
Your_session_is_canceled = Your session is canceled!
|
||||||
|
Simultaneous_operation_of_multiple_users = Simultaneous operation of multiple users!
|
||||||
|
You_are_not_logged_in = You are not logged in!
|
||||||
|
Not_found_the_requested_node: = Not found the requested node:
|
||||||
|
The_number_of_records_is_not_equal_to_one = The number of records is not equal to one!
|
||||||
|
Registration_Form_Inspector = Registration Form Inspector
|
||||||
|
Post = Post
|
||||||
|
The_device_ID = The device ID
|
||||||
|
Security_Code = Security Code
|
||||||
|
Update = Update
|
||||||
|
image = image
|
||||||
|
Registering = Registering
|
||||||
|
configuration_section_s = configuration section; %s
|
||||||
|
configuration_option_s = configuration option; %s
|
||||||
|
Locust_survey = Locust survey
|
||||||
|
Spray_monitoring = Spray monitoring
|
||||||
|
Reports = Reports
|
||||||
|
Report = Report
|
||||||
|
Map_layers = Map layers
|
||||||
|
Administration = Administration
|
||||||
|
Completed_forms_by_tablets = Completed forms by tablets
|
||||||
|
Filling_forms_by_countries = Filling forms by countries
|
||||||
|
Standard_survey_forms = Standard survey forms
|
||||||
|
Companies = Companies
|
||||||
|
Report_by_countries = Report by countries
|
||||||
|
Lists = Lists
|
||||||
|
Members = Members
|
||||||
|
Photo = Photo
|
||||||
|
Egg_pods_density_m2 = Egg-pods (density/m²)
|
||||||
|
Egg_pods_density = Egg-pods density
|
||||||
|
Egg_pod = Egg-pod
|
||||||
|
Eggs_average_number_egg_pod = Eggs (average number egg pod)
|
||||||
|
Number_forms = Number of forms
|
||||||
|
Open_data_on_the_map = Open data on the map
|
||||||
|
From_date = From date
|
||||||
|
To_date = To date
|
||||||
|
Distribution_of_locust = Information on the distribution of locust
|
||||||
|
Hide = Hide
|
||||||
|
For_what_year = For what year
|
||||||
|
Invalid_username_and_or_password = Invalid username and/or password!
|
||||||
|
Automated_system_of_data_collection_ASDC = Automated system of data collection (ASDC)
|
||||||
|
Method_filling_form = Method of filling the form
|
||||||
|
From_PDA = From tablet
|
||||||
|
From_WEB_interface = From WEB interface
|
||||||
|
PDA_registered = PDA registered
|
||||||
|
Yes = Yes
|
||||||
|
Not = Not
|
||||||
|
Displayed_data = Displayed data
|
||||||
|
Adult_density_m2 = Adult (density/m²)
|
||||||
|
Adult_density = Adult density
|
||||||
|
Hopper_density_m2 = Hopper (density/m²)
|
||||||
|
Swarms = Swarms
|
||||||
|
Bands = Hopper bands
|
||||||
|
Band_sizes_m2 = Band sizes (m²)
|
||||||
|
Open_in_a_table_format = Open in a table format
|
||||||
|
Request_data = Request data
|
||||||
|
Method_filling_form = Method filling form
|
||||||
|
From_DPA = From DPA
|
||||||
|
From_WEB_interface = From WEB interface
|
||||||
|
PDA_registered = Tablets registered
|
||||||
|
Yes = Yes
|
||||||
|
Not = Not
|
||||||
|
Open_in_a_table_format = Open in a table format
|
||||||
|
Request_data = Request data
|
||||||
|
Displayed_data = Displayed data
|
||||||
|
Open_in_a_table_format = Open in a table format
|
||||||
|
Request_data = Request data
|
||||||
|
The_tablet = The tablet
|
||||||
|
Spray_Monitoring_Form = Spray Monitoring Form
|
||||||
|
Information_on_the_distribution_of_locust = Information about locusts’ distribution and its control
|
||||||
|
Organization = Organization
|
||||||
|
User_roles = User_roles
|
||||||
|
Layout = Layer
|
||||||
|
Markings = Markings
|
||||||
|
Formulation = Formulation
|
||||||
|
Fledgling = Fledgling
|
||||||
|
Borns = Hatching
|
||||||
|
Breeding = Behaviour
|
||||||
|
Containers = Containers
|
||||||
|
Height = Height
|
||||||
|
Enemies = Natural enemies present
|
||||||
|
Report_by_tablets = Tablets’ report
|
||||||
|
Value = Value
|
||||||
|
Days = Days
|
||||||
|
Hours = Hours
|
||||||
|
Company_User = Company->User
|
||||||
|
Object_Geofence = Object->Geozone
|
||||||
|
Sensor_for_ComboBox = Sensor for drop-down list
|
||||||
|
SprayersTypes = Sprayers Types
|
||||||
|
CountriesRegions = The boundaries of Regions
|
||||||
|
CIT_Italian_locust = CIT - Italian locust
|
||||||
|
DMA_Moroccan_locust = DMA - Moroccan locust
|
||||||
|
LMI_Asian_migratory_locust = LMI - Asian migratory locust
|
||||||
|
Substrate = Substrate
|
||||||
|
Displaying_data = Displaying data
|
||||||
|
Show_data = Show data
|
||||||
|
All_types = All types
|
||||||
|
All_kinds = All kinds
|
||||||
|
Maps_of_areas_infested_above_Economic_Threshold_ET = Maps of areas infested above Economic Threshold (ET)
|
||||||
|
Maps_of_treated_areas_above_ET = Maps of treated areas above ET
|
||||||
|
Map_of_the_level_of_threat = Map of the level of threat
|
||||||
|
Download_QGIS_project = Download QGIS project
|
||||||
|
Caution = Caution
|
||||||
|
Calm = Calm
|
||||||
|
Danger = Danger
|
||||||
|
Increase = Increase
|
||||||
|
Decrease = Decrease
|
||||||
|
On_the_same_level = On the same level
|
||||||
|
Normal_Multiyear_average_level = Normal/Multiyear average level
|
||||||
|
Device_id = Device id
|
||||||
|
All_countries_of_CCA = All countries of CCA
|
||||||
|
The_Caucasus_countries_and_Russia = The Caucasus countries and Russia
|
||||||
|
Countries_of_Central_Asia_and_Russia = Countries of Central Asia and Russia
|
||||||
|
The_forecast_of_hatching_periods = The forecast of hatching periods
|
||||||
|
Weather_forecast = Weather forecast
|
||||||
|
soil_temperature = soil temperature
|
||||||
|
Soil_temperature = Soil temperature
|
||||||
|
Passwords_did_not_match = Passwords do not coincide!
|
||||||
|
The_s_is_not_Email = The "%s" is not Email!
|
||||||
|
Password_changed_successfully = Password changed successfully.
|
||||||
|
Failed_to_change_password = Failed to change password.
|
||||||
|
Check_the_entered_data = Check the entered data.
|
||||||
|
for_ = for
|
||||||
|
Earth_temperature = Earth temperature
|
||||||
|
Point = Point
|
||||||
|
Forecast_of_hours = Hours of forecast
|
||||||
|
hours = hours
|
||||||
|
Change_login_password = Change login/password
|
||||||
|
Type = Type
|
||||||
|
Legend = Legend
|
||||||
|
Spraying = Spraying
|
||||||
|
Chart = Chart
|
||||||
|
Percent = Percent
|
||||||
|
For_s_year = For %s year
|
||||||
|
and = and
|
||||||
|
Time_and_date_of_generation = Time and date of generation
|
||||||
|
Filter_options = Filter_options
|
||||||
|
Export_to_Excel = Export to Excel
|
||||||
|
Preparing_of_report = Preparing of report
|
||||||
|
Download_report = Download report
|
||||||
|
Old_password = Old password
|
||||||
|
Not_filled_Email_address = Not filled Email address
|
||||||
|
Wrong_XML_document = Wrong XML document
|
||||||
|
Organizations = Organizations
|
||||||
|
Vegetation = Vegetation
|
||||||
|
Please_enter_a_valid_email_address = Please enter a valid Email address
|
||||||
|
Log_in = Log in
|
||||||
|
Registration = Registration
|
||||||
|
Password_recovery = Password recovery
|
||||||
|
The_s_field_is_empty = The "%s" field is empty
|
||||||
|
New_user_is_registered = New user is registered.
|
||||||
|
The_password_has_been_sent_to_you_by_Email = The password has been sent to you by Email.
|
||||||
|
Others = Others
|
||||||
|
Absent = Absent
|
||||||
|
No_data = No data
|
||||||
|
District = District
|
||||||
|
Districts = Districts
|
||||||
|
The_tablets = The tablets
|
||||||
|
Other = Other
|
||||||
|
Regions = Oblasts
|
||||||
|
Region = Oblast
|
||||||
|
All = All
|
||||||
|
Edit = Edit
|
||||||
|
thous_ha = thous. ha
|
||||||
|
Thous_ha = Thous. ha
|
||||||
|
Average = Average
|
||||||
|
Year = Year
|
||||||
|
Deviation = Deviation
|
||||||
|
Dev_of_average = Dev. of average
|
||||||
|
Average = Average
|
||||||
|
Layouts = Layers
|
||||||
|
The_tabblet = Tablet
|
||||||
|
Forms_for_locust_survey = Locust Survey Form
|
||||||
|
Forms_for_spray_monitoring = Spray Monitoring Form
|
||||||
|
The_tablet_registered = The tablet is registered
|
||||||
|
Area_infested_ha = Infested area (ha)
|
||||||
|
Minimum_density_in_the_band_in_m2 = Minimum band density (/m²)
|
||||||
|
Maximum_density_in_the_band_in_m2 = Maximum band density (/m²)
|
||||||
|
Adult_density_ha = Adult density (/ha)
|
||||||
|
Adult_density_m2 = Adult density (/m²)
|
||||||
|
Feeding_and_roosting = Feeding and roosting
|
||||||
|
Density_of_swarm = Swarm density
|
||||||
|
Swarm_size_ha = Swarm size (ha)
|
||||||
|
Number_of_swarms = Number of swarms
|
||||||
|
Flying_direction = Flying direction
|
||||||
|
Flying_height = Flying height
|
||||||
|
Weather_air_temperature_C = Weather: air temperature (ºC)
|
||||||
|
Locust_Survey_Form = Locust Survey Form
|
||||||
|
Locust_Survey_Forms = Locust survey forms
|
||||||
|
Latitude_center_portion = Latitude (site center)
|
||||||
|
Longitude_center_portion = Longitude (site center)
|
||||||
|
INSECTICIDE_DATA = Insecticide information
|
||||||
|
Concentration_A_S = Concentration (%)
|
||||||
|
Relative_humidity_start = Relative humidity at the start (%)
|
||||||
|
Relative_humidity_end = Relative humidity at the end (%)
|
||||||
|
Wind_direction_start = Wind direction at the start
|
||||||
|
Wind_direction_end = Wind direction at the end
|
||||||
|
Density_m2 = Density (/m2)
|
||||||
|
Model_sprayer = Sprayer model
|
||||||
|
Biological_efficiency_of_treatment = Biological efficiency of treatment (%)
|
||||||
|
Inform_abaut_spraying = Informed about spraying
|
||||||
|
Inspect_thous_ha = Surveyed (thous. ha)
|
||||||
|
Responsible_person = Responsible person for the tablet (inspector)
|
||||||
|
Upload = Upload
|
||||||
|
Delete = Delete
|
||||||
|
Download = Download
|
||||||
|
Hoppers = Hoppers (scattered)
|
||||||
|
Kuliguli = Bands
|
||||||
|
Adult = Adult
|
||||||
|
Restore = Restore
|
||||||
|
Add_more = Add more
|
||||||
|
Successfully_added_data = Successfully added data
|
||||||
|
Are_you_sure_you_want_to_delete_the_entries = Are you sure you want to delete the entries?
|
||||||
|
Increase_by_1 = Increase by 1
|
||||||
|
Decrease_by_1 = Decrease by 1
|
||||||
|
No_results_were_found_for_your_search = No results were found for your search!
|
||||||
|
Selection = Selection
|
||||||
|
Add_record = Add record
|
||||||
|
Delete_record = Delete record
|
||||||
|
Filtering = Filtering
|
||||||
|
Invert_selection = Invert selection
|
||||||
|
Antenna_DGPS_used = Antenna: DGPS used
|
||||||
|
No_locust = No locust
|
||||||
|
Total_volume_of_working_solution_actually_applied_l = Total volume of working solution actually applied (l)
|
||||||
|
|
||||||
|
Triple_rinsed=Triple_rinsed
|
||||||
|
Punctured=Punctured
|
||||||
|
Taken_back_to_base=Taken_back_to_base
|
||||||
|
Left_in_field=Left_in_field
|
||||||
|
Buried=Buried
|
||||||
|
Burned=Burned
|
||||||
535
src/main/java/messages_ka.properties_not_used
Normal file
535
src/main/java/messages_ka.properties_not_used
Normal file
@ -0,0 +1,535 @@
|
|||||||
|
language = en
|
||||||
|
Language = Language
|
||||||
|
label_registration = Registration
|
||||||
|
label_login = Log In
|
||||||
|
Types_of_locust = Kinds of locust
|
||||||
|
Unknown_function = Unknown function!
|
||||||
|
Not_yet_implemented = Not yet implemented!
|
||||||
|
Type_of_locust = Type of locust
|
||||||
|
Kind_of_locust = Kind of locust
|
||||||
|
Name = Name
|
||||||
|
Types_of_locust = Kinds of locust
|
||||||
|
Age = Age
|
||||||
|
Biotop = Biotop
|
||||||
|
Sorting_index = Index of sorting
|
||||||
|
Capacity = Capacity
|
||||||
|
Capacities = Capacities
|
||||||
|
Types_of_operators = Types of operators
|
||||||
|
Types_of_operator = Types of operator
|
||||||
|
Density_of_vegetation = Density of vegetation
|
||||||
|
Damage = Damage
|
||||||
|
Density = Density
|
||||||
|
Directions = Directions
|
||||||
|
Angle = Angle
|
||||||
|
Methods_of_calculating_mortality = Methods of calculating mortality
|
||||||
|
Method_of_calculating_mortality = Method of calculating mortality
|
||||||
|
Phase = Phase
|
||||||
|
Condition_of_vegetation = Vegetation state
|
||||||
|
Actions_of_bands = Actions of hopper bands
|
||||||
|
Behaviors = Behaviour
|
||||||
|
Paintings = Paintings
|
||||||
|
Painting = Painting
|
||||||
|
Report_by_inspectors = Report by inspectors
|
||||||
|
From_date = From date
|
||||||
|
To_date = To date
|
||||||
|
Surname = Surname
|
||||||
|
Patronymic = Patronymic
|
||||||
|
Completed_questionnaires_locusts = Completed questionnaires locusts
|
||||||
|
Completed_questionnaires_for_the_destruction_of_locusts = Completed questionnaires for the destruction of locusts
|
||||||
|
FrmLocust = FrmLocust
|
||||||
|
User = User
|
||||||
|
Photo = Photo
|
||||||
|
Photo_name = Photo name
|
||||||
|
Country = Country
|
||||||
|
Area = Area
|
||||||
|
Region = Region
|
||||||
|
District = District
|
||||||
|
Observer = Observer
|
||||||
|
Date = Date
|
||||||
|
Terrain = Terrain
|
||||||
|
Latitude = Latitude
|
||||||
|
Longitude = Longitude
|
||||||
|
bio_hectare = Surveyed area (ha)
|
||||||
|
bio_biotope = Type of habitat
|
||||||
|
bio_greenery = Vegetation
|
||||||
|
bio_greenery_cover = The vegetation cover
|
||||||
|
bio_temperature = Weather: air temperature (ºC)
|
||||||
|
Weather = Weather
|
||||||
|
bio_wind = Weather: wind (m/s)
|
||||||
|
Wind_m_s = Weather: wind (m/s)
|
||||||
|
LOCUST_INFORMATION_INCLUDING_EGG_PODS = _LOCUST INFORMATION (INCLUDING EGG-PODS)
|
||||||
|
Air_temperature = Weather: air temperature (ºC)
|
||||||
|
locust_have = Present locusts
|
||||||
|
locust_populated = Populated area (ha)
|
||||||
|
eggs_capsules_area = Deposit egg capsules (area in m²)
|
||||||
|
eggs_capsules_density = Potbelly (density per m²)
|
||||||
|
Egg_bed_surface_in_ha = Egg-bed (surface in m²)
|
||||||
|
eggs_capsules = Eggs (average per pod)
|
||||||
|
eggs_live = Eggs (% viable)
|
||||||
|
eggs_enemies = The presence of natural enemies (what?)
|
||||||
|
larva_born = Born
|
||||||
|
larva_age = Age
|
||||||
|
larva_painting = Painting
|
||||||
|
larva_behavior = Behavior
|
||||||
|
larva_density = Density (per m²)
|
||||||
|
kuliguli_age = Mean age
|
||||||
|
kuliguli_density = Tighter. in the swarm (in m²)
|
||||||
|
kuliguli_size = Swarms size (m²)
|
||||||
|
kuliguli_count = By swarms
|
||||||
|
kuliguli_action = Behavior
|
||||||
|
imago_wing = Stand on the wing
|
||||||
|
imago_maturity = Maturity
|
||||||
|
imago_phase = Phase
|
||||||
|
imago_action = Behavior
|
||||||
|
imago_density = Density (per he.)
|
||||||
|
imago_copulation = Mating or egg-laying
|
||||||
|
imago_flying = Flying
|
||||||
|
swarm_maturity = Maturity
|
||||||
|
swarm_density = Density (per m²)
|
||||||
|
swarm_size = Size rooms (per km²)
|
||||||
|
swarm_count = Count of swarms
|
||||||
|
swarm_copulation = Mating or egg-laying
|
||||||
|
swarm_flying = Flying
|
||||||
|
swarm_height = Height
|
||||||
|
Description = Description
|
||||||
|
Inspector = Inspector
|
||||||
|
Changed = Changed
|
||||||
|
Lon = Longitude
|
||||||
|
Lat = Latitude
|
||||||
|
locust_type = Kind of locust
|
||||||
|
imago_laying = Egg-laying
|
||||||
|
swarm_laying = Egg-laying
|
||||||
|
Comments = Comments
|
||||||
|
Locust_Survey_Forms = Locust survey forms
|
||||||
|
Spray_Monitoring_Forms = Spray monitoring forms
|
||||||
|
FrmLocustDel = Standard forms for locust
|
||||||
|
infested_area = Populated area (ha)
|
||||||
|
treated_area = Cultivated area (ha)
|
||||||
|
vegetation_type = Type (wild, cultural)
|
||||||
|
Vegetation_type = Vegetation type
|
||||||
|
vegetation_height = Height (m)
|
||||||
|
vegetation_cover = Vegetation cover (%)
|
||||||
|
vegetation_crop = Vegetation
|
||||||
|
vegetation_damage = Damage to vegetation cover (%)
|
||||||
|
vegetation_damage_area = Area damage
|
||||||
|
insecticide_name = Commercial name
|
||||||
|
The_active_substance = The active substance
|
||||||
|
insecticide_concentration = Concentration (%)
|
||||||
|
insecticide_formulation = Formulation
|
||||||
|
insecticide_dose = Consumption rate (l/ha)
|
||||||
|
insecticide_rate = Working fluid flow (l/ha)
|
||||||
|
insecticide_expiry_date = Expiration
|
||||||
|
insecticide_mixed = Do insecticide mixed with water or solvent?
|
||||||
|
insecticide_mixed_name = Solvent
|
||||||
|
insecticide_mixed_ratio = If so, in what proportion (%)
|
||||||
|
weather_time_start = Start time
|
||||||
|
weather_time_end = End time
|
||||||
|
weather_temperature_start = Temperature at the start (°C)
|
||||||
|
weather_temperature_end = Temperature at the end (°C)
|
||||||
|
weather_humidity_start = Humidity start (%)
|
||||||
|
weather_humidity_end = Humidity end (%)
|
||||||
|
weather_wind_speed_start = Wind speed at the start (m/s)
|
||||||
|
weather_wind_speed_end = Wind speed at the end (m/s)
|
||||||
|
weather_direction_start = Start direction
|
||||||
|
weather_direction_end = End direction
|
||||||
|
weather_spray_direction_start = Spray direction at the start
|
||||||
|
weather_spray_direction_end = Spray direction at the end
|
||||||
|
locust_speciese = Species
|
||||||
|
locust_hoppers = Instar larvae
|
||||||
|
locust_density = Density (per m²)
|
||||||
|
spray_platform = Spray platform
|
||||||
|
spray_operator = Operator of spraying
|
||||||
|
spray_operator_name = Name of operator
|
||||||
|
spray_manufacturer_name = Brand sprayer
|
||||||
|
spray_model_name = Model of sprayer
|
||||||
|
spray_date_calibration = Date of last calibration
|
||||||
|
spray_height = Atomizer height above ground (m)
|
||||||
|
spray_width = Width (m)
|
||||||
|
spray_barrier = Barriers (m)
|
||||||
|
spray_speed = Speed (km/h)
|
||||||
|
spray_gps = Antenna: GPS used
|
||||||
|
spray_marking = Ground marking
|
||||||
|
efficacy_mortality = Locust mortality (%)
|
||||||
|
efficacy_passed_time = Elapsed time after working
|
||||||
|
efficacy_mortality_method = Method of counting mortality
|
||||||
|
safety_clothing = What protective clothing used operator
|
||||||
|
safety_inform = Who was notified about the workings?
|
||||||
|
safety_non_target = Impact on non-target organisms
|
||||||
|
safety_non_target_effect = If yes, what?
|
||||||
|
description = description
|
||||||
|
locust_kuliguli = Kuligi
|
||||||
|
locust_swarm = Swarms
|
||||||
|
locust_sparse = Sparse
|
||||||
|
Air_platform = Air platform
|
||||||
|
Ground_platform = Ground platform
|
||||||
|
Hand_platform = Hand platform
|
||||||
|
Type_of_operator = Type of operator
|
||||||
|
spray_barrier_width = Width (m)
|
||||||
|
spray_barrier_space = Space (m)
|
||||||
|
Terminal = Terminal
|
||||||
|
Named = Name
|
||||||
|
Phone = Phone
|
||||||
|
Serial_number = Serial number
|
||||||
|
Terminal_model = Terminal model
|
||||||
|
Terminals = Terminals
|
||||||
|
Coordinates_Geofence = Coordinates of geozone
|
||||||
|
Geofence = Geozone
|
||||||
|
Change_password = Change password
|
||||||
|
Login = Login
|
||||||
|
Password = Password
|
||||||
|
New_password = New password
|
||||||
|
Repeat_password = Repeat password
|
||||||
|
User_settings = User settings
|
||||||
|
Value = Value
|
||||||
|
Company = Company
|
||||||
|
Values = Values
|
||||||
|
Object = Object
|
||||||
|
sensor = sensor
|
||||||
|
Groups_of_objects = Groups of objects
|
||||||
|
Object_of_observation = Object of observation
|
||||||
|
Access = Access
|
||||||
|
Identifier = Identifier
|
||||||
|
Allow = Allow
|
||||||
|
Sensor = Sensor
|
||||||
|
objects = objects
|
||||||
|
Sensor_values = Sensor values
|
||||||
|
Units_of_measurement = Units of measurement
|
||||||
|
Fix_date = Fix date
|
||||||
|
Messages = Messages
|
||||||
|
Read = Read
|
||||||
|
Readed = Read
|
||||||
|
Content = Content
|
||||||
|
Date_read = Read date
|
||||||
|
Date_create = Date of creation
|
||||||
|
Day_mileage_and_speed = Day mileage and speed
|
||||||
|
Kilometers_distance = Kilometers distance
|
||||||
|
Kilometers_distance_without_signal = Kilometers distance without signal
|
||||||
|
Company_site = Company site
|
||||||
|
Contact_phone = Contact phone
|
||||||
|
Site = Site
|
||||||
|
Users = Users
|
||||||
|
Models_of_terminals = Models of terminals
|
||||||
|
Sensor_type = Sensor type
|
||||||
|
Sensor_of_devices = Sensor of devices
|
||||||
|
Measurement = Measurement
|
||||||
|
Sensor_model = Sensor model
|
||||||
|
Rounded_to = Approximately count to
|
||||||
|
Sensors_models = Sensors models
|
||||||
|
Count_objects = Number of objects
|
||||||
|
Group = Group
|
||||||
|
Stationary = Stationary
|
||||||
|
Icon = Icon
|
||||||
|
Objects_of_observation = Objects of observation
|
||||||
|
Count_of_sensors = Number of sensors
|
||||||
|
Icons = Icons
|
||||||
|
name = name
|
||||||
|
File = File
|
||||||
|
Size = Size
|
||||||
|
byte = byte
|
||||||
|
Geofences = Geozones
|
||||||
|
Geofence = Geozone
|
||||||
|
Coordinate = Coordinate
|
||||||
|
Position = Position
|
||||||
|
True_position = Right location
|
||||||
|
outside = outside
|
||||||
|
inside = inside
|
||||||
|
Boundary = Boundary
|
||||||
|
Inform = Inform
|
||||||
|
Inside = Inside
|
||||||
|
Sensor_of_object = Sensor of object
|
||||||
|
Sensors_of_objects = Sensors of objects
|
||||||
|
Last_value = Last value
|
||||||
|
Date_of_the_last_value = Date of the last value
|
||||||
|
Readings = Measerement
|
||||||
|
Devices = Devices
|
||||||
|
Sensor_readings = Sensor readings
|
||||||
|
GPS_readings = GPS data
|
||||||
|
Fixation_date = Date of fixing
|
||||||
|
Speed = Speed
|
||||||
|
Message = Message
|
||||||
|
Subject = Subject
|
||||||
|
Creation_date = Date of creation
|
||||||
|
Contents = Contents
|
||||||
|
User_messages = User messages
|
||||||
|
Reading_date = Reading date
|
||||||
|
Users_messages = Users messages
|
||||||
|
The_boundary_values_of_the_sensors = The limit values of the sensors
|
||||||
|
Minimum_value = Minimum value
|
||||||
|
Maximum_value = Maximum value
|
||||||
|
Only_on_the_boundary = Only on the boundary
|
||||||
|
Action = Action
|
||||||
|
Rule = Rule
|
||||||
|
Actions = Actions
|
||||||
|
Access_role = Access role
|
||||||
|
Parental_role = Parental_role
|
||||||
|
Role_name = Role name
|
||||||
|
Role_description = Role description
|
||||||
|
Role = Role
|
||||||
|
Phones = Phones
|
||||||
|
Password_expiration = Password expiration
|
||||||
|
Renewal_password = Renewal password
|
||||||
|
days = days
|
||||||
|
day = day
|
||||||
|
S_N_P = S.N.P.
|
||||||
|
Last_enter = Last enter
|
||||||
|
Roles = Roles
|
||||||
|
User_roles = User roles
|
||||||
|
Synchronization_objects = Synchronization objects
|
||||||
|
Synchronization_service = Synchronization service
|
||||||
|
Synchronization_order = Synchronization order
|
||||||
|
The_interval_between_the_update_in_s = The interval between the update in (s)
|
||||||
|
At_a_time = Records per one time
|
||||||
|
Time_of_the_last_synchronization = Time of the last synchronization
|
||||||
|
Service = Service
|
||||||
|
Order = Order
|
||||||
|
Interval = Interval
|
||||||
|
Limit = Limit
|
||||||
|
Synchronization_services = Synchronization services
|
||||||
|
Host = Host
|
||||||
|
History = History
|
||||||
|
Table = Table
|
||||||
|
Field = Field
|
||||||
|
Data = Data
|
||||||
|
Short_name = Short name
|
||||||
|
Translation = Translation
|
||||||
|
Sprayer_type = Sprayer type
|
||||||
|
Sprayers = Sprayers
|
||||||
|
Sprayer = Sprayer
|
||||||
|
Sprayer_type_name = Sprayer type name
|
||||||
|
Countries = Countries
|
||||||
|
Regions = Regions
|
||||||
|
Automated_system_of_data_collection = Automated system of data collection
|
||||||
|
Download_android_app_Inspector = Download the android app of Inspector
|
||||||
|
Run_the_application_of_the_situational_center = Run the application of the situational center
|
||||||
|
For_any_questions_contact_us_at_tel_Fax = Contact us by phone/fax
|
||||||
|
Your_session_is_canceled = Your session is canceled!
|
||||||
|
Simultaneous_operation_of_multiple_users = Simultaneous operation of multiple users!
|
||||||
|
You_are_not_logged_in = You are not logged in!
|
||||||
|
Not_found_the_requested_node: = Not found the requested node:
|
||||||
|
The_number_of_records_is_not_equal_to_one = The number of records is not equal to one!
|
||||||
|
Registration_Form_Inspector = Registration Form Inspector
|
||||||
|
Post = Post
|
||||||
|
The_device_ID = The device ID
|
||||||
|
Security_Code = Security Code
|
||||||
|
Update = Update
|
||||||
|
image = image
|
||||||
|
Registering = Registering
|
||||||
|
configuration_section_s = configuration section; %s
|
||||||
|
configuration_option_s = configuration option; %s
|
||||||
|
Locust_survey = Locust survey
|
||||||
|
Spray_monitoring = Spray monitoring
|
||||||
|
Reports = Reports
|
||||||
|
Report = Report
|
||||||
|
Map_layers = Map layers
|
||||||
|
Administration = Administration
|
||||||
|
Completed_forms_by_tablets = Completed forms by tablets
|
||||||
|
Filling_forms_by_countries = Filling forms by countries
|
||||||
|
Standard_survey_forms = Standard survey forms
|
||||||
|
Companies = Companies
|
||||||
|
Report_by_countries = Report by countries
|
||||||
|
Lists = Lists
|
||||||
|
Members = Members
|
||||||
|
Photo = Photo
|
||||||
|
Egg_pods_density_m2 = Egg-pods (density/m²)
|
||||||
|
Egg_pods_density = Egg-pods density
|
||||||
|
Egg_pod = Egg-pod
|
||||||
|
Eggs_average_number_egg_pod = Eggs (average number egg pod)
|
||||||
|
Number_forms = Number of forms
|
||||||
|
Open_data_on_the_map = Open data on the map
|
||||||
|
From_date = From date
|
||||||
|
To_date = To date
|
||||||
|
Distribution_of_locust = Information on the distribution of locust
|
||||||
|
Hide = Hide
|
||||||
|
For_what_year = For what year
|
||||||
|
Invalid_username_and_or_password = Invalid username and/or password!
|
||||||
|
Automated_system_of_data_collection_ASDC = Automated system of data collection (ASDC)
|
||||||
|
Method_filling_form = Method of filling the form
|
||||||
|
From_PDA = From tablet
|
||||||
|
From_WEB_interface = From WEB interface
|
||||||
|
PDA_registered = PDA registered
|
||||||
|
Yes = Yes
|
||||||
|
Not = Not
|
||||||
|
Displayed_data = Displayed data
|
||||||
|
Adult_density_m2 = Adult (density/m²)
|
||||||
|
Adult_density = Adult density
|
||||||
|
Hopper_density_m2 = Hopper (density/m²)
|
||||||
|
Swarms = Swarms
|
||||||
|
Bands = Hopper bands
|
||||||
|
Band_sizes_m2 = Band sizes (m²)
|
||||||
|
Open_in_a_table_format = Open in a table format
|
||||||
|
Request_data = Request data
|
||||||
|
Method_filling_form = Method filling form
|
||||||
|
From_DPA = From DPA
|
||||||
|
From_WEB_interface = From WEB interface
|
||||||
|
PDA_registered = Tablets registered
|
||||||
|
Yes = Yes
|
||||||
|
Not = Not
|
||||||
|
Open_in_a_table_format = Open in a table format
|
||||||
|
Request_data = Request data
|
||||||
|
Displayed_data = Displayed data
|
||||||
|
Open_in_a_table_format = Open in a table format
|
||||||
|
Request_data = Request data
|
||||||
|
The_tablet = The tablet
|
||||||
|
Spray_Monitoring_Form = Spray Monitoring Form
|
||||||
|
Information_on_the_distribution_of_locust = Information about locusts’ distribution and its control
|
||||||
|
Organization = Organization
|
||||||
|
User_roles = User_roles
|
||||||
|
Layout = Layer
|
||||||
|
Markings = Markings
|
||||||
|
Formulation = Formulation
|
||||||
|
Fledgling = Fledgling
|
||||||
|
Borns = Hatching
|
||||||
|
Breeding = Behaviour
|
||||||
|
Containers = Containers
|
||||||
|
Height = Height
|
||||||
|
Enemies = Natural enemies present
|
||||||
|
Report_by_tablets = Tablets’ report
|
||||||
|
Value = Value
|
||||||
|
Days = Days
|
||||||
|
Hours = Hours
|
||||||
|
Company_User = Company->User
|
||||||
|
Object_Geofence = Object->Geozone
|
||||||
|
Sensor_for_ComboBox = Sensor for drop-down list
|
||||||
|
SprayersTypes = Sprayers Types
|
||||||
|
CountriesRegions = The boundaries of Regions
|
||||||
|
CIT_Italian_locust = CIT - Italian locust
|
||||||
|
DMA_Moroccan_locust = DMA - Moroccan locust
|
||||||
|
LMI_Asian_migratory_locust = LMI - Asian migratory locust
|
||||||
|
Substrate = Substrate
|
||||||
|
Displaying_data = Displaying data
|
||||||
|
Show_data = Show data
|
||||||
|
All_types = All types
|
||||||
|
All_kinds = All kinds
|
||||||
|
Maps_of_areas_infested_above_Economic_Threshold_ET = Maps of areas infested above Economic Threshold (ET)
|
||||||
|
Maps_of_treated_areas_above_ET = Maps of treated areas above ET
|
||||||
|
Map_of_the_level_of_threat = Map of the level of threat
|
||||||
|
Download_QGIS_project = Download QGIS project
|
||||||
|
Caution = Caution
|
||||||
|
Calm = Calm
|
||||||
|
Danger = Danger
|
||||||
|
Increase = Increase
|
||||||
|
Decrease = Decrease
|
||||||
|
On_the_same_level = On the same level
|
||||||
|
Normal_Multiyear_average_level = Normal/Multiyear average level
|
||||||
|
Device_id = Device id
|
||||||
|
All_countries_of_CCA = All countries of CCA
|
||||||
|
The_Caucasus_countries_and_Russia = The Caucasus countries and Russia
|
||||||
|
Countries_of_Central_Asia_and_Russia = Countries of Central Asia and Russia
|
||||||
|
The_forecast_of_hatching_periods = The forecast of hatching periods
|
||||||
|
Weather_forecast = Weather forecast
|
||||||
|
soil_temperature = soil temperature
|
||||||
|
Soil_temperature = Soil temperature
|
||||||
|
Passwords_did_not_match = Passwords do not coincide!
|
||||||
|
The_s_is_not_Email = The "%s" is not Email!
|
||||||
|
Password_changed_successfully = Password changed successfully.
|
||||||
|
Failed_to_change_password = Failed to change password.
|
||||||
|
Check_the_entered_data = Check the entered data.
|
||||||
|
for_ = for
|
||||||
|
Earth_temperature = Earth temperature
|
||||||
|
Point = Point
|
||||||
|
Forecast_of_hours = Hours of forecast
|
||||||
|
hours = hours
|
||||||
|
Change_login_password = Change login/password
|
||||||
|
Type = Type
|
||||||
|
Legend = Legend
|
||||||
|
Spraying = Spraying
|
||||||
|
Chart = Chart
|
||||||
|
Percent = Percent
|
||||||
|
For_s_year = For %s year
|
||||||
|
and = and
|
||||||
|
Time_and_date_of_generation = Time and date of generation
|
||||||
|
Filter_options = Filter_options
|
||||||
|
Export_to_Excel = Export to Excel
|
||||||
|
Preparing_of_report = Preparing of report
|
||||||
|
Download_report = Download report
|
||||||
|
Old_password = Old password
|
||||||
|
Not_filled_Email_address = Not filled Email address
|
||||||
|
Wrong_XML_document = Wrong XML document
|
||||||
|
Organizations = Organizations
|
||||||
|
Vegetation = Vegetation
|
||||||
|
Please_enter_a_valid_email_address = Please enter a valid Email address
|
||||||
|
Log_in = Log in
|
||||||
|
Registration = Registration
|
||||||
|
Password_recovery = Password recovery
|
||||||
|
The_s_field_is_empty = The "%s" field is empty
|
||||||
|
New_user_is_registered = New user is registered.
|
||||||
|
The_password_has_been_sent_to_you_by_Email = The password has been sent to you by Email.
|
||||||
|
Others = Others
|
||||||
|
Absent = Absent
|
||||||
|
No_data = No data
|
||||||
|
District = District
|
||||||
|
Districts = Districts
|
||||||
|
The_tablets = The tablets
|
||||||
|
Other = Other
|
||||||
|
Regions = Oblasts
|
||||||
|
Region = Oblast
|
||||||
|
All = All
|
||||||
|
Edit = Edit
|
||||||
|
thous_ha = thous. ha
|
||||||
|
Thous_ha = Thous. ha
|
||||||
|
Average = Average
|
||||||
|
Year = Year
|
||||||
|
Deviation = Deviation
|
||||||
|
Dev_of_average = Dev. of average
|
||||||
|
Average = Average
|
||||||
|
Layouts = Layers
|
||||||
|
The_tabblet = Tablet
|
||||||
|
Forms_for_locust_survey = Locust Survey Form
|
||||||
|
Forms_for_spray_monitoring = Spray Monitoring Form
|
||||||
|
The_tablet_registered = The tablet is registered
|
||||||
|
Area_infested_ha = Infested area (ha)
|
||||||
|
Minimum_density_in_the_band_in_m2 = Minimum band density (/m²)
|
||||||
|
Maximum_density_in_the_band_in_m2 = Maximum band density (/m²)
|
||||||
|
Adult_density_ha = Adult density (/ha)
|
||||||
|
Adult_density_m2 = Adult density (/m²)
|
||||||
|
Feeding_and_roosting = Feeding and roosting
|
||||||
|
Density_of_swarm = Swarm density
|
||||||
|
Swarm_size_ha = Swarm size (ha)
|
||||||
|
Number_of_swarms = Number of swarms
|
||||||
|
Flying_direction = Flying direction
|
||||||
|
Flying_height = Flying height
|
||||||
|
Weather_air_temperature_C = Weather: air temperature (ºC)
|
||||||
|
Locust_Survey_Form = Locust Survey Form
|
||||||
|
Locust_Survey_Forms = Locust survey forms
|
||||||
|
Latitude_center_portion = Latitude (site center)
|
||||||
|
Longitude_center_portion = Longitude (site center)
|
||||||
|
INSECTICIDE_DATA = Insecticide information
|
||||||
|
Concentration_A_S = Concentration (%)
|
||||||
|
Relative_humidity_start = Relative humidity at the start (%)
|
||||||
|
Relative_humidity_end = Relative humidity at the end (%)
|
||||||
|
Wind_direction_start = Wind direction at the start
|
||||||
|
Wind_direction_end = Wind direction at the end
|
||||||
|
Density_m2 = Density (/m2)
|
||||||
|
Model_sprayer = Sprayer model
|
||||||
|
Biological_efficiency_of_treatment = Biological efficiency of treatment (%)
|
||||||
|
Inform_abaut_spraying = Informed about spraying
|
||||||
|
Inspect_thous_ha = Surveyed (thous. ha)
|
||||||
|
Responsible_person = Responsible person for the tablet (inspector)
|
||||||
|
Upload = Upload
|
||||||
|
Delete = Delete
|
||||||
|
Download = Download
|
||||||
|
Hoppers = Hoppers (scattered)
|
||||||
|
Kuliguli = Bands
|
||||||
|
Adult = Adult
|
||||||
|
Restore = Restore
|
||||||
|
Add_more = Add more
|
||||||
|
Successfully_added_data = Successfully added data
|
||||||
|
Are_you_sure_you_want_to_delete_the_entries = Are you sure you want to delete the entries?
|
||||||
|
Increase_by_1 = Increase by 1
|
||||||
|
Decrease_by_1 = Decrease by 1
|
||||||
|
No_results_were_found_for_your_search = No results were found for your search!
|
||||||
|
Selection = Selection
|
||||||
|
Add_record = Add record
|
||||||
|
Delete_record = Delete record
|
||||||
|
Filtering = Filtering
|
||||||
|
Invert_selection = Invert selection
|
||||||
|
Antenna_DGPS_used = Antenna: DGPS used
|
||||||
|
No_locust = No locust
|
||||||
|
Total_volume_of_working_solution_actually_applied_l = Total volume of working solution actually applied (l)
|
||||||
|
|
||||||
|
Triple_rinsed=Triple_rinsed
|
||||||
|
Punctured=Punctured
|
||||||
|
Taken_back_to_base=Taken_back_to_base
|
||||||
|
Left_in_field=Left_in_field
|
||||||
|
Buried=Buried
|
||||||
|
Burned=Burned
|
||||||
535
src/main/java/messages_kg.properties_not_used
Normal file
535
src/main/java/messages_kg.properties_not_used
Normal file
@ -0,0 +1,535 @@
|
|||||||
|
language = en
|
||||||
|
Language = Language
|
||||||
|
label_registration = Registration
|
||||||
|
label_login = Log In
|
||||||
|
Types_of_locust = Kinds of locust
|
||||||
|
Unknown_function = Unknown function!
|
||||||
|
Not_yet_implemented = Not yet implemented!
|
||||||
|
Type_of_locust = Type of locust
|
||||||
|
Kind_of_locust = Kind of locust
|
||||||
|
Name = Name
|
||||||
|
Types_of_locust = Kinds of locust
|
||||||
|
Age = Age
|
||||||
|
Biotop = Biotop
|
||||||
|
Sorting_index = Index of sorting
|
||||||
|
Capacity = Capacity
|
||||||
|
Capacities = Capacities
|
||||||
|
Types_of_operators = Types of operators
|
||||||
|
Types_of_operator = Types of operator
|
||||||
|
Density_of_vegetation = Density of vegetation
|
||||||
|
Damage = Damage
|
||||||
|
Density = Density
|
||||||
|
Directions = Directions
|
||||||
|
Angle = Angle
|
||||||
|
Methods_of_calculating_mortality = Methods of calculating mortality
|
||||||
|
Method_of_calculating_mortality = Method of calculating mortality
|
||||||
|
Phase = Phase
|
||||||
|
Condition_of_vegetation = Vegetation state
|
||||||
|
Actions_of_bands = Actions of hopper bands
|
||||||
|
Behaviors = Behaviour
|
||||||
|
Paintings = Paintings
|
||||||
|
Painting = Painting
|
||||||
|
Report_by_inspectors = Report by inspectors
|
||||||
|
From_date = From date
|
||||||
|
To_date = To date
|
||||||
|
Surname = Surname
|
||||||
|
Patronymic = Patronymic
|
||||||
|
Completed_questionnaires_locusts = Completed questionnaires locusts
|
||||||
|
Completed_questionnaires_for_the_destruction_of_locusts = Completed questionnaires for the destruction of locusts
|
||||||
|
FrmLocust = FrmLocust
|
||||||
|
User = User
|
||||||
|
Photo = Photo
|
||||||
|
Photo_name = Photo name
|
||||||
|
Country = Country
|
||||||
|
Area = Area
|
||||||
|
Region = Region
|
||||||
|
District = District
|
||||||
|
Observer = Observer
|
||||||
|
Date = Date
|
||||||
|
Terrain = Terrain
|
||||||
|
Latitude = Latitude
|
||||||
|
Longitude = Longitude
|
||||||
|
bio_hectare = Surveyed area (ha)
|
||||||
|
bio_biotope = Type of habitat
|
||||||
|
bio_greenery = Vegetation
|
||||||
|
bio_greenery_cover = The vegetation cover
|
||||||
|
bio_temperature = Weather: air temperature (ºC)
|
||||||
|
Weather = Weather
|
||||||
|
bio_wind = Weather: wind (m/s)
|
||||||
|
Wind_m_s = Weather: wind (m/s)
|
||||||
|
LOCUST_INFORMATION_INCLUDING_EGG_PODS = _LOCUST INFORMATION (INCLUDING EGG-PODS)
|
||||||
|
Air_temperature = Weather: air temperature (ºC)
|
||||||
|
locust_have = Present locusts
|
||||||
|
locust_populated = Populated area (ha)
|
||||||
|
eggs_capsules_area = Deposit egg capsules (area in m²)
|
||||||
|
eggs_capsules_density = Potbelly (density per m²)
|
||||||
|
Egg_bed_surface_in_ha = Egg-bed (surface in m²)
|
||||||
|
eggs_capsules = Eggs (average per pod)
|
||||||
|
eggs_live = Eggs (% viable)
|
||||||
|
eggs_enemies = The presence of natural enemies (what?)
|
||||||
|
larva_born = Born
|
||||||
|
larva_age = Age
|
||||||
|
larva_painting = Painting
|
||||||
|
larva_behavior = Behavior
|
||||||
|
larva_density = Density (per m²)
|
||||||
|
kuliguli_age = Mean age
|
||||||
|
kuliguli_density = Tighter. in the swarm (in m²)
|
||||||
|
kuliguli_size = Swarms size (m²)
|
||||||
|
kuliguli_count = By swarms
|
||||||
|
kuliguli_action = Behavior
|
||||||
|
imago_wing = Stand on the wing
|
||||||
|
imago_maturity = Maturity
|
||||||
|
imago_phase = Phase
|
||||||
|
imago_action = Behavior
|
||||||
|
imago_density = Density (per he.)
|
||||||
|
imago_copulation = Mating or egg-laying
|
||||||
|
imago_flying = Flying
|
||||||
|
swarm_maturity = Maturity
|
||||||
|
swarm_density = Density (per m²)
|
||||||
|
swarm_size = Size rooms (per km²)
|
||||||
|
swarm_count = Count of swarms
|
||||||
|
swarm_copulation = Mating or egg-laying
|
||||||
|
swarm_flying = Flying
|
||||||
|
swarm_height = Height
|
||||||
|
Description = Description
|
||||||
|
Inspector = Inspector
|
||||||
|
Changed = Changed
|
||||||
|
Lon = Longitude
|
||||||
|
Lat = Latitude
|
||||||
|
locust_type = Kind of locust
|
||||||
|
imago_laying = Egg-laying
|
||||||
|
swarm_laying = Egg-laying
|
||||||
|
Comments = Comments
|
||||||
|
Locust_Survey_Forms = Locust survey forms
|
||||||
|
Spray_Monitoring_Forms = Spray monitoring forms
|
||||||
|
FrmLocustDel = Standard forms for locust
|
||||||
|
infested_area = Populated area (ha)
|
||||||
|
treated_area = Cultivated area (ha)
|
||||||
|
vegetation_type = Type (wild, cultural)
|
||||||
|
Vegetation_type = Vegetation type
|
||||||
|
vegetation_height = Height (m)
|
||||||
|
vegetation_cover = Vegetation cover (%)
|
||||||
|
vegetation_crop = Vegetation
|
||||||
|
vegetation_damage = Damage to vegetation cover (%)
|
||||||
|
vegetation_damage_area = Area damage
|
||||||
|
insecticide_name = Commercial name
|
||||||
|
The_active_substance = The active substance
|
||||||
|
insecticide_concentration = Concentration (%)
|
||||||
|
insecticide_formulation = Formulation
|
||||||
|
insecticide_dose = Consumption rate (l/ha)
|
||||||
|
insecticide_rate = Working fluid flow (l/ha)
|
||||||
|
insecticide_expiry_date = Expiration
|
||||||
|
insecticide_mixed = Do insecticide mixed with water or solvent?
|
||||||
|
insecticide_mixed_name = Solvent
|
||||||
|
insecticide_mixed_ratio = If so, in what proportion (%)
|
||||||
|
weather_time_start = Start time
|
||||||
|
weather_time_end = End time
|
||||||
|
weather_temperature_start = Temperature at the start (°C)
|
||||||
|
weather_temperature_end = Temperature at the end (°C)
|
||||||
|
weather_humidity_start = Humidity start (%)
|
||||||
|
weather_humidity_end = Humidity end (%)
|
||||||
|
weather_wind_speed_start = Wind speed at the start (m/s)
|
||||||
|
weather_wind_speed_end = Wind speed at the end (m/s)
|
||||||
|
weather_direction_start = Start direction
|
||||||
|
weather_direction_end = End direction
|
||||||
|
weather_spray_direction_start = Spray direction at the start
|
||||||
|
weather_spray_direction_end = Spray direction at the end
|
||||||
|
locust_speciese = Species
|
||||||
|
locust_hoppers = Instar larvae
|
||||||
|
locust_density = Density (per m²)
|
||||||
|
spray_platform = Spray platform
|
||||||
|
spray_operator = Operator of spraying
|
||||||
|
spray_operator_name = Name of operator
|
||||||
|
spray_manufacturer_name = Brand sprayer
|
||||||
|
spray_model_name = Model of sprayer
|
||||||
|
spray_date_calibration = Date of last calibration
|
||||||
|
spray_height = Atomizer height above ground (m)
|
||||||
|
spray_width = Width (m)
|
||||||
|
spray_barrier = Barriers (m)
|
||||||
|
spray_speed = Speed (km/h)
|
||||||
|
spray_gps = Antenna: GPS used
|
||||||
|
spray_marking = Ground marking
|
||||||
|
efficacy_mortality = Locust mortality (%)
|
||||||
|
efficacy_passed_time = Elapsed time after working
|
||||||
|
efficacy_mortality_method = Method of counting mortality
|
||||||
|
safety_clothing = What protective clothing used operator
|
||||||
|
safety_inform = Who was notified about the workings?
|
||||||
|
safety_non_target = Impact on non-target organisms
|
||||||
|
safety_non_target_effect = If yes, what?
|
||||||
|
description = description
|
||||||
|
locust_kuliguli = Kuligi
|
||||||
|
locust_swarm = Swarms
|
||||||
|
locust_sparse = Sparse
|
||||||
|
Air_platform = Air platform
|
||||||
|
Ground_platform = Ground platform
|
||||||
|
Hand_platform = Hand platform
|
||||||
|
Type_of_operator = Type of operator
|
||||||
|
spray_barrier_width = Width (m)
|
||||||
|
spray_barrier_space = Space (m)
|
||||||
|
Terminal = Terminal
|
||||||
|
Named = Name
|
||||||
|
Phone = Phone
|
||||||
|
Serial_number = Serial number
|
||||||
|
Terminal_model = Terminal model
|
||||||
|
Terminals = Terminals
|
||||||
|
Coordinates_Geofence = Coordinates of geozone
|
||||||
|
Geofence = Geozone
|
||||||
|
Change_password = Change password
|
||||||
|
Login = Login
|
||||||
|
Password = Password
|
||||||
|
New_password = New password
|
||||||
|
Repeat_password = Repeat password
|
||||||
|
User_settings = User settings
|
||||||
|
Value = Value
|
||||||
|
Company = Company
|
||||||
|
Values = Values
|
||||||
|
Object = Object
|
||||||
|
sensor = sensor
|
||||||
|
Groups_of_objects = Groups of objects
|
||||||
|
Object_of_observation = Object of observation
|
||||||
|
Access = Access
|
||||||
|
Identifier = Identifier
|
||||||
|
Allow = Allow
|
||||||
|
Sensor = Sensor
|
||||||
|
objects = objects
|
||||||
|
Sensor_values = Sensor values
|
||||||
|
Units_of_measurement = Units of measurement
|
||||||
|
Fix_date = Fix date
|
||||||
|
Messages = Messages
|
||||||
|
Read = Read
|
||||||
|
Readed = Read
|
||||||
|
Content = Content
|
||||||
|
Date_read = Read date
|
||||||
|
Date_create = Date of creation
|
||||||
|
Day_mileage_and_speed = Day mileage and speed
|
||||||
|
Kilometers_distance = Kilometers distance
|
||||||
|
Kilometers_distance_without_signal = Kilometers distance without signal
|
||||||
|
Company_site = Company site
|
||||||
|
Contact_phone = Contact phone
|
||||||
|
Site = Site
|
||||||
|
Users = Users
|
||||||
|
Models_of_terminals = Models of terminals
|
||||||
|
Sensor_type = Sensor type
|
||||||
|
Sensor_of_devices = Sensor of devices
|
||||||
|
Measurement = Measurement
|
||||||
|
Sensor_model = Sensor model
|
||||||
|
Rounded_to = Approximately count to
|
||||||
|
Sensors_models = Sensors models
|
||||||
|
Count_objects = Number of objects
|
||||||
|
Group = Group
|
||||||
|
Stationary = Stationary
|
||||||
|
Icon = Icon
|
||||||
|
Objects_of_observation = Objects of observation
|
||||||
|
Count_of_sensors = Number of sensors
|
||||||
|
Icons = Icons
|
||||||
|
name = name
|
||||||
|
File = File
|
||||||
|
Size = Size
|
||||||
|
byte = byte
|
||||||
|
Geofences = Geozones
|
||||||
|
Geofence = Geozone
|
||||||
|
Coordinate = Coordinate
|
||||||
|
Position = Position
|
||||||
|
True_position = Right location
|
||||||
|
outside = outside
|
||||||
|
inside = inside
|
||||||
|
Boundary = Boundary
|
||||||
|
Inform = Inform
|
||||||
|
Inside = Inside
|
||||||
|
Sensor_of_object = Sensor of object
|
||||||
|
Sensors_of_objects = Sensors of objects
|
||||||
|
Last_value = Last value
|
||||||
|
Date_of_the_last_value = Date of the last value
|
||||||
|
Readings = Measerement
|
||||||
|
Devices = Devices
|
||||||
|
Sensor_readings = Sensor readings
|
||||||
|
GPS_readings = GPS data
|
||||||
|
Fixation_date = Date of fixing
|
||||||
|
Speed = Speed
|
||||||
|
Message = Message
|
||||||
|
Subject = Subject
|
||||||
|
Creation_date = Date of creation
|
||||||
|
Contents = Contents
|
||||||
|
User_messages = User messages
|
||||||
|
Reading_date = Reading date
|
||||||
|
Users_messages = Users messages
|
||||||
|
The_boundary_values_of_the_sensors = The limit values of the sensors
|
||||||
|
Minimum_value = Minimum value
|
||||||
|
Maximum_value = Maximum value
|
||||||
|
Only_on_the_boundary = Only on the boundary
|
||||||
|
Action = Action
|
||||||
|
Rule = Rule
|
||||||
|
Actions = Actions
|
||||||
|
Access_role = Access role
|
||||||
|
Parental_role = Parental_role
|
||||||
|
Role_name = Role name
|
||||||
|
Role_description = Role description
|
||||||
|
Role = Role
|
||||||
|
Phones = Phones
|
||||||
|
Password_expiration = Password expiration
|
||||||
|
Renewal_password = Renewal password
|
||||||
|
days = days
|
||||||
|
day = day
|
||||||
|
S_N_P = S.N.P.
|
||||||
|
Last_enter = Last enter
|
||||||
|
Roles = Roles
|
||||||
|
User_roles = User roles
|
||||||
|
Synchronization_objects = Synchronization objects
|
||||||
|
Synchronization_service = Synchronization service
|
||||||
|
Synchronization_order = Synchronization order
|
||||||
|
The_interval_between_the_update_in_s = The interval between the update in (s)
|
||||||
|
At_a_time = Records per one time
|
||||||
|
Time_of_the_last_synchronization = Time of the last synchronization
|
||||||
|
Service = Service
|
||||||
|
Order = Order
|
||||||
|
Interval = Interval
|
||||||
|
Limit = Limit
|
||||||
|
Synchronization_services = Synchronization services
|
||||||
|
Host = Host
|
||||||
|
History = History
|
||||||
|
Table = Table
|
||||||
|
Field = Field
|
||||||
|
Data = Data
|
||||||
|
Short_name = Short name
|
||||||
|
Translation = Translation
|
||||||
|
Sprayer_type = Sprayer type
|
||||||
|
Sprayers = Sprayers
|
||||||
|
Sprayer = Sprayer
|
||||||
|
Sprayer_type_name = Sprayer type name
|
||||||
|
Countries = Countries
|
||||||
|
Regions = Regions
|
||||||
|
Automated_system_of_data_collection = Automated system of data collection
|
||||||
|
Download_android_app_Inspector = Download the android app of Inspector
|
||||||
|
Run_the_application_of_the_situational_center = Run the application of the situational center
|
||||||
|
For_any_questions_contact_us_at_tel_Fax = Contact us by phone/fax
|
||||||
|
Your_session_is_canceled = Your session is canceled!
|
||||||
|
Simultaneous_operation_of_multiple_users = Simultaneous operation of multiple users!
|
||||||
|
You_are_not_logged_in = You are not logged in!
|
||||||
|
Not_found_the_requested_node: = Not found the requested node:
|
||||||
|
The_number_of_records_is_not_equal_to_one = The number of records is not equal to one!
|
||||||
|
Registration_Form_Inspector = Registration Form Inspector
|
||||||
|
Post = Post
|
||||||
|
The_device_ID = The device ID
|
||||||
|
Security_Code = Security Code
|
||||||
|
Update = Update
|
||||||
|
image = image
|
||||||
|
Registering = Registering
|
||||||
|
configuration_section_s = configuration section; %s
|
||||||
|
configuration_option_s = configuration option; %s
|
||||||
|
Locust_survey = Locust survey
|
||||||
|
Spray_monitoring = Spray monitoring
|
||||||
|
Reports = Reports
|
||||||
|
Report = Report
|
||||||
|
Map_layers = Map layers
|
||||||
|
Administration = Administration
|
||||||
|
Completed_forms_by_tablets = Completed forms by tablets
|
||||||
|
Filling_forms_by_countries = Filling forms by countries
|
||||||
|
Standard_survey_forms = Standard survey forms
|
||||||
|
Companies = Companies
|
||||||
|
Report_by_countries = Report by countries
|
||||||
|
Lists = Lists
|
||||||
|
Members = Members
|
||||||
|
Photo = Photo
|
||||||
|
Egg_pods_density_m2 = Egg-pods (density/m²)
|
||||||
|
Egg_pods_density = Egg-pods density
|
||||||
|
Egg_pod = Egg-pod
|
||||||
|
Eggs_average_number_egg_pod = Eggs (average number egg pod)
|
||||||
|
Number_forms = Number of forms
|
||||||
|
Open_data_on_the_map = Open data on the map
|
||||||
|
From_date = From date
|
||||||
|
To_date = To date
|
||||||
|
Distribution_of_locust = Information on the distribution of locust
|
||||||
|
Hide = Hide
|
||||||
|
For_what_year = For what year
|
||||||
|
Invalid_username_and_or_password = Invalid username and/or password!
|
||||||
|
Automated_system_of_data_collection_ASDC = Automated system of data collection (ASDC)
|
||||||
|
Method_filling_form = Method of filling the form
|
||||||
|
From_PDA = From tablet
|
||||||
|
From_WEB_interface = From WEB interface
|
||||||
|
PDA_registered = PDA registered
|
||||||
|
Yes = Yes
|
||||||
|
Not = Not
|
||||||
|
Displayed_data = Displayed data
|
||||||
|
Adult_density_m2 = Adult (density/m²)
|
||||||
|
Adult_density = Adult density
|
||||||
|
Hopper_density_m2 = Hopper (density/m²)
|
||||||
|
Swarms = Swarms
|
||||||
|
Bands = Hopper bands
|
||||||
|
Band_sizes_m2 = Band sizes (m²)
|
||||||
|
Open_in_a_table_format = Open in a table format
|
||||||
|
Request_data = Request data
|
||||||
|
Method_filling_form = Method filling form
|
||||||
|
From_DPA = From DPA
|
||||||
|
From_WEB_interface = From WEB interface
|
||||||
|
PDA_registered = Tablets registered
|
||||||
|
Yes = Yes
|
||||||
|
Not = Not
|
||||||
|
Open_in_a_table_format = Open in a table format
|
||||||
|
Request_data = Request data
|
||||||
|
Displayed_data = Displayed data
|
||||||
|
Open_in_a_table_format = Open in a table format
|
||||||
|
Request_data = Request data
|
||||||
|
The_tablet = The tablet
|
||||||
|
Spray_Monitoring_Form = Spray Monitoring Form
|
||||||
|
Information_on_the_distribution_of_locust = Information about locusts’ distribution and its control
|
||||||
|
Organization = Organization
|
||||||
|
User_roles = User_roles
|
||||||
|
Layout = Layer
|
||||||
|
Markings = Markings
|
||||||
|
Formulation = Formulation
|
||||||
|
Fledgling = Fledgling
|
||||||
|
Borns = Hatching
|
||||||
|
Breeding = Behaviour
|
||||||
|
Containers = Containers
|
||||||
|
Height = Height
|
||||||
|
Enemies = Natural enemies present
|
||||||
|
Report_by_tablets = Tablets’ report
|
||||||
|
Value = Value
|
||||||
|
Days = Days
|
||||||
|
Hours = Hours
|
||||||
|
Company_User = Company->User
|
||||||
|
Object_Geofence = Object->Geozone
|
||||||
|
Sensor_for_ComboBox = Sensor for drop-down list
|
||||||
|
SprayersTypes = Sprayers Types
|
||||||
|
CountriesRegions = The boundaries of Regions
|
||||||
|
CIT_Italian_locust = CIT - Italian locust
|
||||||
|
DMA_Moroccan_locust = DMA - Moroccan locust
|
||||||
|
LMI_Asian_migratory_locust = LMI - Asian migratory locust
|
||||||
|
Substrate = Substrate
|
||||||
|
Displaying_data = Displaying data
|
||||||
|
Show_data = Show data
|
||||||
|
All_types = All types
|
||||||
|
All_kinds = All kinds
|
||||||
|
Maps_of_areas_infested_above_Economic_Threshold_ET = Maps of areas infested above Economic Threshold (ET)
|
||||||
|
Maps_of_treated_areas_above_ET = Maps of treated areas above ET
|
||||||
|
Map_of_the_level_of_threat = Map of the level of threat
|
||||||
|
Download_QGIS_project = Download QGIS project
|
||||||
|
Caution = Caution
|
||||||
|
Calm = Calm
|
||||||
|
Danger = Danger
|
||||||
|
Increase = Increase
|
||||||
|
Decrease = Decrease
|
||||||
|
On_the_same_level = On the same level
|
||||||
|
Normal_Multiyear_average_level = Normal/Multiyear average level
|
||||||
|
Device_id = Device id
|
||||||
|
All_countries_of_CCA = All countries of CCA
|
||||||
|
The_Caucasus_countries_and_Russia = The Caucasus countries and Russia
|
||||||
|
Countries_of_Central_Asia_and_Russia = Countries of Central Asia and Russia
|
||||||
|
The_forecast_of_hatching_periods = The forecast of hatching periods
|
||||||
|
Weather_forecast = Weather forecast
|
||||||
|
soil_temperature = soil temperature
|
||||||
|
Soil_temperature = Soil temperature
|
||||||
|
Passwords_did_not_match = Passwords do not coincide!
|
||||||
|
The_s_is_not_Email = The "%s" is not Email!
|
||||||
|
Password_changed_successfully = Password changed successfully.
|
||||||
|
Failed_to_change_password = Failed to change password.
|
||||||
|
Check_the_entered_data = Check the entered data.
|
||||||
|
for_ = for
|
||||||
|
Earth_temperature = Earth temperature
|
||||||
|
Point = Point
|
||||||
|
Forecast_of_hours = Hours of forecast
|
||||||
|
hours = hours
|
||||||
|
Change_login_password = Change login/password
|
||||||
|
Type = Type
|
||||||
|
Legend = Legend
|
||||||
|
Spraying = Spraying
|
||||||
|
Chart = Chart
|
||||||
|
Percent = Percent
|
||||||
|
For_s_year = For %s year
|
||||||
|
and = and
|
||||||
|
Time_and_date_of_generation = Time and date of generation
|
||||||
|
Filter_options = Filter_options
|
||||||
|
Export_to_Excel = Export to Excel
|
||||||
|
Preparing_of_report = Preparing of report
|
||||||
|
Download_report = Download report
|
||||||
|
Old_password = Old password
|
||||||
|
Not_filled_Email_address = Not filled Email address
|
||||||
|
Wrong_XML_document = Wrong XML document
|
||||||
|
Organizations = Organizations
|
||||||
|
Vegetation = Vegetation
|
||||||
|
Please_enter_a_valid_email_address = Please enter a valid Email address
|
||||||
|
Log_in = Log in
|
||||||
|
Registration = Registration
|
||||||
|
Password_recovery = Password recovery
|
||||||
|
The_s_field_is_empty = The "%s" field is empty
|
||||||
|
New_user_is_registered = New user is registered.
|
||||||
|
The_password_has_been_sent_to_you_by_Email = The password has been sent to you by Email.
|
||||||
|
Others = Others
|
||||||
|
Absent = Absent
|
||||||
|
No_data = No data
|
||||||
|
District = District
|
||||||
|
Districts = Districts
|
||||||
|
The_tablets = The tablets
|
||||||
|
Other = Other
|
||||||
|
Regions = Oblasts
|
||||||
|
Region = Oblast
|
||||||
|
All = All
|
||||||
|
Edit = Edit
|
||||||
|
thous_ha = thous. ha
|
||||||
|
Thous_ha = Thous. ha
|
||||||
|
Average = Average
|
||||||
|
Year = Year
|
||||||
|
Deviation = Deviation
|
||||||
|
Dev_of_average = Dev. of average
|
||||||
|
Average = Average
|
||||||
|
Layouts = Layers
|
||||||
|
The_tabblet = Tablet
|
||||||
|
Forms_for_locust_survey = Locust Survey Form
|
||||||
|
Forms_for_spray_monitoring = Spray Monitoring Form
|
||||||
|
The_tablet_registered = The tablet is registered
|
||||||
|
Area_infested_ha = Infested area (ha)
|
||||||
|
Minimum_density_in_the_band_in_m2 = Minimum band density (/m²)
|
||||||
|
Maximum_density_in_the_band_in_m2 = Maximum band density (/m²)
|
||||||
|
Adult_density_ha = Adult density (/ha)
|
||||||
|
Adult_density_m2 = Adult density (/m²)
|
||||||
|
Feeding_and_roosting = Feeding and roosting
|
||||||
|
Density_of_swarm = Swarm density
|
||||||
|
Swarm_size_ha = Swarm size (ha)
|
||||||
|
Number_of_swarms = Number of swarms
|
||||||
|
Flying_direction = Flying direction
|
||||||
|
Flying_height = Flying height
|
||||||
|
Weather_air_temperature_C = Weather: air temperature (ºC)
|
||||||
|
Locust_Survey_Form = Locust Survey Form
|
||||||
|
Locust_Survey_Forms = Locust survey forms
|
||||||
|
Latitude_center_portion = Latitude (site center)
|
||||||
|
Longitude_center_portion = Longitude (site center)
|
||||||
|
INSECTICIDE_DATA = Insecticide information
|
||||||
|
Concentration_A_S = Concentration (%)
|
||||||
|
Relative_humidity_start = Relative humidity at the start (%)
|
||||||
|
Relative_humidity_end = Relative humidity at the end (%)
|
||||||
|
Wind_direction_start = Wind direction at the start
|
||||||
|
Wind_direction_end = Wind direction at the end
|
||||||
|
Density_m2 = Density (/m2)
|
||||||
|
Model_sprayer = Sprayer model
|
||||||
|
Biological_efficiency_of_treatment = Biological efficiency of treatment (%)
|
||||||
|
Inform_abaut_spraying = Informed about spraying
|
||||||
|
Inspect_thous_ha = Surveyed (thous. ha)
|
||||||
|
Responsible_person = Responsible person for the tablet (inspector)
|
||||||
|
Upload = Upload
|
||||||
|
Delete = Delete
|
||||||
|
Download = Download
|
||||||
|
Hoppers = Hoppers (scattered)
|
||||||
|
Kuliguli = Bands
|
||||||
|
Adult = Adult
|
||||||
|
Restore = Restore
|
||||||
|
Add_more = Add more
|
||||||
|
Successfully_added_data = Successfully added data
|
||||||
|
Are_you_sure_you_want_to_delete_the_entries = Are you sure you want to delete the entries?
|
||||||
|
Increase_by_1 = Increase by 1
|
||||||
|
Decrease_by_1 = Decrease by 1
|
||||||
|
No_results_were_found_for_your_search = No results were found for your search!
|
||||||
|
Selection = Selection
|
||||||
|
Add_record = Add record
|
||||||
|
Delete_record = Delete record
|
||||||
|
Filtering = Filtering
|
||||||
|
Invert_selection = Invert selection
|
||||||
|
Antenna_DGPS_used = Antenna: DGPS used
|
||||||
|
No_locust = No locust
|
||||||
|
Total_volume_of_working_solution_actually_applied_l = Total volume of working solution actually applied (l)
|
||||||
|
|
||||||
|
Triple_rinsed=Triple_rinsed
|
||||||
|
Punctured=Punctured
|
||||||
|
Taken_back_to_base=Taken_back_to_base
|
||||||
|
Left_in_field=Left_in_field
|
||||||
|
Buried=Buried
|
||||||
|
Burned=Burned
|
||||||
534
src/main/java/messages_ps.properties_not_used
Normal file
534
src/main/java/messages_ps.properties_not_used
Normal file
@ -0,0 +1,534 @@
|
|||||||
|
language = ps
|
||||||
|
Language = Language
|
||||||
|
label_registration = Registration
|
||||||
|
label_login = Log In
|
||||||
|
Types_of_locust = Kinds of locust
|
||||||
|
Unknown_function = Unknown function!
|
||||||
|
Not_yet_implemented = Not yet implemented!
|
||||||
|
Type_of_locust = Type of locust
|
||||||
|
Kind_of_locust = Kind of locust
|
||||||
|
Name = Name
|
||||||
|
Types_of_locust = Kinds of locust
|
||||||
|
Age = Age
|
||||||
|
Biotop = Biotop
|
||||||
|
Sorting_index = Index of sorting
|
||||||
|
Capacity = Capacity
|
||||||
|
Capacities = Capacities
|
||||||
|
Types_of_operators = Types of operators
|
||||||
|
Types_of_operator = Types of operator
|
||||||
|
Density_of_vegetation = Density of vegetation
|
||||||
|
Damage = Damage
|
||||||
|
Density = Density
|
||||||
|
Directions = Directions
|
||||||
|
Angle = Angle
|
||||||
|
Methods_of_calculating_mortality = Methods of calculating mortality
|
||||||
|
Method_of_calculating_mortality = Method of calculating mortality
|
||||||
|
Phase = Phase
|
||||||
|
Condition_of_vegetation = Vegetation state
|
||||||
|
Actions_of_bands = Actions of hopper bands
|
||||||
|
Behaviors = Behaviour
|
||||||
|
Paintings = Paintings
|
||||||
|
Painting = Painting
|
||||||
|
Report_by_inspectors = Report by inspectors
|
||||||
|
From_date = From date
|
||||||
|
To_date = To date
|
||||||
|
Surname = Surname
|
||||||
|
Patronymic = Patronymic
|
||||||
|
Completed_questionnaires_locusts = Completed questionnaires locusts
|
||||||
|
Completed_questionnaires_for_the_destruction_of_locusts = Completed questionnaires for the destruction of locusts
|
||||||
|
FrmLocust = FrmLocust
|
||||||
|
User = User
|
||||||
|
Photo = Photo
|
||||||
|
Photo_name = Photo name
|
||||||
|
Country = Country
|
||||||
|
Area = Area
|
||||||
|
Region = Region
|
||||||
|
District = District
|
||||||
|
Observer = Observer
|
||||||
|
Date = Date
|
||||||
|
Terrain = Terrain
|
||||||
|
Latitude = Latitude
|
||||||
|
Longitude = Longitude
|
||||||
|
bio_hectare = Surveyed area (ha)
|
||||||
|
bio_biotope = Type of habitat
|
||||||
|
bio_greenery = Vegetation
|
||||||
|
bio_greenery_cover = The vegetation cover
|
||||||
|
bio_temperature = Weather: air temperature (ºC)
|
||||||
|
Weather = Weather
|
||||||
|
bio_wind = Weather: wind (m/s)
|
||||||
|
Wind_m_s = Weather: wind (m/s)
|
||||||
|
LOCUST_INFORMATION_INCLUDING_EGG_PODS = _LOCUST INFORMATION (INCLUDING EGG-PODS)
|
||||||
|
Air_temperature = Weather: air temperature (ºC)
|
||||||
|
locust_have = Present locusts
|
||||||
|
locust_populated = Populated area (ha)
|
||||||
|
eggs_capsules_area = Deposit egg capsules (area in m²)
|
||||||
|
eggs_capsules_density = Potbelly (density per m²)
|
||||||
|
Egg_bed_surface_in_ha = Egg-bed (surface in m²)
|
||||||
|
eggs_capsules = Eggs (average per pod)
|
||||||
|
eggs_live = Eggs (% viable)
|
||||||
|
eggs_enemies = The presence of natural enemies (what?)
|
||||||
|
larva_born = Born
|
||||||
|
larva_age = Age
|
||||||
|
larva_painting = Painting
|
||||||
|
larva_behavior = Behavior
|
||||||
|
larva_density = Density (per m²)
|
||||||
|
kuliguli_age = Mean age
|
||||||
|
kuliguli_density = Tighter. in the swarm (in m²)
|
||||||
|
kuliguli_size = Swarms size (m²)
|
||||||
|
kuliguli_count = By swarms
|
||||||
|
kuliguli_action = Behavior
|
||||||
|
imago_wing = Stand on the wing
|
||||||
|
imago_maturity = Maturity
|
||||||
|
imago_phase = Phase
|
||||||
|
imago_action = Behavior
|
||||||
|
imago_density = Density (per he.)
|
||||||
|
imago_copulation = Mating or egg-laying
|
||||||
|
imago_flying = Flying
|
||||||
|
swarm_maturity = Maturity
|
||||||
|
swarm_density = Density (per m²)
|
||||||
|
swarm_size = Size rooms (per km²)
|
||||||
|
swarm_count = Count of swarms
|
||||||
|
swarm_copulation = Mating or egg-laying
|
||||||
|
swarm_flying = Flying
|
||||||
|
swarm_height = Height
|
||||||
|
Description = Description
|
||||||
|
Inspector = Inspector
|
||||||
|
Changed = Changed
|
||||||
|
Lon = Longitude
|
||||||
|
Lat = Latitude
|
||||||
|
locust_type = Kind of locust
|
||||||
|
imago_laying = Egg-laying
|
||||||
|
swarm_laying = Egg-laying
|
||||||
|
Comments = Comments
|
||||||
|
Locust_Survey_Forms = Locust survey forms
|
||||||
|
Spray_Monitoring_Forms = Spray monitoring forms
|
||||||
|
FrmLocustDel = Standard forms for locust
|
||||||
|
infested_area = Populated area (ha)
|
||||||
|
treated_area = Cultivated area (ha)
|
||||||
|
vegetation_type = Type (wild, cultural)
|
||||||
|
Vegetation_type = Vegetation type
|
||||||
|
vegetation_height = Height (m)
|
||||||
|
vegetation_cover = Vegetation cover (%)
|
||||||
|
vegetation_crop = Vegetation
|
||||||
|
vegetation_damage = Damage to vegetation cover (%)
|
||||||
|
vegetation_damage_area = Area damage
|
||||||
|
insecticide_name = Commercial name
|
||||||
|
The_active_substance = The active substance
|
||||||
|
insecticide_concentration = Concentration (%)
|
||||||
|
insecticide_formulation = Formulation
|
||||||
|
insecticide_dose = Consumption rate (l/ha)
|
||||||
|
insecticide_rate = Working fluid flow (l/ha)
|
||||||
|
insecticide_expiry_date = Expiration
|
||||||
|
insecticide_mixed = Do insecticide mixed with water or solvent?
|
||||||
|
insecticide_mixed_name = Solvent
|
||||||
|
insecticide_mixed_ratio = If so, in what proportion (%)
|
||||||
|
weather_time_start = Start time
|
||||||
|
weather_time_end = End time
|
||||||
|
weather_temperature_start = Temperature at the start (°C)
|
||||||
|
weather_temperature_end = Temperature at the end (°C)
|
||||||
|
weather_humidity_start = Humidity start (%)
|
||||||
|
weather_humidity_end = Humidity end (%)
|
||||||
|
weather_wind_speed_start = Wind speed at the start (m/s)
|
||||||
|
weather_wind_speed_end = Wind speed at the end (m/s)
|
||||||
|
weather_direction_start = Start direction
|
||||||
|
weather_direction_end = End direction
|
||||||
|
weather_spray_direction_start = Spray direction at the start
|
||||||
|
weather_spray_direction_end = Spray direction at the end
|
||||||
|
locust_speciese = Species
|
||||||
|
locust_hoppers = Instar larvae
|
||||||
|
locust_density = Density (per m²)
|
||||||
|
spray_platform = Spray platform
|
||||||
|
spray_operator = Operator of spraying
|
||||||
|
spray_operator_name = Name of operator
|
||||||
|
spray_manufacturer_name = Brand sprayer
|
||||||
|
spray_model_name = Model of sprayer
|
||||||
|
spray_date_calibration = Date of last calibration
|
||||||
|
spray_height = Atomizer height above ground (m)
|
||||||
|
spray_width = Width (m)
|
||||||
|
spray_barrier = Barriers (m)
|
||||||
|
spray_speed = Speed (km/h)
|
||||||
|
spray_gps = Antenna: GPS used
|
||||||
|
spray_marking = Ground marking
|
||||||
|
efficacy_mortality = Locust mortality (%)
|
||||||
|
efficacy_passed_time = Elapsed time after working
|
||||||
|
efficacy_mortality_method = Method of counting mortality
|
||||||
|
safety_clothing = What protective clothing used operator
|
||||||
|
safety_inform = Who was notified about the workings?
|
||||||
|
safety_non_target = Impact on non-target organisms
|
||||||
|
safety_non_target_effect = If yes, what?
|
||||||
|
description = description
|
||||||
|
locust_kuliguli = Kuligi
|
||||||
|
locust_swarm = Swarms
|
||||||
|
locust_sparse = Sparse
|
||||||
|
Air_platform = Air platform
|
||||||
|
Ground_platform = Ground platform
|
||||||
|
Hand_platform = Hand platform
|
||||||
|
Type_of_operator = Type of operator
|
||||||
|
spray_barrier_width = Width (m)
|
||||||
|
spray_barrier_space = Space (m)
|
||||||
|
Terminal = Terminal
|
||||||
|
Named = Name
|
||||||
|
Phone = Phone
|
||||||
|
Serial_number = Serial number
|
||||||
|
Terminal_model = Terminal model
|
||||||
|
Terminals = Terminals
|
||||||
|
Coordinates_Geofence = Coordinates of geozone
|
||||||
|
Geofence = Geozone
|
||||||
|
Change_password = Change password
|
||||||
|
Login = Login
|
||||||
|
Password = Password
|
||||||
|
New_password = New password
|
||||||
|
Repeat_password = Repeat password
|
||||||
|
User_settings = User settings
|
||||||
|
Value = Value
|
||||||
|
Company = Company
|
||||||
|
Values = Values
|
||||||
|
Object = Object
|
||||||
|
sensor = sensor
|
||||||
|
Groups_of_objects = Groups of objects
|
||||||
|
Object_of_observation = Object of observation
|
||||||
|
Access = Access
|
||||||
|
Identifier = Identifier
|
||||||
|
Allow = Allow
|
||||||
|
Sensor = Sensor
|
||||||
|
objects = objects
|
||||||
|
Sensor_values = Sensor values
|
||||||
|
Units_of_measurement = Units of measurement
|
||||||
|
Fix_date = Fix date
|
||||||
|
Messages = Messages
|
||||||
|
Read = Read
|
||||||
|
Readed = Read
|
||||||
|
Content = Content
|
||||||
|
Date_read = Read date
|
||||||
|
Date_create = Date of creation
|
||||||
|
Day_mileage_and_speed = Day mileage and speed
|
||||||
|
Kilometers_distance = Kilometers distance
|
||||||
|
Kilometers_distance_without_signal = Kilometers distance without signal
|
||||||
|
Company_site = Company site
|
||||||
|
Contact_phone = Contact phone
|
||||||
|
Site = Site
|
||||||
|
Users = Users
|
||||||
|
Models_of_terminals = Models of terminals
|
||||||
|
Sensor_type = Sensor type
|
||||||
|
Sensor_of_devices = Sensor of devices
|
||||||
|
Measurement = Measurement
|
||||||
|
Sensor_model = Sensor model
|
||||||
|
Rounded_to = Approximately count to
|
||||||
|
Sensors_models = Sensors models
|
||||||
|
Count_objects = Number of objects
|
||||||
|
Group = Group
|
||||||
|
Stationary = Stationary
|
||||||
|
Icon = Icon
|
||||||
|
Objects_of_observation = Objects of observation
|
||||||
|
Count_of_sensors = Number of sensors
|
||||||
|
Icons = Icons
|
||||||
|
name = name
|
||||||
|
File = File
|
||||||
|
Size = Size
|
||||||
|
byte = byte
|
||||||
|
Geofences = Geozones
|
||||||
|
Geofence = Geozone
|
||||||
|
Coordinate = Coordinate
|
||||||
|
Position = Position
|
||||||
|
True_position = Right location
|
||||||
|
outside = outside
|
||||||
|
inside = inside
|
||||||
|
Boundary = Boundary
|
||||||
|
Inform = Inform
|
||||||
|
Inside = Inside
|
||||||
|
Sensor_of_object = Sensor of object
|
||||||
|
Sensors_of_objects = Sensors of objects
|
||||||
|
Last_value = Last value
|
||||||
|
Date_of_the_last_value = Date of the last value
|
||||||
|
Readings = Measerement
|
||||||
|
Devices = Devices
|
||||||
|
Sensor_readings = Sensor readings
|
||||||
|
GPS_readings = GPS data
|
||||||
|
Fixation_date = Date of fixing
|
||||||
|
Speed = Speed
|
||||||
|
Message = Message
|
||||||
|
Subject = Subject
|
||||||
|
Creation_date = Date of creation
|
||||||
|
Contents = Contents
|
||||||
|
User_messages = User messages
|
||||||
|
Reading_date = Reading date
|
||||||
|
Users_messages = Users messages
|
||||||
|
The_boundary_values_of_the_sensors = The limit values of the sensors
|
||||||
|
Minimum_value = Minimum value
|
||||||
|
Maximum_value = Maximum value
|
||||||
|
Only_on_the_boundary = Only on the boundary
|
||||||
|
Action = Action
|
||||||
|
Rule = Rule
|
||||||
|
Actions = Actions
|
||||||
|
Access_role = Access role
|
||||||
|
Parental_role = Parental_role
|
||||||
|
Role_name = Role name
|
||||||
|
Role_description = Role description
|
||||||
|
Role = Role
|
||||||
|
Phones = Phones
|
||||||
|
Password_expiration = Password expiration
|
||||||
|
Renewal_password = Renewal password
|
||||||
|
days = days
|
||||||
|
day = day
|
||||||
|
S_N_P = S.N.P.
|
||||||
|
Last_enter = Last enter
|
||||||
|
Roles = Roles
|
||||||
|
User_roles = User roles
|
||||||
|
Synchronization_objects = Synchronization objects
|
||||||
|
Synchronization_service = Synchronization service
|
||||||
|
Synchronization_order = Synchronization order
|
||||||
|
The_interval_between_the_update_in_s = The interval between the update in (s)
|
||||||
|
At_a_time = Records per one time
|
||||||
|
Time_of_the_last_synchronization = Time of the last synchronization
|
||||||
|
Service = Service
|
||||||
|
Order = Order
|
||||||
|
Interval = Interval
|
||||||
|
Limit = Limit
|
||||||
|
Synchronization_services = Synchronization services
|
||||||
|
Host = Host
|
||||||
|
History = History
|
||||||
|
Table = Table
|
||||||
|
Field = Field
|
||||||
|
Data = Data
|
||||||
|
Short_name = Short name
|
||||||
|
Translation = Translation
|
||||||
|
Sprayer_type = Sprayer type
|
||||||
|
Sprayers = Sprayers
|
||||||
|
Sprayer = Sprayer
|
||||||
|
Sprayer_type_name = Sprayer type name
|
||||||
|
Countries = Countries
|
||||||
|
Regions = Regions
|
||||||
|
Automated_system_of_data_collection = Automated system of data collection
|
||||||
|
Download_android_app_Inspector = Download the android app of Inspector
|
||||||
|
Run_the_application_of_the_situational_center = Run the application of the situational center
|
||||||
|
For_any_questions_contact_us_at_tel_Fax = Contact us by phone/fax
|
||||||
|
Your_session_is_canceled = Your session is canceled!
|
||||||
|
Simultaneous_operation_of_multiple_users = Simultaneous operation of multiple users!
|
||||||
|
You_are_not_logged_in = You are not logged in!
|
||||||
|
Not_found_the_requested_node: = Not found the requested node:
|
||||||
|
The_number_of_records_is_not_equal_to_one = The number of records is not equal to one!
|
||||||
|
Registration_Form_Inspector = Registration Form Inspector
|
||||||
|
Post = Post
|
||||||
|
The_device_ID = The device ID
|
||||||
|
Security_Code = Security Code
|
||||||
|
Update = Update
|
||||||
|
image = image
|
||||||
|
Registering = Registering
|
||||||
|
configuration_section_s = configuration section; %s
|
||||||
|
configuration_option_s = configuration option; %s
|
||||||
|
Locust_survey = Locust survey
|
||||||
|
Spray_monitoring = Spray monitoring
|
||||||
|
Reports = Reports
|
||||||
|
Report = Report
|
||||||
|
Map_layers = Map layers
|
||||||
|
Administration = Administration
|
||||||
|
Completed_forms_by_tablets = Completed forms by tablets
|
||||||
|
Filling_forms_by_countries = Filling forms by countries
|
||||||
|
Standard_survey_forms = Standard survey forms
|
||||||
|
Companies = Companies
|
||||||
|
Report_by_countries = Report by countries
|
||||||
|
Lists = Lists
|
||||||
|
Members = Members
|
||||||
|
Photo = Photo
|
||||||
|
Egg_pods_density_m2 = Egg-pods (density/m²)
|
||||||
|
Egg_pods_density = Egg-pods density
|
||||||
|
Egg_pod = Egg-pod
|
||||||
|
Eggs_average_number_egg_pod = Eggs (average number egg pod)
|
||||||
|
Number_forms = Number of forms
|
||||||
|
Open_data_on_the_map = Open data on the map
|
||||||
|
From_date = From date
|
||||||
|
To_date = To date
|
||||||
|
Distribution_of_locust = Information on the distribution of locust
|
||||||
|
Hide = Hide
|
||||||
|
For_what_year = For what year
|
||||||
|
Invalid_username_and_or_password = Invalid username and/or password!
|
||||||
|
Automated_system_of_data_collection_ASDC = Automated system of data collection (ASDC)
|
||||||
|
Method_filling_form = Method of filling the form
|
||||||
|
From_PDA = From tablet
|
||||||
|
From_WEB_interface = From WEB interface
|
||||||
|
PDA_registered = PDA registered
|
||||||
|
Yes = Yes
|
||||||
|
Not = Not
|
||||||
|
Displayed_data = Displayed data
|
||||||
|
Adult_density_m2 = Adult (density/m²)
|
||||||
|
Adult_density = Adult density
|
||||||
|
Hopper_density_m2 = Hopper (density/m²)
|
||||||
|
Swarms = Swarms
|
||||||
|
Bands = Hopper bands
|
||||||
|
Band_sizes_m2 = Band sizes (m²)
|
||||||
|
Open_in_a_table_format = Open in a table format
|
||||||
|
Request_data = Request data
|
||||||
|
Method_filling_form = Method filling form
|
||||||
|
From_DPA = From DPA
|
||||||
|
From_WEB_interface = From WEB interface
|
||||||
|
PDA_registered = Tablets registered
|
||||||
|
Yes = Yes
|
||||||
|
Not = Not
|
||||||
|
Open_in_a_table_format = Open in a table format
|
||||||
|
Request_data = Request data
|
||||||
|
Displayed_data = Displayed data
|
||||||
|
Open_in_a_table_format = Open in a table format
|
||||||
|
Request_data = Request data
|
||||||
|
The_tablet = The tablet
|
||||||
|
Spray_Monitoring_Form = Spray Monitoring Form
|
||||||
|
Information_on_the_distribution_of_locust = Information about locusts’ distribution and its control
|
||||||
|
Organization = Organization
|
||||||
|
User_roles = User_roles
|
||||||
|
Layout = Layer
|
||||||
|
Markings = Markings
|
||||||
|
Formulation = Formulation
|
||||||
|
Fledgling = Fledgling
|
||||||
|
Borns = Hatching
|
||||||
|
Breeding = Behaviour
|
||||||
|
Containers = Containers
|
||||||
|
Height = Height
|
||||||
|
Enemies = Natural enemies present
|
||||||
|
Report_by_tablets = Tablets’ report
|
||||||
|
Value = Value
|
||||||
|
Days = Days
|
||||||
|
Hours = Hours
|
||||||
|
Company_User = Company->User
|
||||||
|
Object_Geofence = Object->Geozone
|
||||||
|
Sensor_for_ComboBox = Sensor for drop-down list
|
||||||
|
SprayersTypes = Sprayers Types
|
||||||
|
CountriesRegions = The boundaries of Regions
|
||||||
|
CIT_Italian_locust = CIT - Italian locust
|
||||||
|
DMA_Moroccan_locust = DMA - Moroccan locust
|
||||||
|
LMI_Asian_migratory_locust = LMI - Asian migratory locust
|
||||||
|
Substrate = Substrate
|
||||||
|
Displaying_data = Displaying data
|
||||||
|
Show_data = Show data
|
||||||
|
All_types = All types
|
||||||
|
All_kinds = All kinds
|
||||||
|
Maps_of_areas_infested_above_Economic_Threshold_ET = Maps of areas infested above Economic Threshold (ET)
|
||||||
|
Maps_of_treated_areas_above_ET = Maps of treated areas above ET
|
||||||
|
Map_of_the_level_of_threat = Map of the level of threat
|
||||||
|
Download_QGIS_project = Download QGIS project
|
||||||
|
Caution = Caution
|
||||||
|
Calm = Calm
|
||||||
|
Danger = Danger
|
||||||
|
Increase = Increase
|
||||||
|
Decrease = Decrease
|
||||||
|
On_the_same_level = On the same level
|
||||||
|
Normal_Multiyear_average_level = Normal/Multiyear average level
|
||||||
|
Device_id = Device id
|
||||||
|
All_countries_of_CCA = All countries of CCA
|
||||||
|
The_Caucasus_countries_and_Russia = The Caucasus countries and Russia
|
||||||
|
Countries_of_Central_Asia_and_Russia = Countries of Central Asia and Russia
|
||||||
|
The_forecast_of_hatching_periods = The forecast of hatching periods
|
||||||
|
Weather_forecast = Weather forecast
|
||||||
|
soil_temperature = soil temperature
|
||||||
|
Soil_temperature = Soil temperature
|
||||||
|
Passwords_did_not_match = Passwords do not coincide!
|
||||||
|
The_s_is_not_Email = The "%s" is not Email!
|
||||||
|
Password_changed_successfully = Password changed successfully.
|
||||||
|
Failed_to_change_password = Failed to change password.
|
||||||
|
Check_the_entered_data = Check the entered data.
|
||||||
|
for_ = for
|
||||||
|
Earth_temperature = Earth temperature
|
||||||
|
Point = Point
|
||||||
|
Forecast_of_hours = Hours of forecast
|
||||||
|
hours = hours
|
||||||
|
Change_login_password = Change login/password
|
||||||
|
Type = Type
|
||||||
|
Legend = Legend
|
||||||
|
Spraying = Spraying
|
||||||
|
Chart = Chart
|
||||||
|
Percent = Percent
|
||||||
|
For_s_year = For %s year
|
||||||
|
and = and
|
||||||
|
Time_and_date_of_generation = Time and date of generation
|
||||||
|
Filter_options = Filter_options
|
||||||
|
Export_to_Excel = Export to Excel
|
||||||
|
Preparing_of_report = Preparing of report
|
||||||
|
Download_report = Download report
|
||||||
|
Old_password = Old password
|
||||||
|
Not_filled_Email_address = Not filled Email address
|
||||||
|
Wrong_XML_document = Wrong XML document
|
||||||
|
Organizations = Organizations
|
||||||
|
Vegetation = Vegetation
|
||||||
|
Please_enter_a_valid_email_address = Please enter a valid Email address
|
||||||
|
Log_in = Log in
|
||||||
|
Registration = Registration
|
||||||
|
Password_recovery = Password recovery
|
||||||
|
The_s_field_is_empty = The "%s" field is empty
|
||||||
|
New_user_is_registered = New user is registered.
|
||||||
|
The_password_has_been_sent_to_you_by_Email = The password has been sent to you by Email.
|
||||||
|
Others = Others
|
||||||
|
Absent = Absent
|
||||||
|
No_data = No data
|
||||||
|
District = District
|
||||||
|
Districts = Districts
|
||||||
|
The_tablets = The tablets
|
||||||
|
Other = Other
|
||||||
|
Regions = Oblasts
|
||||||
|
Region = Oblast
|
||||||
|
All = All
|
||||||
|
Edit = Edit
|
||||||
|
thous_ha = thous. ha
|
||||||
|
Thous_ha = Thous. ha
|
||||||
|
Average = Average
|
||||||
|
Year = Year
|
||||||
|
Deviation = Deviation
|
||||||
|
Dev_of_average = Dev. of average
|
||||||
|
Average = Average
|
||||||
|
Layouts = Layers
|
||||||
|
The_tabblet = Tablet
|
||||||
|
Forms_for_locust_survey = Locust Survey Form
|
||||||
|
Forms_for_spray_monitoring = Spray Monitoring Form
|
||||||
|
The_tablet_registered = The tablet is registered
|
||||||
|
Area_infested_ha = Infested area (ha)
|
||||||
|
Minimum_density_in_the_band_in_m2 = Minimum band density (/m²)
|
||||||
|
Maximum_density_in_the_band_in_m2 = Maximum band density (/m²)
|
||||||
|
Adult_density_ha = Adult density (/ha)
|
||||||
|
Adult_density_m2 = Adult density (/m²)
|
||||||
|
Feeding_and_roosting = Feeding and roosting
|
||||||
|
Density_of_swarm = Swarm density
|
||||||
|
Swarm_size_ha = Swarm size (ha)
|
||||||
|
Number_of_swarms = Number of swarms
|
||||||
|
Flying_direction = Flying direction
|
||||||
|
Flying_height = Flying height
|
||||||
|
Weather_air_temperature_C = Weather: air temperature (ºC)
|
||||||
|
Locust_Survey_Form = Locust Survey Form
|
||||||
|
Locust_Survey_Forms = Locust survey forms
|
||||||
|
Latitude_center_portion = Latitude (site center)
|
||||||
|
Longitude_center_portion = Longitude (site center)
|
||||||
|
INSECTICIDE_DATA = Insecticide information
|
||||||
|
Concentration_A_S = Concentration (%)
|
||||||
|
Relative_humidity_start = Relative humidity at the start (%)
|
||||||
|
Relative_humidity_end = Relative humidity at the end (%)
|
||||||
|
Wind_direction_start = Wind direction at the start
|
||||||
|
Wind_direction_end = Wind direction at the end
|
||||||
|
Density_m2 = Density (/m2)
|
||||||
|
Model_sprayer = Sprayer model
|
||||||
|
Biological_efficiency_of_treatment = Biological efficiency of treatment (%)
|
||||||
|
Inform_abaut_spraying = Informed about spraying
|
||||||
|
Inspect_thous_ha = Surveyed (thous. ha)
|
||||||
|
Responsible_person = Responsible person for the tablet (inspector)
|
||||||
|
Upload = Upload
|
||||||
|
Delete = Delete
|
||||||
|
Download = Download
|
||||||
|
Hoppers = Hoppers (scattered)
|
||||||
|
Kuliguli = Bands
|
||||||
|
Adult = Adult
|
||||||
|
Restore = Restore
|
||||||
|
Add_more = Add more
|
||||||
|
Successfully_added_data = Successfully added data
|
||||||
|
Are_you_sure_you_want_to_delete_the_entries = Are you sure you want to delete the entries?
|
||||||
|
Increase_by_1 = Increase by 1
|
||||||
|
Decrease_by_1 = Decrease by 1
|
||||||
|
No_results_were_found_for_your_search = No results were found for your search!
|
||||||
|
Selection = Selection
|
||||||
|
Add_record = Add record
|
||||||
|
Delete_record = Delete record
|
||||||
|
Filtering = Filtering
|
||||||
|
Invert_selection = Invert selection
|
||||||
|
Antenna_DGPS_used = Antenna: DGPS used
|
||||||
|
No_locust = No locust
|
||||||
|
Total_volume_of_working_solution_actually_applied_l = Total volume of working solution actually applied (l)
|
||||||
|
Triple_rinsed=Triple_rinsed
|
||||||
|
Punctured=Punctured
|
||||||
|
Taken_back_to_base=Taken_back_to_base
|
||||||
|
Left_in_field=Left_in_field
|
||||||
|
Buried=Buried
|
||||||
|
Burned=Burned
|
||||||
540
src/main/java/messages_ru.properties_not_used
Normal file
540
src/main/java/messages_ru.properties_not_used
Normal file
@ -0,0 +1,540 @@
|
|||||||
|
language = ru
|
||||||
|
Language = Язык
|
||||||
|
label_registration = Регистрация
|
||||||
|
label_login = Войти на сайт
|
||||||
|
From_DPA = С планшета
|
||||||
|
Days = Дней
|
||||||
|
Hours = Часов
|
||||||
|
Company_User = Компания -> Пользователь
|
||||||
|
Object_Geofence = Объект –> Геозона
|
||||||
|
Sensor_for_ComboBox = Датчик для выпадающего списка
|
||||||
|
The_boundary_values_of_the_sensors = Граничные значения датчиков.
|
||||||
|
CountriesRegions = Границы регионов
|
||||||
|
Types_of_locust = Виды саранчи
|
||||||
|
Help = Помощь
|
||||||
|
Unknown_function = Неизвестная функция!
|
||||||
|
Not_yet_implemented = Пока не реализовано!
|
||||||
|
Layout = Слой
|
||||||
|
Company = Компания
|
||||||
|
Path = Путь
|
||||||
|
Description = Описание
|
||||||
|
Layouts = Слои
|
||||||
|
Type_of_locust = Вид саранчи
|
||||||
|
Kind_of_locust = Вид саранчи
|
||||||
|
Sorting_index = Индекс сортировки
|
||||||
|
Name = Имя
|
||||||
|
Types_of_locust = Вид саранчи
|
||||||
|
Markings = Маркировка
|
||||||
|
Formulation = Препаративная форма
|
||||||
|
Vegetation = Растительность
|
||||||
|
Fledgling = Окрыление
|
||||||
|
Age = Возраст
|
||||||
|
Biotop = Биотоп
|
||||||
|
Capacity = Ёмкость
|
||||||
|
Capacities = Ёмкости
|
||||||
|
Borns = Отрождение
|
||||||
|
Сontainers = Контейнеры
|
||||||
|
Breeding = Поведение
|
||||||
|
Containers = Контейнеры
|
||||||
|
Types_of_operators = Типы операторов
|
||||||
|
Types_of_operator = Тип оператора
|
||||||
|
Density_of_vegetation = Густота растительного покрова
|
||||||
|
Height = Высота
|
||||||
|
Damage = Повреждения
|
||||||
|
Density = Плотность
|
||||||
|
Directions = Направления
|
||||||
|
Angle = Угол
|
||||||
|
Methods_of_calculating_mortality = Методы подсчёта смертности
|
||||||
|
Method_of_calculating_mortality = Метод подсчёта смертности
|
||||||
|
Phase = Фаза
|
||||||
|
Condition_of_vegetation = Состояние растительности
|
||||||
|
Actions_of_bands = Действия кулиги
|
||||||
|
Behaviors = Поведение
|
||||||
|
Paintings = Окраска
|
||||||
|
Painting = Окрас
|
||||||
|
Enemies = Наличие естественных врагов
|
||||||
|
Report_by_tablets = Отчёт по планшетам
|
||||||
|
Country = Страна
|
||||||
|
From_date = С даты
|
||||||
|
To_date = По дату
|
||||||
|
The_tabblet = Планшет
|
||||||
|
Forms_for_locust_survey = Формы обследования саранчи
|
||||||
|
Forms_for_spray_monitoring = Формы мониторинга противосаранчовых обработок
|
||||||
|
Completed_forms_by_tablets = Заполнение форм по планшетам
|
||||||
|
Filling_forms_by_countries = Заполнение форм по странам
|
||||||
|
Method_filling_form = Способ заполнения формы
|
||||||
|
The_tablet_registered = Планшет зарегистрирован
|
||||||
|
IDENTIFICATION_OF_THE_PLACE = ИДЕНТИФИКАЦИЯ МЕСТА
|
||||||
|
Region = Область
|
||||||
|
Regions = Области
|
||||||
|
Rayon = Район
|
||||||
|
Rual_district = Сельский округ
|
||||||
|
Name_of_the_village = Поселок
|
||||||
|
Farm_or_site = Хозяйство или местность
|
||||||
|
Name_of_survey_team_leader = Имя лидера команды обследования
|
||||||
|
Date = Дата
|
||||||
|
Latitude_of_point = Широта точки
|
||||||
|
Longitude_of_point = Долгота точки
|
||||||
|
Surveyed_area_ha = Обследованная площадь(га)
|
||||||
|
ECOLOGICAL_INFORMATION = ЭКОЛОГИЧЕСКАЯ ИНФОРМАЦИЯ
|
||||||
|
Type_of_biotope = Тип биотопа
|
||||||
|
Vegetation_cover = Густота растительного покрова
|
||||||
|
Air_temperature = Погода: температура воздуха(ºC)
|
||||||
|
Wind_m_s = Погода: ветер(м/с)
|
||||||
|
bio_wind = Погода: ветер(м/с)
|
||||||
|
LOCUST_INFORMATION_INCLUDING_EGG_PODS = ИНФОРМАЦИЯ О САРАНЧОВЫХ (В Т.Ч. КУБЫШКИ)
|
||||||
|
Present = Присутствуют саранчовые
|
||||||
|
Locust_species = Вид саранчи
|
||||||
|
Area_infested_ha = Заселённая площадь(га)
|
||||||
|
EGGS = ЯЙЦА
|
||||||
|
Egg_bed_surface_in_ha = Залежь кубышек (площадь га)
|
||||||
|
Egg_pods_density_m2 = Плотность кубышек (/м²)
|
||||||
|
Egg_pods_density = Плотность кубышек
|
||||||
|
Egg_pod = Кубышки
|
||||||
|
to = до
|
||||||
|
Eggs_average_number_egg_pod = Яйца (в среднем в кубышке)
|
||||||
|
Eggs_viable = Яйца(% жизнеспособных)
|
||||||
|
Natural_enemies_present = Естественны враги
|
||||||
|
HOPPERS_SCATTERED = ЛИЧИНКИ (РАЗРЕЖЕННЫЕ)
|
||||||
|
Hatching = Отрождение
|
||||||
|
Hopper_stages = Возраст личинок
|
||||||
|
Appearance = Фаза
|
||||||
|
Behaviour = Поведение
|
||||||
|
Hopper_density_m2 = Плотность личинок (/м²)
|
||||||
|
Hopper_density = Плотность личинок
|
||||||
|
Hopper_density_m2_to = Плотность личинок (/м²) до
|
||||||
|
HOPPER_BANDS = КУЛИГИ
|
||||||
|
Minimum_density_in_the_band_in_m2 = Плотность минимальная в кулиге (/м²)
|
||||||
|
Maximum_density_in_the_band_in_m2 = Плотность максимальная в кулиге (/м²)
|
||||||
|
Band_sizes_m2 = Размер кулиг (м²)
|
||||||
|
Number_of_bands = Количество кулиг
|
||||||
|
Behavior = Поведение
|
||||||
|
ADULTS = ИМАГО
|
||||||
|
Fledging = Окрыление
|
||||||
|
Maturity = Половозрелость
|
||||||
|
Adult_density_ha = Плотность имаго /га
|
||||||
|
Adult_density_m2 = Имаго (плотность/м²)
|
||||||
|
Adult_density = Плотность имаго
|
||||||
|
Feeding_and_roosting = Питание и размещение на растениях
|
||||||
|
Copulating = Спаривание
|
||||||
|
Laying = Яйцекладка
|
||||||
|
Flying = Полёты
|
||||||
|
SWARMS = СТАИ
|
||||||
|
Density_of_swarm = Плотность в стае
|
||||||
|
Swarm_size_ha = Размер стаи (га)
|
||||||
|
Number_of_swarms = Число стай
|
||||||
|
Flying_direction = Направление полёта
|
||||||
|
Flying_height = Высота полёта
|
||||||
|
COMMENTS = КОММЕНТАРИИ
|
||||||
|
Locust_Survey_Form = Форма обследования саранчи
|
||||||
|
Locust_Survey_Forms = Формы обследования саранчи
|
||||||
|
From_the_tablet = С планшета
|
||||||
|
From_WEB_interface = С WEB интерфейса
|
||||||
|
User = Пользователь
|
||||||
|
Weather_air_temperature_C = Погода: температура воздуха(ºC)
|
||||||
|
Weather = Погода
|
||||||
|
larva_behavior = Поведение
|
||||||
|
Spray_Monitoring_Form = Форма противосаранчовых обработок
|
||||||
|
Rural_district = Сельский округ
|
||||||
|
Name_of_control_team_leader = Имя лидера команды по обработке
|
||||||
|
Latitude_center_portion = Широта (центр участка)
|
||||||
|
Longitude_center_portion = Долгота (центр участка)
|
||||||
|
Area_treated_ha = Обработанная площадь(га)
|
||||||
|
VEGETATION_DATA = РАСТИТЕЛЬНОСТЬ
|
||||||
|
Kind = Вид
|
||||||
|
Type = Тип
|
||||||
|
type = тип
|
||||||
|
types = типы
|
||||||
|
Height_cm = Высота (см)
|
||||||
|
Crop_name = Наименование сельхозкультуры
|
||||||
|
Damage_area_ha = Площадь повреждения (га)
|
||||||
|
INSECTICIDE_DATA = ИНФОРМАЦИЯ ОБ ИНСЕКТИЦИДАХ
|
||||||
|
Trade_name = Коммерческое название
|
||||||
|
The_active_substance = Действующее вещество
|
||||||
|
Concentration_A_S = Концентрация (%)
|
||||||
|
Dose_rate_l_of_commercial_product_ha = Норма расхода (л коммерческого продукта/гa)
|
||||||
|
Rate_of_working_solution_l_ha = Расход рабочей жидкости (л/га)
|
||||||
|
Total_volume_of_working_solution_actually_applied_l = Общий объем использованной рабочей жидкости (л)
|
||||||
|
Number_of_spores_ml = Концентрация спор(/мл)
|
||||||
|
WEATHER_CONDITIONS = ПОГОДНЫЕ УСЛОВИЯ
|
||||||
|
Time_start = Время начала обработки
|
||||||
|
Time_end = Время окончания обработки
|
||||||
|
Temperature_start = Температура нач.(°C)
|
||||||
|
Temperature_end = Температура кон.(°C)
|
||||||
|
Relative_humidity_start = Отн. влажность воздуха нач.(%)
|
||||||
|
Relative_humidity_end = Отн. влажность воздуха кон.(%)
|
||||||
|
Wind_speed_start_m_s = Скорость ветра нач. (м/с)
|
||||||
|
Wind_speed_end_m_s = Скорость ветра кон. (м/с)
|
||||||
|
Wind_direction_start = Направление ветра нач.
|
||||||
|
Wind_direction_end = Направление ветра кон.
|
||||||
|
Spray_direction_start = Направление опрыскивания нач.
|
||||||
|
Spray_direction_end = Направление опрыскивания кон.
|
||||||
|
LOCUST_INFORMATION = ИНФОРМАЦИЯ О САРАНЧОВЫХ (В Т.Ч. КУБЫШКИ)
|
||||||
|
Imago = Имаго
|
||||||
|
Density_m2 = Плотность на м²
|
||||||
|
Bands = Кулиги
|
||||||
|
Swarms = Стаи
|
||||||
|
Scattered = Разреженные
|
||||||
|
SPRAY_APPLICATION = СВЕДЕНИЯ ПО ОПРЫСКИВАНИЮ
|
||||||
|
Spray_platform = Способ опрыскивания
|
||||||
|
Aerial = Авиа
|
||||||
|
Ground = Наземное
|
||||||
|
Person = Ручное
|
||||||
|
Spray_type = Вид опрыскивания
|
||||||
|
Spray_manufacturer = Марка опрыскивателя
|
||||||
|
Model_sprayer = Модель опрыскивателя
|
||||||
|
Atomizer_height_above_ground_m = Высота распылителя над поверхностью почвы (м)
|
||||||
|
Barriers = Барьеры
|
||||||
|
Barrier_width_m = Ширина барьера (м)
|
||||||
|
Spacing_of_barriers_m = Промежуток барьера (м)
|
||||||
|
spray_height = Высота над поверхностью почвы (м)
|
||||||
|
Forward_speed_km_h = Средняя скорость движения (км/ч)
|
||||||
|
Antenna_DGPS_used = Антенна: DGPS использовалась
|
||||||
|
Ground_marking = Наземная маркировка
|
||||||
|
CONTROL_EFFICACY = КОНТРОЛЬ ЭФФЕКТИВНОСТИ
|
||||||
|
Biological_efficiency_of_treatment = Биологическая эффективность обработки (%)
|
||||||
|
Time_after_treatment_hours = Прошло времени после обработки (часов)
|
||||||
|
Method_of_biological_efficiency_estimation = Метод подсчета биологической эффективности
|
||||||
|
SAFETY_AND_ENVIRONMENT = БЕЗОПАСНОСТЬ И ОКРУЖАЮЩАЯ СРЕДА
|
||||||
|
Protective_clothing = Индивидуальные средства защиты
|
||||||
|
Goggles = Очки
|
||||||
|
Masks = Маска
|
||||||
|
Gloves = Перчатки
|
||||||
|
Overalls = Комбинезон
|
||||||
|
Caps = Шапка
|
||||||
|
Boots = Сапоги
|
||||||
|
Absent = Отсутствуют
|
||||||
|
Protective_clothing_clean_and_in_good_state = Защитная одежда чистая и в хорошем состоянии?
|
||||||
|
Operator_accidentally_exposed_to_insecticide_or_feeling_unwell = Оператор случайно подвергся воздействию инсектицида или плохое самочувствие
|
||||||
|
Inform_abaut_spraying = Оповещенные об обработках
|
||||||
|
Farmer = Фермер
|
||||||
|
Shepherd = Пастух
|
||||||
|
Official = Должностное лицо
|
||||||
|
Beekeeper = Пчеловод
|
||||||
|
Villager = Сельский житель
|
||||||
|
Other = Другие
|
||||||
|
Empty_containers = Пустые контейнеры
|
||||||
|
Effect_on_non_terget_organism = Воздействие на нецелевые организмы
|
||||||
|
If_yes_describe_what_happened_description = Если да, опишите, что произошло
|
||||||
|
if_Yes_type_of_organisms_and_effects_description = Если Да, тип организмов и эффекты (описание)
|
||||||
|
If_Yes_type_of_incident_and_reported_by_whom_description = Если Да, тип инцидента и кем сообщен (описание)
|
||||||
|
Other_environmental_or_health_incident_reported_that_might_have_been_caused_by_the_treatment = Другие инциденты по здоровью или окружающей среде, возникшие при обработке
|
||||||
|
Comments = Коментарии
|
||||||
|
Spray_Monitoring_Forms = Формы противосаранчовых обработок
|
||||||
|
Information_on_the_distribution_of_locust = Информация о распространении и борьбе со стадными саранчовыми
|
||||||
|
Year = Год
|
||||||
|
year = год
|
||||||
|
Inspect_thous_ha = Обследовано (тыс. га)
|
||||||
|
Infested_thous_ha = Заселено (тыс. га)
|
||||||
|
Infested_over_ETD_thous_ha = Заселено выше ЭПВ (тыс. га)
|
||||||
|
Treated_thous_ha = Обработано (тыс. га)
|
||||||
|
The_tablet = Планшеты
|
||||||
|
Organization = Организация
|
||||||
|
Phone_number = Номер телефона
|
||||||
|
Responsible_person = Ответственное лицо за планшет (инспектор)
|
||||||
|
Serial_number = Серийный номер
|
||||||
|
The_tablet_model = Модель планшета
|
||||||
|
The_tablets = Планшеты
|
||||||
|
Phone = Телефон
|
||||||
|
Responsible_person = Ответственное лицо
|
||||||
|
Change_password = Сменить пароль
|
||||||
|
Login = Логин
|
||||||
|
Password = Пароль
|
||||||
|
New_password = Новый пароль
|
||||||
|
Repeat_password = Повторить пароль
|
||||||
|
User_settings = Пользовательские настройки
|
||||||
|
Named = Наименование
|
||||||
|
Value = Значение
|
||||||
|
Values = Значения
|
||||||
|
Object = Объект
|
||||||
|
sensor = сенсор
|
||||||
|
Groups_of_objects = Группы объектов
|
||||||
|
Object_of_observation = Объект наблюдения
|
||||||
|
Access = Доступ
|
||||||
|
Identifier = Идентификатор
|
||||||
|
Allow = Разрешить
|
||||||
|
Sensor = Сенсор
|
||||||
|
objects = объекты
|
||||||
|
Sensor_values = Показание датчика
|
||||||
|
Terminal = Терминал
|
||||||
|
Units_of_measurement = Единицы измерения
|
||||||
|
Fix_date = Дата фиксации
|
||||||
|
Messages = Сообщения
|
||||||
|
Read = Прочтённые
|
||||||
|
Readed = Прочтённые
|
||||||
|
Content = Содержание
|
||||||
|
Date_read = Дата чтения
|
||||||
|
Date_create = Дата создания
|
||||||
|
Day_mileage_and_speed = Дневной пробег и скорость
|
||||||
|
Kilometers_distance = Дистанция км.
|
||||||
|
Kilometers_distance_without_signal = Дистанция км. без сигнала
|
||||||
|
Company_site = Сайт компании
|
||||||
|
Contact_phone = Контактный телефон
|
||||||
|
Organizations = Организации
|
||||||
|
Site = Сайт
|
||||||
|
Users = Пользователи
|
||||||
|
Terminal_model = Модель терминала
|
||||||
|
Models_of_terminals = Модели терминалов
|
||||||
|
Sensor_type = Тип датчика
|
||||||
|
Sensor_of_devices = Датчик оборудования
|
||||||
|
Measurement = Измерение
|
||||||
|
Sensor_model = Модель датчика
|
||||||
|
Rounded_to = Округлять до
|
||||||
|
Sensors_models = Модели датчиков
|
||||||
|
Count_objects = Количество объектов
|
||||||
|
Group = Группа
|
||||||
|
Terminals = Терминалы
|
||||||
|
Stationary = Стационарный
|
||||||
|
Latitude = Широта
|
||||||
|
Longitude = Долгота
|
||||||
|
Icon = Иконка
|
||||||
|
Objects_of_observation = Объекты наблюдения
|
||||||
|
Count_of_sensors = Количество датчиков
|
||||||
|
Icons = Иконки
|
||||||
|
name = имя
|
||||||
|
File = Файл
|
||||||
|
Size = Размер
|
||||||
|
byte = байт
|
||||||
|
Geofence = Геозона
|
||||||
|
Geofences = Геозоны
|
||||||
|
Coordinate = Координаты
|
||||||
|
Coordinates_Geofence = Координаты геозоны
|
||||||
|
Position = Должность
|
||||||
|
True_position = Правильное положение
|
||||||
|
outside = снаружи
|
||||||
|
inside = внутри
|
||||||
|
Boundary = Граничное
|
||||||
|
Inform = Информировать
|
||||||
|
Inside = Внутри
|
||||||
|
Sensor_of_object = Датчик объекта
|
||||||
|
Sensors_of_objects = Датчики объектов
|
||||||
|
Last_value = Последнее значение
|
||||||
|
Date_of_the_last_value = Дата посл. знач.
|
||||||
|
Readings = Показание
|
||||||
|
Devices = Устройства
|
||||||
|
Sensor_readings = Показание датчика
|
||||||
|
GPS_readings = GPS показание
|
||||||
|
Fixation_date = Дата фиксации
|
||||||
|
Speed = Скорость
|
||||||
|
Message = Сообщение
|
||||||
|
Subject = Тема
|
||||||
|
Creation_date = Дата создания
|
||||||
|
Contents = Содержимое
|
||||||
|
User_messages = Сообщения пользователя
|
||||||
|
Reading_date = Дата прочтения
|
||||||
|
Users_messages = Сообщения пользователей
|
||||||
|
Minimum_value = Минимальное значение
|
||||||
|
Maximum_value = Максимальное значение
|
||||||
|
Only_on_the_boundary = Только на границе
|
||||||
|
Action = Действие
|
||||||
|
Rule = Правило
|
||||||
|
Actions = Действия
|
||||||
|
Access_role = Роль доступа
|
||||||
|
Parental_role = Родительская роль
|
||||||
|
Role_name = Наименование роли
|
||||||
|
Role_description = Описание роли
|
||||||
|
Role = Роль
|
||||||
|
Surname = Фамилия
|
||||||
|
Patronymic = Отчество
|
||||||
|
Phones = Телефоны
|
||||||
|
Password_expiration = Срок действия пароля
|
||||||
|
Renewal_password = Продление пароля
|
||||||
|
days = дней
|
||||||
|
day = день
|
||||||
|
S_N_P = Ф.И.О.
|
||||||
|
Last_enter = Посл. заход
|
||||||
|
Roles = Роли
|
||||||
|
User_roles = Пользовательские роли
|
||||||
|
Synchronization_objects = Объекты синхронизации
|
||||||
|
Synchronization_service = Сервис синхронизации
|
||||||
|
Synchronization_order = Порядок синхронизации
|
||||||
|
The_interval_between_the_update_in_s = Интервал между обн. в (сек)
|
||||||
|
At_a_time = Записей за раз
|
||||||
|
Time_of_the_last_synchronization = Времени с последней синхронизации
|
||||||
|
Service = Сервис
|
||||||
|
Order = Порядок
|
||||||
|
Interval = Интервал
|
||||||
|
Limit = Лимит
|
||||||
|
Synchronization_services = Сервисы синхронизации
|
||||||
|
Host = Хост
|
||||||
|
History = История
|
||||||
|
Table = Таблица
|
||||||
|
Field = Поле
|
||||||
|
Data = Данные
|
||||||
|
Short_name = Короткое имя
|
||||||
|
Translation = Перевод
|
||||||
|
Sprayer_type = Вид опрыскивателя
|
||||||
|
Sprayers = Опрыскиватели
|
||||||
|
Sprayer = Опрыскиватель
|
||||||
|
SprayersTypes = Вид опрыскивателя
|
||||||
|
Sprayer_type_name = Наименование опрыскивателя
|
||||||
|
Countries = Страны
|
||||||
|
Regions = Районы
|
||||||
|
Automated_system_of_data_collection = Автоматизированная система сбора данных
|
||||||
|
Download_android_app_Inspector = Скачать андроид приложение инспектора
|
||||||
|
Run_the_application_of_the_situational_center = Запустить приложение ситуационного центра
|
||||||
|
For_any_questions_contact_us_at_tel_Fax = По всем интересующим вопросам обращаться по тел./факс
|
||||||
|
You_are_not_logged_in = Вы не авторизованы!
|
||||||
|
Not_found_the_requested_node: = Не найден запрошенный узел:
|
||||||
|
The_number_of_records_is_not_equal_to_one = Количество записей не равно одному!
|
||||||
|
Filter_options = Параметры фильтра
|
||||||
|
Time_and_date_of_generation = Время и дата генерации
|
||||||
|
Creator = Создатель
|
||||||
|
E_mail_already_exists_in_the_database = Адрес электронной почты уже существует в базе данных!
|
||||||
|
Registration_form = Форма регистрации
|
||||||
|
You_have_successfully_registered = Вы успешно зарегистрировались!
|
||||||
|
Password_sent_to_your_e_mail = Пароль отправлен на ваш е-mail.
|
||||||
|
Operator_registration_form = Форма регистрации оператора
|
||||||
|
Security_Code = Защитный код
|
||||||
|
Update = Обновить
|
||||||
|
image = рисунок
|
||||||
|
Registering = Регистрация
|
||||||
|
Failed_to_send_your_password_to_the_e_mail = Не удалось отправить пароль на электронную почту.
|
||||||
|
Failed_to_update_the_password = Не удалось обновить пароль.
|
||||||
|
configuration_section_s = Раздел конфигурации; %s
|
||||||
|
configuration_option_s = опция конфигурации; %s
|
||||||
|
Locust_survey = Обследования саранчи
|
||||||
|
Spray_monitoring = Противосаранчовые обработки
|
||||||
|
Reports = Отчёты
|
||||||
|
Report = Отчёт
|
||||||
|
Map_layers = Слои карты
|
||||||
|
Administration = Администрирование
|
||||||
|
Standard_survey_forms = Стандартные формы обследования
|
||||||
|
Companies = Компании
|
||||||
|
Report_by_countries = Отчёт по странам
|
||||||
|
Lists = Справочники
|
||||||
|
Members = Пользователи
|
||||||
|
Photo = Фотография
|
||||||
|
Indicator = Показатель
|
||||||
|
PDA_registered = Планшеты зарегистрированы
|
||||||
|
From_PDA = С планшета
|
||||||
|
From_WEB_interface = С WEB интерфейса
|
||||||
|
Open_in_a_table_format = Открыть в табличном виде
|
||||||
|
Request_data = Запросить данные
|
||||||
|
Not = Нет
|
||||||
|
Yes = Да
|
||||||
|
Attention = Внимание
|
||||||
|
Quietly = Спокойно
|
||||||
|
Number_forms = Количество форм
|
||||||
|
Open_data_on_the_map = Открыть данные на карте
|
||||||
|
No_data = Данные отсутствуют
|
||||||
|
From_date = С даты
|
||||||
|
To_date = По дату
|
||||||
|
or = или
|
||||||
|
Dangerous = Опасно
|
||||||
|
Distribution_of_locust = Распространение и борьба со стадными саранчовыми
|
||||||
|
Hide = Скрыть
|
||||||
|
For_what_year = За какой год
|
||||||
|
Displayed_data = Отображаемые данные
|
||||||
|
Automated_system_of_data_collection_ASDC = Автоматизированная система сбора данных (ASDC)
|
||||||
|
Invalid_username_and_or_password = Неверный логин и/или пароль!
|
||||||
|
CIT_Italian_locust = CIT - итальянский прус
|
||||||
|
DMA_Moroccan_locust = DMA - мароккская саранча
|
||||||
|
LMI_Asian_migratory_locust = LMI - азиатская перелетная саранча
|
||||||
|
Substrate = Подложка
|
||||||
|
Change_login_password = Изменить логин/пароль
|
||||||
|
Displaying_data = Отображение данных
|
||||||
|
Show_data = Отобразить данные
|
||||||
|
All_types = Все виды
|
||||||
|
All_kinds = Все виды
|
||||||
|
Maps_of_areas_infested_above_Economic_Threshold_ET = Карты площадей, заселенных с плотностями выше экономического порога вредоносности (ЭПВ)
|
||||||
|
Maps_of_treated_areas_above_ET = Карты обработанных площадей выше ЭПВ
|
||||||
|
Map_of_the_level_of_threat = Карта уровня угрозы
|
||||||
|
Download_QGIS_project = Скачать QGIS проект
|
||||||
|
Danger = Опасно
|
||||||
|
Caution = Внимание
|
||||||
|
Calm = Спокойно
|
||||||
|
Increase = Подъём
|
||||||
|
Decrease = Спад
|
||||||
|
On_the_same_level = На том же уровне
|
||||||
|
Normal_Multiyear_average_level = Нормальный/Среднемноголетний уровень
|
||||||
|
Device_id = Идентификатор устройства
|
||||||
|
All_countries_of_CCA = Страны КЦА
|
||||||
|
The_Caucasus_countries_and_Russia = Страны Кавказа и Россия
|
||||||
|
Countries_of_Central_Asia_and_Russia = Станы Центральной Азии и Россия
|
||||||
|
from = от
|
||||||
|
The_forecast_of_hatching_periods = Прогноз инкубационного периода
|
||||||
|
Weather_forecast = Прогноз погоды
|
||||||
|
soil_temperature = температура почвы
|
||||||
|
Soil_temperature = Температура почвы
|
||||||
|
Passwords_did_not_match = Пароли не совпадают!
|
||||||
|
The_s_is_not_Email = Логин «%s» не электронная почта!
|
||||||
|
Password_changed_successfully = Пароль успешно изменен.
|
||||||
|
Failed_to_change_password = Не удалось изменить пароль.
|
||||||
|
Check_the_entered_data = Проверьте введенные данные.
|
||||||
|
for_ = для
|
||||||
|
Earth_temperature = Температура земли
|
||||||
|
Point = Точка
|
||||||
|
Forecast_of_hours = Часы прогноза
|
||||||
|
hours = часов
|
||||||
|
Change_login_password = Сменить логин/пароль
|
||||||
|
Type = Тип
|
||||||
|
Legend = Легенда
|
||||||
|
Spraying = Опрыскивание
|
||||||
|
Chart = График
|
||||||
|
Average = Среднее
|
||||||
|
Percent = Процент
|
||||||
|
For_s_year = За %s год
|
||||||
|
and = и
|
||||||
|
Time_and_date_of_generation = Дата создания
|
||||||
|
Filter_options = Параметры фильтра
|
||||||
|
Export_to_Excel = Экспорт в Excel
|
||||||
|
Preparing_of_report = Подготовка отчёта
|
||||||
|
Download_report = Скачать отчёт
|
||||||
|
Old_password = Старый пароль
|
||||||
|
Not_filled_Email_address = Не заполнен email
|
||||||
|
Wrong_XML_document = Неверный XML-документ
|
||||||
|
Please_enter_a_valid_email_address = Пожалуйста, введите правильный адрес электронной почты
|
||||||
|
For_new_users = Для новых пользователей
|
||||||
|
For_returning_users = Для вернувшихся пользователей
|
||||||
|
Phone = Телефон
|
||||||
|
Log_in = Авторизоваться
|
||||||
|
Registration = Регистрация
|
||||||
|
Authorization = Авторизация
|
||||||
|
Password_recovery = Восстановление пароля
|
||||||
|
The_s_field_is_empty = Не заполнено поле "%s"
|
||||||
|
New_user_is_registered = Новый пользователь зарегистрирован.
|
||||||
|
The_password_has_been_sent_to_you_by_Email = Пароль отправлен вам на Email.
|
||||||
|
Others = Другие
|
||||||
|
District = Район
|
||||||
|
Districts = Районы
|
||||||
|
All = Всё
|
||||||
|
Region = Область
|
||||||
|
Edit = Редактировать
|
||||||
|
thous_ha = тыс. га
|
||||||
|
Thous_ha = Тыс. га
|
||||||
|
Average = Среднее
|
||||||
|
Year = Год
|
||||||
|
Deviation = Отклонение
|
||||||
|
Dev_of_average = Откл. от среднего
|
||||||
|
Cancel = Отмена
|
||||||
|
Responsible_person_for_data_verification = Ответственное лицо по верификации данных
|
||||||
|
Upload = Загрузить
|
||||||
|
Delete = Удалить
|
||||||
|
Download = Скачать
|
||||||
|
Repeat_the_addition_of_the_entry = Повторить добавление записи
|
||||||
|
Apply = Применить
|
||||||
|
Calcel = Закрыть
|
||||||
|
Hoppers = Личинки (разреженные)
|
||||||
|
Kuliguli = Кулиги
|
||||||
|
Adult = Имаго
|
||||||
|
Restore = Восстановить
|
||||||
|
Add_more = Добавить ещё
|
||||||
|
Successfully_added_data = Данные успешно добавлены
|
||||||
|
Are_you_sure_you_want_to_delete_the_entries = Вы действительно хотите удалить записи?
|
||||||
|
Increase_by_1 = Увеличить на 1
|
||||||
|
Decrease_by_1 = Уменьшить на 1
|
||||||
|
No_results_were_found_for_your_search = По вашему запросу ничего не найдено!
|
||||||
|
Selection = Выбор
|
||||||
|
Add_record = Добавить запись
|
||||||
|
Delete_record = Удалить записи
|
||||||
|
Filtering = Фильтровать
|
||||||
|
Invert_selection = Инвертировать выделение
|
||||||
|
No_locust = Нет саранчи
|
||||||
|
|
||||||
|
Triple_rinsed=Трижды промытые
|
||||||
|
Punctured=Проколотые
|
||||||
|
Taken_back_to_base=Возвращенные на базу
|
||||||
|
Left_in_field=Оставленные в поле
|
||||||
|
Buried=Закопанные
|
||||||
|
Burned=Сожженные
|
||||||
535
src/main/java/messages_tg.properties_not_used
Normal file
535
src/main/java/messages_tg.properties_not_used
Normal file
@ -0,0 +1,535 @@
|
|||||||
|
language = en
|
||||||
|
Language = Language
|
||||||
|
label_registration = Registration
|
||||||
|
label_login = Log In
|
||||||
|
Types_of_locust = Kinds of locust
|
||||||
|
Unknown_function = Unknown function!
|
||||||
|
Not_yet_implemented = Not yet implemented!
|
||||||
|
Type_of_locust = Type of locust
|
||||||
|
Kind_of_locust = Kind of locust
|
||||||
|
Name = Name
|
||||||
|
Types_of_locust = Kinds of locust
|
||||||
|
Age = Age
|
||||||
|
Biotop = Biotop
|
||||||
|
Sorting_index = Index of sorting
|
||||||
|
Capacity = Capacity
|
||||||
|
Capacities = Capacities
|
||||||
|
Types_of_operators = Types of operators
|
||||||
|
Types_of_operator = Types of operator
|
||||||
|
Density_of_vegetation = Density of vegetation
|
||||||
|
Damage = Damage
|
||||||
|
Density = Density
|
||||||
|
Directions = Directions
|
||||||
|
Angle = Angle
|
||||||
|
Methods_of_calculating_mortality = Methods of calculating mortality
|
||||||
|
Method_of_calculating_mortality = Method of calculating mortality
|
||||||
|
Phase = Phase
|
||||||
|
Condition_of_vegetation = Vegetation state
|
||||||
|
Actions_of_bands = Actions of hopper bands
|
||||||
|
Behaviors = Behaviour
|
||||||
|
Paintings = Paintings
|
||||||
|
Painting = Painting
|
||||||
|
Report_by_inspectors = Report by inspectors
|
||||||
|
From_date = From date
|
||||||
|
To_date = To date
|
||||||
|
Surname = Surname
|
||||||
|
Patronymic = Patronymic
|
||||||
|
Completed_questionnaires_locusts = Completed questionnaires locusts
|
||||||
|
Completed_questionnaires_for_the_destruction_of_locusts = Completed questionnaires for the destruction of locusts
|
||||||
|
FrmLocust = FrmLocust
|
||||||
|
User = User
|
||||||
|
Photo = Photo
|
||||||
|
Photo_name = Photo name
|
||||||
|
Country = Country
|
||||||
|
Area = Area
|
||||||
|
Region = Region
|
||||||
|
District = District
|
||||||
|
Observer = Observer
|
||||||
|
Date = Date
|
||||||
|
Terrain = Terrain
|
||||||
|
Latitude = Latitude
|
||||||
|
Longitude = Longitude
|
||||||
|
bio_hectare = Surveyed area (ha)
|
||||||
|
bio_biotope = Type of habitat
|
||||||
|
bio_greenery = Vegetation
|
||||||
|
bio_greenery_cover = The vegetation cover
|
||||||
|
bio_temperature = Weather: air temperature (ºC)
|
||||||
|
Weather = Weather
|
||||||
|
bio_wind = Weather: wind (m/s)
|
||||||
|
Wind_m_s = Weather: wind (m/s)
|
||||||
|
LOCUST_INFORMATION_INCLUDING_EGG_PODS = _LOCUST INFORMATION (INCLUDING EGG-PODS)
|
||||||
|
Air_temperature = Weather: air temperature (ºC)
|
||||||
|
locust_have = Present locusts
|
||||||
|
locust_populated = Populated area (ha)
|
||||||
|
eggs_capsules_area = Deposit egg capsules (area in m²)
|
||||||
|
eggs_capsules_density = Potbelly (density per m²)
|
||||||
|
Egg_bed_surface_in_ha = Egg-bed (surface in m²)
|
||||||
|
eggs_capsules = Eggs (average per pod)
|
||||||
|
eggs_live = Eggs (% viable)
|
||||||
|
eggs_enemies = The presence of natural enemies (what?)
|
||||||
|
larva_born = Born
|
||||||
|
larva_age = Age
|
||||||
|
larva_painting = Painting
|
||||||
|
larva_behavior = Behavior
|
||||||
|
larva_density = Density (per m²)
|
||||||
|
kuliguli_age = Mean age
|
||||||
|
kuliguli_density = Tighter. in the swarm (in m²)
|
||||||
|
kuliguli_size = Swarms size (m²)
|
||||||
|
kuliguli_count = By swarms
|
||||||
|
kuliguli_action = Behavior
|
||||||
|
imago_wing = Stand on the wing
|
||||||
|
imago_maturity = Maturity
|
||||||
|
imago_phase = Phase
|
||||||
|
imago_action = Behavior
|
||||||
|
imago_density = Density (per he.)
|
||||||
|
imago_copulation = Mating or egg-laying
|
||||||
|
imago_flying = Flying
|
||||||
|
swarm_maturity = Maturity
|
||||||
|
swarm_density = Density (per m²)
|
||||||
|
swarm_size = Size rooms (per km²)
|
||||||
|
swarm_count = Count of swarms
|
||||||
|
swarm_copulation = Mating or egg-laying
|
||||||
|
swarm_flying = Flying
|
||||||
|
swarm_height = Height
|
||||||
|
Description = Description
|
||||||
|
Inspector = Inspector
|
||||||
|
Changed = Changed
|
||||||
|
Lon = Longitude
|
||||||
|
Lat = Latitude
|
||||||
|
locust_type = Kind of locust
|
||||||
|
imago_laying = Egg-laying
|
||||||
|
swarm_laying = Egg-laying
|
||||||
|
Comments = Comments
|
||||||
|
Locust_Survey_Forms = Locust survey forms
|
||||||
|
Spray_Monitoring_Forms = Spray monitoring forms
|
||||||
|
FrmLocustDel = Standard forms for locust
|
||||||
|
infested_area = Populated area (ha)
|
||||||
|
treated_area = Cultivated area (ha)
|
||||||
|
vegetation_type = Type (wild, cultural)
|
||||||
|
Vegetation_type = Vegetation type
|
||||||
|
vegetation_height = Height (m)
|
||||||
|
vegetation_cover = Vegetation cover (%)
|
||||||
|
vegetation_crop = Vegetation
|
||||||
|
vegetation_damage = Damage to vegetation cover (%)
|
||||||
|
vegetation_damage_area = Area damage
|
||||||
|
insecticide_name = Commercial name
|
||||||
|
The_active_substance = The active substance
|
||||||
|
insecticide_concentration = Concentration (%)
|
||||||
|
insecticide_formulation = Formulation
|
||||||
|
insecticide_dose = Consumption rate (l/ha)
|
||||||
|
insecticide_rate = Working fluid flow (l/ha)
|
||||||
|
insecticide_expiry_date = Expiration
|
||||||
|
insecticide_mixed = Do insecticide mixed with water or solvent?
|
||||||
|
insecticide_mixed_name = Solvent
|
||||||
|
insecticide_mixed_ratio = If so, in what proportion (%)
|
||||||
|
weather_time_start = Start time
|
||||||
|
weather_time_end = End time
|
||||||
|
weather_temperature_start = Temperature at the start (°C)
|
||||||
|
weather_temperature_end = Temperature at the end (°C)
|
||||||
|
weather_humidity_start = Humidity start (%)
|
||||||
|
weather_humidity_end = Humidity end (%)
|
||||||
|
weather_wind_speed_start = Wind speed at the start (m/s)
|
||||||
|
weather_wind_speed_end = Wind speed at the end (m/s)
|
||||||
|
weather_direction_start = Start direction
|
||||||
|
weather_direction_end = End direction
|
||||||
|
weather_spray_direction_start = Spray direction at the start
|
||||||
|
weather_spray_direction_end = Spray direction at the end
|
||||||
|
locust_speciese = Species
|
||||||
|
locust_hoppers = Instar larvae
|
||||||
|
locust_density = Density (per m²)
|
||||||
|
spray_platform = Spray platform
|
||||||
|
spray_operator = Operator of spraying
|
||||||
|
spray_operator_name = Name of operator
|
||||||
|
spray_manufacturer_name = Brand sprayer
|
||||||
|
spray_model_name = Model of sprayer
|
||||||
|
spray_date_calibration = Date of last calibration
|
||||||
|
spray_height = Atomizer height above ground (m)
|
||||||
|
spray_width = Width (m)
|
||||||
|
spray_barrier = Barriers (m)
|
||||||
|
spray_speed = Speed (km/h)
|
||||||
|
spray_gps = Antenna: GPS used
|
||||||
|
spray_marking = Ground marking
|
||||||
|
efficacy_mortality = Locust mortality (%)
|
||||||
|
efficacy_passed_time = Elapsed time after working
|
||||||
|
efficacy_mortality_method = Method of counting mortality
|
||||||
|
safety_clothing = What protective clothing used operator
|
||||||
|
safety_inform = Who was notified about the workings?
|
||||||
|
safety_non_target = Impact on non-target organisms
|
||||||
|
safety_non_target_effect = If yes, what?
|
||||||
|
description = description
|
||||||
|
locust_kuliguli = Kuligi
|
||||||
|
locust_swarm = Swarms
|
||||||
|
locust_sparse = Sparse
|
||||||
|
Air_platform = Air platform
|
||||||
|
Ground_platform = Ground platform
|
||||||
|
Hand_platform = Hand platform
|
||||||
|
Type_of_operator = Type of operator
|
||||||
|
spray_barrier_width = Width (m)
|
||||||
|
spray_barrier_space = Space (m)
|
||||||
|
Terminal = Terminal
|
||||||
|
Named = Name
|
||||||
|
Phone = Phone
|
||||||
|
Serial_number = Serial number
|
||||||
|
Terminal_model = Terminal model
|
||||||
|
Terminals = Terminals
|
||||||
|
Coordinates_Geofence = Coordinates of geozone
|
||||||
|
Geofence = Geozone
|
||||||
|
Change_password = Change password
|
||||||
|
Login = Login
|
||||||
|
Password = Password
|
||||||
|
New_password = New password
|
||||||
|
Repeat_password = Repeat password
|
||||||
|
User_settings = User settings
|
||||||
|
Value = Value
|
||||||
|
Company = Company
|
||||||
|
Values = Values
|
||||||
|
Object = Object
|
||||||
|
sensor = sensor
|
||||||
|
Groups_of_objects = Groups of objects
|
||||||
|
Object_of_observation = Object of observation
|
||||||
|
Access = Access
|
||||||
|
Identifier = Identifier
|
||||||
|
Allow = Allow
|
||||||
|
Sensor = Sensor
|
||||||
|
objects = objects
|
||||||
|
Sensor_values = Sensor values
|
||||||
|
Units_of_measurement = Units of measurement
|
||||||
|
Fix_date = Fix date
|
||||||
|
Messages = Messages
|
||||||
|
Read = Read
|
||||||
|
Readed = Read
|
||||||
|
Content = Content
|
||||||
|
Date_read = Read date
|
||||||
|
Date_create = Date of creation
|
||||||
|
Day_mileage_and_speed = Day mileage and speed
|
||||||
|
Kilometers_distance = Kilometers distance
|
||||||
|
Kilometers_distance_without_signal = Kilometers distance without signal
|
||||||
|
Company_site = Company site
|
||||||
|
Contact_phone = Contact phone
|
||||||
|
Site = Site
|
||||||
|
Users = Users
|
||||||
|
Models_of_terminals = Models of terminals
|
||||||
|
Sensor_type = Sensor type
|
||||||
|
Sensor_of_devices = Sensor of devices
|
||||||
|
Measurement = Measurement
|
||||||
|
Sensor_model = Sensor model
|
||||||
|
Rounded_to = Approximately count to
|
||||||
|
Sensors_models = Sensors models
|
||||||
|
Count_objects = Number of objects
|
||||||
|
Group = Group
|
||||||
|
Stationary = Stationary
|
||||||
|
Icon = Icon
|
||||||
|
Objects_of_observation = Objects of observation
|
||||||
|
Count_of_sensors = Number of sensors
|
||||||
|
Icons = Icons
|
||||||
|
name = name
|
||||||
|
File = File
|
||||||
|
Size = Size
|
||||||
|
byte = byte
|
||||||
|
Geofences = Geozones
|
||||||
|
Geofence = Geozone
|
||||||
|
Coordinate = Coordinate
|
||||||
|
Position = Position
|
||||||
|
True_position = Right location
|
||||||
|
outside = outside
|
||||||
|
inside = inside
|
||||||
|
Boundary = Boundary
|
||||||
|
Inform = Inform
|
||||||
|
Inside = Inside
|
||||||
|
Sensor_of_object = Sensor of object
|
||||||
|
Sensors_of_objects = Sensors of objects
|
||||||
|
Last_value = Last value
|
||||||
|
Date_of_the_last_value = Date of the last value
|
||||||
|
Readings = Measerement
|
||||||
|
Devices = Devices
|
||||||
|
Sensor_readings = Sensor readings
|
||||||
|
GPS_readings = GPS data
|
||||||
|
Fixation_date = Date of fixing
|
||||||
|
Speed = Speed
|
||||||
|
Message = Message
|
||||||
|
Subject = Subject
|
||||||
|
Creation_date = Date of creation
|
||||||
|
Contents = Contents
|
||||||
|
User_messages = User messages
|
||||||
|
Reading_date = Reading date
|
||||||
|
Users_messages = Users messages
|
||||||
|
The_boundary_values_of_the_sensors = The limit values of the sensors
|
||||||
|
Minimum_value = Minimum value
|
||||||
|
Maximum_value = Maximum value
|
||||||
|
Only_on_the_boundary = Only on the boundary
|
||||||
|
Action = Action
|
||||||
|
Rule = Rule
|
||||||
|
Actions = Actions
|
||||||
|
Access_role = Access role
|
||||||
|
Parental_role = Parental_role
|
||||||
|
Role_name = Role name
|
||||||
|
Role_description = Role description
|
||||||
|
Role = Role
|
||||||
|
Phones = Phones
|
||||||
|
Password_expiration = Password expiration
|
||||||
|
Renewal_password = Renewal password
|
||||||
|
days = days
|
||||||
|
day = day
|
||||||
|
S_N_P = S.N.P.
|
||||||
|
Last_enter = Last enter
|
||||||
|
Roles = Roles
|
||||||
|
User_roles = User roles
|
||||||
|
Synchronization_objects = Synchronization objects
|
||||||
|
Synchronization_service = Synchronization service
|
||||||
|
Synchronization_order = Synchronization order
|
||||||
|
The_interval_between_the_update_in_s = The interval between the update in (s)
|
||||||
|
At_a_time = Records per one time
|
||||||
|
Time_of_the_last_synchronization = Time of the last synchronization
|
||||||
|
Service = Service
|
||||||
|
Order = Order
|
||||||
|
Interval = Interval
|
||||||
|
Limit = Limit
|
||||||
|
Synchronization_services = Synchronization services
|
||||||
|
Host = Host
|
||||||
|
History = History
|
||||||
|
Table = Table
|
||||||
|
Field = Field
|
||||||
|
Data = Data
|
||||||
|
Short_name = Short name
|
||||||
|
Translation = Translation
|
||||||
|
Sprayer_type = Sprayer type
|
||||||
|
Sprayers = Sprayers
|
||||||
|
Sprayer = Sprayer
|
||||||
|
Sprayer_type_name = Sprayer type name
|
||||||
|
Countries = Countries
|
||||||
|
Regions = Regions
|
||||||
|
Automated_system_of_data_collection = Automated system of data collection
|
||||||
|
Download_android_app_Inspector = Download the android app of Inspector
|
||||||
|
Run_the_application_of_the_situational_center = Run the application of the situational center
|
||||||
|
For_any_questions_contact_us_at_tel_Fax = Contact us by phone/fax
|
||||||
|
Your_session_is_canceled = Your session is canceled!
|
||||||
|
Simultaneous_operation_of_multiple_users = Simultaneous operation of multiple users!
|
||||||
|
You_are_not_logged_in = You are not logged in!
|
||||||
|
Not_found_the_requested_node: = Not found the requested node:
|
||||||
|
The_number_of_records_is_not_equal_to_one = The number of records is not equal to one!
|
||||||
|
Registration_Form_Inspector = Registration Form Inspector
|
||||||
|
Post = Post
|
||||||
|
The_device_ID = The device ID
|
||||||
|
Security_Code = Security Code
|
||||||
|
Update = Update
|
||||||
|
image = image
|
||||||
|
Registering = Registering
|
||||||
|
configuration_section_s = configuration section; %s
|
||||||
|
configuration_option_s = configuration option; %s
|
||||||
|
Locust_survey = Locust survey
|
||||||
|
Spray_monitoring = Spray monitoring
|
||||||
|
Reports = Reports
|
||||||
|
Report = Report
|
||||||
|
Map_layers = Map layers
|
||||||
|
Administration = Administration
|
||||||
|
Completed_forms_by_tablets = Completed forms by tablets
|
||||||
|
Filling_forms_by_countries = Filling forms by countries
|
||||||
|
Standard_survey_forms = Standard survey forms
|
||||||
|
Companies = Companies
|
||||||
|
Report_by_countries = Report by countries
|
||||||
|
Lists = Lists
|
||||||
|
Members = Members
|
||||||
|
Photo = Photo
|
||||||
|
Egg_pods_density_m2 = Egg-pods (density/m²)
|
||||||
|
Egg_pods_density = Egg-pods density
|
||||||
|
Egg_pod = Egg-pod
|
||||||
|
Eggs_average_number_egg_pod = Eggs (average number egg pod)
|
||||||
|
Number_forms = Number of forms
|
||||||
|
Open_data_on_the_map = Open data on the map
|
||||||
|
From_date = From date
|
||||||
|
To_date = To date
|
||||||
|
Distribution_of_locust = Information on the distribution of locust
|
||||||
|
Hide = Hide
|
||||||
|
For_what_year = For what year
|
||||||
|
Invalid_username_and_or_password = Invalid username and/or password!
|
||||||
|
Automated_system_of_data_collection_ASDC = Automated system of data collection (ASDC)
|
||||||
|
Method_filling_form = Method of filling the form
|
||||||
|
From_PDA = From tablet
|
||||||
|
From_WEB_interface = From WEB interface
|
||||||
|
PDA_registered = PDA registered
|
||||||
|
Yes = Yes
|
||||||
|
Not = Not
|
||||||
|
Displayed_data = Displayed data
|
||||||
|
Adult_density_m2 = Adult (density/m²)
|
||||||
|
Adult_density = Adult density
|
||||||
|
Hopper_density_m2 = Hopper (density/m²)
|
||||||
|
Swarms = Swarms
|
||||||
|
Bands = Hopper bands
|
||||||
|
Band_sizes_m2 = Band sizes (m²)
|
||||||
|
Open_in_a_table_format = Open in a table format
|
||||||
|
Request_data = Request data
|
||||||
|
Method_filling_form = Method filling form
|
||||||
|
From_DPA = From DPA
|
||||||
|
From_WEB_interface = From WEB interface
|
||||||
|
PDA_registered = Tablets registered
|
||||||
|
Yes = Yes
|
||||||
|
Not = Not
|
||||||
|
Open_in_a_table_format = Open in a table format
|
||||||
|
Request_data = Request data
|
||||||
|
Displayed_data = Displayed data
|
||||||
|
Open_in_a_table_format = Open in a table format
|
||||||
|
Request_data = Request data
|
||||||
|
The_tablet = The tablet
|
||||||
|
Spray_Monitoring_Form = Spray Monitoring Form
|
||||||
|
Information_on_the_distribution_of_locust = Information about locusts’ distribution and its control
|
||||||
|
Organization = Organization
|
||||||
|
User_roles = User_roles
|
||||||
|
Layout = Layer
|
||||||
|
Markings = Markings
|
||||||
|
Formulation = Formulation
|
||||||
|
Fledgling = Fledgling
|
||||||
|
Borns = Hatching
|
||||||
|
Breeding = Behaviour
|
||||||
|
Containers = Containers
|
||||||
|
Height = Height
|
||||||
|
Enemies = Natural enemies present
|
||||||
|
Report_by_tablets = Tablets’ report
|
||||||
|
Value = Value
|
||||||
|
Days = Days
|
||||||
|
Hours = Hours
|
||||||
|
Company_User = Company->User
|
||||||
|
Object_Geofence = Object->Geozone
|
||||||
|
Sensor_for_ComboBox = Sensor for drop-down list
|
||||||
|
SprayersTypes = Sprayers Types
|
||||||
|
CountriesRegions = The boundaries of Regions
|
||||||
|
CIT_Italian_locust = CIT - Italian locust
|
||||||
|
DMA_Moroccan_locust = DMA - Moroccan locust
|
||||||
|
LMI_Asian_migratory_locust = LMI - Asian migratory locust
|
||||||
|
Substrate = Substrate
|
||||||
|
Displaying_data = Displaying data
|
||||||
|
Show_data = Show data
|
||||||
|
All_types = All types
|
||||||
|
All_kinds = All kinds
|
||||||
|
Maps_of_areas_infested_above_Economic_Threshold_ET = Maps of areas infested above Economic Threshold (ET)
|
||||||
|
Maps_of_treated_areas_above_ET = Maps of treated areas above ET
|
||||||
|
Map_of_the_level_of_threat = Map of the level of threat
|
||||||
|
Download_QGIS_project = Download QGIS project
|
||||||
|
Caution = Caution
|
||||||
|
Calm = Calm
|
||||||
|
Danger = Danger
|
||||||
|
Increase = Increase
|
||||||
|
Decrease = Decrease
|
||||||
|
On_the_same_level = On the same level
|
||||||
|
Normal_Multiyear_average_level = Normal/Multiyear average level
|
||||||
|
Device_id = Device id
|
||||||
|
All_countries_of_CCA = All countries of CCA
|
||||||
|
The_Caucasus_countries_and_Russia = The Caucasus countries and Russia
|
||||||
|
Countries_of_Central_Asia_and_Russia = Countries of Central Asia and Russia
|
||||||
|
The_forecast_of_hatching_periods = The forecast of hatching periods
|
||||||
|
Weather_forecast = Weather forecast
|
||||||
|
soil_temperature = soil temperature
|
||||||
|
Soil_temperature = Soil temperature
|
||||||
|
Passwords_did_not_match = Passwords do not coincide!
|
||||||
|
The_s_is_not_Email = The "%s" is not Email!
|
||||||
|
Password_changed_successfully = Password changed successfully.
|
||||||
|
Failed_to_change_password = Failed to change password.
|
||||||
|
Check_the_entered_data = Check the entered data.
|
||||||
|
for_ = for
|
||||||
|
Earth_temperature = Earth temperature
|
||||||
|
Point = Point
|
||||||
|
Forecast_of_hours = Hours of forecast
|
||||||
|
hours = hours
|
||||||
|
Change_login_password = Change login/password
|
||||||
|
Type = Type
|
||||||
|
Legend = Legend
|
||||||
|
Spraying = Spraying
|
||||||
|
Chart = Chart
|
||||||
|
Percent = Percent
|
||||||
|
For_s_year = For %s year
|
||||||
|
and = and
|
||||||
|
Time_and_date_of_generation = Time and date of generation
|
||||||
|
Filter_options = Filter_options
|
||||||
|
Export_to_Excel = Export to Excel
|
||||||
|
Preparing_of_report = Preparing of report
|
||||||
|
Download_report = Download report
|
||||||
|
Old_password = Old password
|
||||||
|
Not_filled_Email_address = Not filled Email address
|
||||||
|
Wrong_XML_document = Wrong XML document
|
||||||
|
Organizations = Organizations
|
||||||
|
Vegetation = Vegetation
|
||||||
|
Please_enter_a_valid_email_address = Please enter a valid Email address
|
||||||
|
Log_in = Log in
|
||||||
|
Registration = Registration
|
||||||
|
Password_recovery = Password recovery
|
||||||
|
The_s_field_is_empty = The "%s" field is empty
|
||||||
|
New_user_is_registered = New user is registered.
|
||||||
|
The_password_has_been_sent_to_you_by_Email = The password has been sent to you by Email.
|
||||||
|
Others = Others
|
||||||
|
Absent = Absent
|
||||||
|
No_data = No data
|
||||||
|
District = District
|
||||||
|
Districts = Districts
|
||||||
|
The_tablets = The tablets
|
||||||
|
Other = Other
|
||||||
|
Regions = Oblasts
|
||||||
|
Region = Oblast
|
||||||
|
All = All
|
||||||
|
Edit = Edit
|
||||||
|
thous_ha = thous. ha
|
||||||
|
Thous_ha = Thous. ha
|
||||||
|
Average = Average
|
||||||
|
Year = Year
|
||||||
|
Deviation = Deviation
|
||||||
|
Dev_of_average = Dev. of average
|
||||||
|
Average = Average
|
||||||
|
Layouts = Layers
|
||||||
|
The_tabblet = Tablet
|
||||||
|
Forms_for_locust_survey = Locust Survey Form
|
||||||
|
Forms_for_spray_monitoring = Spray Monitoring Form
|
||||||
|
The_tablet_registered = The tablet is registered
|
||||||
|
Area_infested_ha = Infested area (ha)
|
||||||
|
Minimum_density_in_the_band_in_m2 = Minimum band density (/m²)
|
||||||
|
Maximum_density_in_the_band_in_m2 = Maximum band density (/m²)
|
||||||
|
Adult_density_ha = Adult density (/ha)
|
||||||
|
Adult_density_m2 = Adult density (/m²)
|
||||||
|
Feeding_and_roosting = Feeding and roosting
|
||||||
|
Density_of_swarm = Swarm density
|
||||||
|
Swarm_size_ha = Swarm size (ha)
|
||||||
|
Number_of_swarms = Number of swarms
|
||||||
|
Flying_direction = Flying direction
|
||||||
|
Flying_height = Flying height
|
||||||
|
Weather_air_temperature_C = Weather: air temperature (ºC)
|
||||||
|
Locust_Survey_Form = Locust Survey Form
|
||||||
|
Locust_Survey_Forms = Locust survey forms
|
||||||
|
Latitude_center_portion = Latitude (site center)
|
||||||
|
Longitude_center_portion = Longitude (site center)
|
||||||
|
INSECTICIDE_DATA = Insecticide information
|
||||||
|
Concentration_A_S = Concentration (%)
|
||||||
|
Relative_humidity_start = Relative humidity at the start (%)
|
||||||
|
Relative_humidity_end = Relative humidity at the end (%)
|
||||||
|
Wind_direction_start = Wind direction at the start
|
||||||
|
Wind_direction_end = Wind direction at the end
|
||||||
|
Density_m2 = Density (/m2)
|
||||||
|
Model_sprayer = Sprayer model
|
||||||
|
Biological_efficiency_of_treatment = Biological efficiency of treatment (%)
|
||||||
|
Inform_abaut_spraying = Informed about spraying
|
||||||
|
Inspect_thous_ha = Surveyed (thous. ha)
|
||||||
|
Responsible_person = Responsible person for the tablet (inspector)
|
||||||
|
Upload = Upload
|
||||||
|
Delete = Delete
|
||||||
|
Download = Download
|
||||||
|
Hoppers = Hoppers (scattered)
|
||||||
|
Kuliguli = Bands
|
||||||
|
Adult = Adult
|
||||||
|
Restore = Restore
|
||||||
|
Add_more = Add more
|
||||||
|
Successfully_added_data = Successfully added data
|
||||||
|
Are_you_sure_you_want_to_delete_the_entries = Are you sure you want to delete the entries?
|
||||||
|
Increase_by_1 = Increase by 1
|
||||||
|
Decrease_by_1 = Decrease by 1
|
||||||
|
No_results_were_found_for_your_search = No results were found for your search!
|
||||||
|
Selection = Selection
|
||||||
|
Add_record = Add record
|
||||||
|
Delete_record = Delete record
|
||||||
|
Filtering = Filtering
|
||||||
|
Invert_selection = Invert selection
|
||||||
|
Antenna_DGPS_used = Antenna: DGPS used
|
||||||
|
No_locust = No locust
|
||||||
|
Total_volume_of_working_solution_actually_applied_l = Total volume of working solution actually applied (l)
|
||||||
|
|
||||||
|
Triple_rinsed=Triple_rinsed
|
||||||
|
Punctured=Punctured
|
||||||
|
Taken_back_to_base=Taken_back_to_base
|
||||||
|
Left_in_field=Left_in_field
|
||||||
|
Buried=Buried
|
||||||
|
Burned=Burned
|
||||||
535
src/main/java/messages_tk.properties_not_used
Normal file
535
src/main/java/messages_tk.properties_not_used
Normal file
@ -0,0 +1,535 @@
|
|||||||
|
language = en
|
||||||
|
Language = Language
|
||||||
|
label_registration = Registration
|
||||||
|
label_login = Log In
|
||||||
|
Types_of_locust = Kinds of locust
|
||||||
|
Unknown_function = Unknown function!
|
||||||
|
Not_yet_implemented = Not yet implemented!
|
||||||
|
Type_of_locust = Type of locust
|
||||||
|
Kind_of_locust = Kind of locust
|
||||||
|
Name = Name
|
||||||
|
Types_of_locust = Kinds of locust
|
||||||
|
Age = Age
|
||||||
|
Biotop = Biotop
|
||||||
|
Sorting_index = Index of sorting
|
||||||
|
Capacity = Capacity
|
||||||
|
Capacities = Capacities
|
||||||
|
Types_of_operators = Types of operators
|
||||||
|
Types_of_operator = Types of operator
|
||||||
|
Density_of_vegetation = Density of vegetation
|
||||||
|
Damage = Damage
|
||||||
|
Density = Density
|
||||||
|
Directions = Directions
|
||||||
|
Angle = Angle
|
||||||
|
Methods_of_calculating_mortality = Methods of calculating mortality
|
||||||
|
Method_of_calculating_mortality = Method of calculating mortality
|
||||||
|
Phase = Phase
|
||||||
|
Condition_of_vegetation = Vegetation state
|
||||||
|
Actions_of_bands = Actions of hopper bands
|
||||||
|
Behaviors = Behaviour
|
||||||
|
Paintings = Paintings
|
||||||
|
Painting = Painting
|
||||||
|
Report_by_inspectors = Report by inspectors
|
||||||
|
From_date = From date
|
||||||
|
To_date = To date
|
||||||
|
Surname = Surname
|
||||||
|
Patronymic = Patronymic
|
||||||
|
Completed_questionnaires_locusts = Completed questionnaires locusts
|
||||||
|
Completed_questionnaires_for_the_destruction_of_locusts = Completed questionnaires for the destruction of locusts
|
||||||
|
FrmLocust = FrmLocust
|
||||||
|
User = User
|
||||||
|
Photo = Photo
|
||||||
|
Photo_name = Photo name
|
||||||
|
Country = Country
|
||||||
|
Area = Area
|
||||||
|
Region = Region
|
||||||
|
District = District
|
||||||
|
Observer = Observer
|
||||||
|
Date = Date
|
||||||
|
Terrain = Terrain
|
||||||
|
Latitude = Latitude
|
||||||
|
Longitude = Longitude
|
||||||
|
bio_hectare = Surveyed area (ha)
|
||||||
|
bio_biotope = Type of habitat
|
||||||
|
bio_greenery = Vegetation
|
||||||
|
bio_greenery_cover = The vegetation cover
|
||||||
|
bio_temperature = Weather: air temperature (ºC)
|
||||||
|
Weather = Weather
|
||||||
|
bio_wind = Weather: wind (m/s)
|
||||||
|
Wind_m_s = Weather: wind (m/s)
|
||||||
|
LOCUST_INFORMATION_INCLUDING_EGG_PODS = _LOCUST INFORMATION (INCLUDING EGG-PODS)
|
||||||
|
Air_temperature = Weather: air temperature (ºC)
|
||||||
|
locust_have = Present locusts
|
||||||
|
locust_populated = Populated area (ha)
|
||||||
|
eggs_capsules_area = Deposit egg capsules (area in m²)
|
||||||
|
eggs_capsules_density = Potbelly (density per m²)
|
||||||
|
Egg_bed_surface_in_ha = Egg-bed (surface in m²)
|
||||||
|
eggs_capsules = Eggs (average per pod)
|
||||||
|
eggs_live = Eggs (% viable)
|
||||||
|
eggs_enemies = The presence of natural enemies (what?)
|
||||||
|
larva_born = Born
|
||||||
|
larva_age = Age
|
||||||
|
larva_painting = Painting
|
||||||
|
larva_behavior = Behavior
|
||||||
|
larva_density = Density (per m²)
|
||||||
|
kuliguli_age = Mean age
|
||||||
|
kuliguli_density = Tighter. in the swarm (in m²)
|
||||||
|
kuliguli_size = Swarms size (m²)
|
||||||
|
kuliguli_count = By swarms
|
||||||
|
kuliguli_action = Behavior
|
||||||
|
imago_wing = Stand on the wing
|
||||||
|
imago_maturity = Maturity
|
||||||
|
imago_phase = Phase
|
||||||
|
imago_action = Behavior
|
||||||
|
imago_density = Density (per he.)
|
||||||
|
imago_copulation = Mating or egg-laying
|
||||||
|
imago_flying = Flying
|
||||||
|
swarm_maturity = Maturity
|
||||||
|
swarm_density = Density (per m²)
|
||||||
|
swarm_size = Size rooms (per km²)
|
||||||
|
swarm_count = Count of swarms
|
||||||
|
swarm_copulation = Mating or egg-laying
|
||||||
|
swarm_flying = Flying
|
||||||
|
swarm_height = Height
|
||||||
|
Description = Description
|
||||||
|
Inspector = Inspector
|
||||||
|
Changed = Changed
|
||||||
|
Lon = Longitude
|
||||||
|
Lat = Latitude
|
||||||
|
locust_type = Kind of locust
|
||||||
|
imago_laying = Egg-laying
|
||||||
|
swarm_laying = Egg-laying
|
||||||
|
Comments = Comments
|
||||||
|
Locust_Survey_Forms = Locust survey forms
|
||||||
|
Spray_Monitoring_Forms = Spray monitoring forms
|
||||||
|
FrmLocustDel = Standard forms for locust
|
||||||
|
infested_area = Populated area (ha)
|
||||||
|
treated_area = Cultivated area (ha)
|
||||||
|
vegetation_type = Type (wild, cultural)
|
||||||
|
Vegetation_type = Vegetation type
|
||||||
|
vegetation_height = Height (m)
|
||||||
|
vegetation_cover = Vegetation cover (%)
|
||||||
|
vegetation_crop = Vegetation
|
||||||
|
vegetation_damage = Damage to vegetation cover (%)
|
||||||
|
vegetation_damage_area = Area damage
|
||||||
|
insecticide_name = Commercial name
|
||||||
|
The_active_substance = The active substance
|
||||||
|
insecticide_concentration = Concentration (%)
|
||||||
|
insecticide_formulation = Formulation
|
||||||
|
insecticide_dose = Consumption rate (l/ha)
|
||||||
|
insecticide_rate = Working fluid flow (l/ha)
|
||||||
|
insecticide_expiry_date = Expiration
|
||||||
|
insecticide_mixed = Do insecticide mixed with water or solvent?
|
||||||
|
insecticide_mixed_name = Solvent
|
||||||
|
insecticide_mixed_ratio = If so, in what proportion (%)
|
||||||
|
weather_time_start = Start time
|
||||||
|
weather_time_end = End time
|
||||||
|
weather_temperature_start = Temperature at the start (°C)
|
||||||
|
weather_temperature_end = Temperature at the end (°C)
|
||||||
|
weather_humidity_start = Humidity start (%)
|
||||||
|
weather_humidity_end = Humidity end (%)
|
||||||
|
weather_wind_speed_start = Wind speed at the start (m/s)
|
||||||
|
weather_wind_speed_end = Wind speed at the end (m/s)
|
||||||
|
weather_direction_start = Start direction
|
||||||
|
weather_direction_end = End direction
|
||||||
|
weather_spray_direction_start = Spray direction at the start
|
||||||
|
weather_spray_direction_end = Spray direction at the end
|
||||||
|
locust_speciese = Species
|
||||||
|
locust_hoppers = Instar larvae
|
||||||
|
locust_density = Density (per m²)
|
||||||
|
spray_platform = Spray platform
|
||||||
|
spray_operator = Operator of spraying
|
||||||
|
spray_operator_name = Name of operator
|
||||||
|
spray_manufacturer_name = Brand sprayer
|
||||||
|
spray_model_name = Model of sprayer
|
||||||
|
spray_date_calibration = Date of last calibration
|
||||||
|
spray_height = Atomizer height above ground (m)
|
||||||
|
spray_width = Width (m)
|
||||||
|
spray_barrier = Barriers (m)
|
||||||
|
spray_speed = Speed (km/h)
|
||||||
|
spray_gps = Antenna: GPS used
|
||||||
|
spray_marking = Ground marking
|
||||||
|
efficacy_mortality = Locust mortality (%)
|
||||||
|
efficacy_passed_time = Elapsed time after working
|
||||||
|
efficacy_mortality_method = Method of counting mortality
|
||||||
|
safety_clothing = What protective clothing used operator
|
||||||
|
safety_inform = Who was notified about the workings?
|
||||||
|
safety_non_target = Impact on non-target organisms
|
||||||
|
safety_non_target_effect = If yes, what?
|
||||||
|
description = description
|
||||||
|
locust_kuliguli = Kuligi
|
||||||
|
locust_swarm = Swarms
|
||||||
|
locust_sparse = Sparse
|
||||||
|
Air_platform = Air platform
|
||||||
|
Ground_platform = Ground platform
|
||||||
|
Hand_platform = Hand platform
|
||||||
|
Type_of_operator = Type of operator
|
||||||
|
spray_barrier_width = Width (m)
|
||||||
|
spray_barrier_space = Space (m)
|
||||||
|
Terminal = Terminal
|
||||||
|
Named = Name
|
||||||
|
Phone = Phone
|
||||||
|
Serial_number = Serial number
|
||||||
|
Terminal_model = Terminal model
|
||||||
|
Terminals = Terminals
|
||||||
|
Coordinates_Geofence = Coordinates of geozone
|
||||||
|
Geofence = Geozone
|
||||||
|
Change_password = Change password
|
||||||
|
Login = Login
|
||||||
|
Password = Password
|
||||||
|
New_password = New password
|
||||||
|
Repeat_password = Repeat password
|
||||||
|
User_settings = User settings
|
||||||
|
Value = Value
|
||||||
|
Company = Company
|
||||||
|
Values = Values
|
||||||
|
Object = Object
|
||||||
|
sensor = sensor
|
||||||
|
Groups_of_objects = Groups of objects
|
||||||
|
Object_of_observation = Object of observation
|
||||||
|
Access = Access
|
||||||
|
Identifier = Identifier
|
||||||
|
Allow = Allow
|
||||||
|
Sensor = Sensor
|
||||||
|
objects = objects
|
||||||
|
Sensor_values = Sensor values
|
||||||
|
Units_of_measurement = Units of measurement
|
||||||
|
Fix_date = Fix date
|
||||||
|
Messages = Messages
|
||||||
|
Read = Read
|
||||||
|
Readed = Read
|
||||||
|
Content = Content
|
||||||
|
Date_read = Read date
|
||||||
|
Date_create = Date of creation
|
||||||
|
Day_mileage_and_speed = Day mileage and speed
|
||||||
|
Kilometers_distance = Kilometers distance
|
||||||
|
Kilometers_distance_without_signal = Kilometers distance without signal
|
||||||
|
Company_site = Company site
|
||||||
|
Contact_phone = Contact phone
|
||||||
|
Site = Site
|
||||||
|
Users = Users
|
||||||
|
Models_of_terminals = Models of terminals
|
||||||
|
Sensor_type = Sensor type
|
||||||
|
Sensor_of_devices = Sensor of devices
|
||||||
|
Measurement = Measurement
|
||||||
|
Sensor_model = Sensor model
|
||||||
|
Rounded_to = Approximately count to
|
||||||
|
Sensors_models = Sensors models
|
||||||
|
Count_objects = Number of objects
|
||||||
|
Group = Group
|
||||||
|
Stationary = Stationary
|
||||||
|
Icon = Icon
|
||||||
|
Objects_of_observation = Objects of observation
|
||||||
|
Count_of_sensors = Number of sensors
|
||||||
|
Icons = Icons
|
||||||
|
name = name
|
||||||
|
File = File
|
||||||
|
Size = Size
|
||||||
|
byte = byte
|
||||||
|
Geofences = Geozones
|
||||||
|
Geofence = Geozone
|
||||||
|
Coordinate = Coordinate
|
||||||
|
Position = Position
|
||||||
|
True_position = Right location
|
||||||
|
outside = outside
|
||||||
|
inside = inside
|
||||||
|
Boundary = Boundary
|
||||||
|
Inform = Inform
|
||||||
|
Inside = Inside
|
||||||
|
Sensor_of_object = Sensor of object
|
||||||
|
Sensors_of_objects = Sensors of objects
|
||||||
|
Last_value = Last value
|
||||||
|
Date_of_the_last_value = Date of the last value
|
||||||
|
Readings = Measerement
|
||||||
|
Devices = Devices
|
||||||
|
Sensor_readings = Sensor readings
|
||||||
|
GPS_readings = GPS data
|
||||||
|
Fixation_date = Date of fixing
|
||||||
|
Speed = Speed
|
||||||
|
Message = Message
|
||||||
|
Subject = Subject
|
||||||
|
Creation_date = Date of creation
|
||||||
|
Contents = Contents
|
||||||
|
User_messages = User messages
|
||||||
|
Reading_date = Reading date
|
||||||
|
Users_messages = Users messages
|
||||||
|
The_boundary_values_of_the_sensors = The limit values of the sensors
|
||||||
|
Minimum_value = Minimum value
|
||||||
|
Maximum_value = Maximum value
|
||||||
|
Only_on_the_boundary = Only on the boundary
|
||||||
|
Action = Action
|
||||||
|
Rule = Rule
|
||||||
|
Actions = Actions
|
||||||
|
Access_role = Access role
|
||||||
|
Parental_role = Parental_role
|
||||||
|
Role_name = Role name
|
||||||
|
Role_description = Role description
|
||||||
|
Role = Role
|
||||||
|
Phones = Phones
|
||||||
|
Password_expiration = Password expiration
|
||||||
|
Renewal_password = Renewal password
|
||||||
|
days = days
|
||||||
|
day = day
|
||||||
|
S_N_P = S.N.P.
|
||||||
|
Last_enter = Last enter
|
||||||
|
Roles = Roles
|
||||||
|
User_roles = User roles
|
||||||
|
Synchronization_objects = Synchronization objects
|
||||||
|
Synchronization_service = Synchronization service
|
||||||
|
Synchronization_order = Synchronization order
|
||||||
|
The_interval_between_the_update_in_s = The interval between the update in (s)
|
||||||
|
At_a_time = Records per one time
|
||||||
|
Time_of_the_last_synchronization = Time of the last synchronization
|
||||||
|
Service = Service
|
||||||
|
Order = Order
|
||||||
|
Interval = Interval
|
||||||
|
Limit = Limit
|
||||||
|
Synchronization_services = Synchronization services
|
||||||
|
Host = Host
|
||||||
|
History = History
|
||||||
|
Table = Table
|
||||||
|
Field = Field
|
||||||
|
Data = Data
|
||||||
|
Short_name = Short name
|
||||||
|
Translation = Translation
|
||||||
|
Sprayer_type = Sprayer type
|
||||||
|
Sprayers = Sprayers
|
||||||
|
Sprayer = Sprayer
|
||||||
|
Sprayer_type_name = Sprayer type name
|
||||||
|
Countries = Countries
|
||||||
|
Regions = Regions
|
||||||
|
Automated_system_of_data_collection = Automated system of data collection
|
||||||
|
Download_android_app_Inspector = Download the android app of Inspector
|
||||||
|
Run_the_application_of_the_situational_center = Run the application of the situational center
|
||||||
|
For_any_questions_contact_us_at_tel_Fax = Contact us by phone/fax
|
||||||
|
Your_session_is_canceled = Your session is canceled!
|
||||||
|
Simultaneous_operation_of_multiple_users = Simultaneous operation of multiple users!
|
||||||
|
You_are_not_logged_in = You are not logged in!
|
||||||
|
Not_found_the_requested_node: = Not found the requested node:
|
||||||
|
The_number_of_records_is_not_equal_to_one = The number of records is not equal to one!
|
||||||
|
Registration_Form_Inspector = Registration Form Inspector
|
||||||
|
Post = Post
|
||||||
|
The_device_ID = The device ID
|
||||||
|
Security_Code = Security Code
|
||||||
|
Update = Update
|
||||||
|
image = image
|
||||||
|
Registering = Registering
|
||||||
|
configuration_section_s = configuration section; %s
|
||||||
|
configuration_option_s = configuration option; %s
|
||||||
|
Locust_survey = Locust survey
|
||||||
|
Spray_monitoring = Spray monitoring
|
||||||
|
Reports = Reports
|
||||||
|
Report = Report
|
||||||
|
Map_layers = Map layers
|
||||||
|
Administration = Administration
|
||||||
|
Completed_forms_by_tablets = Completed forms by tablets
|
||||||
|
Filling_forms_by_countries = Filling forms by countries
|
||||||
|
Standard_survey_forms = Standard survey forms
|
||||||
|
Companies = Companies
|
||||||
|
Report_by_countries = Report by countries
|
||||||
|
Lists = Lists
|
||||||
|
Members = Members
|
||||||
|
Photo = Photo
|
||||||
|
Egg_pods_density_m2 = Egg-pods (density/m²)
|
||||||
|
Egg_pods_density = Egg-pods density
|
||||||
|
Egg_pod = Egg-pod
|
||||||
|
Eggs_average_number_egg_pod = Eggs (average number egg pod)
|
||||||
|
Number_forms = Number of forms
|
||||||
|
Open_data_on_the_map = Open data on the map
|
||||||
|
From_date = From date
|
||||||
|
To_date = To date
|
||||||
|
Distribution_of_locust = Information on the distribution of locust
|
||||||
|
Hide = Hide
|
||||||
|
For_what_year = For what year
|
||||||
|
Invalid_username_and_or_password = Invalid username and/or password!
|
||||||
|
Automated_system_of_data_collection_ASDC = Automated system of data collection (ASDC)
|
||||||
|
Method_filling_form = Method of filling the form
|
||||||
|
From_PDA = From tablet
|
||||||
|
From_WEB_interface = From WEB interface
|
||||||
|
PDA_registered = PDA registered
|
||||||
|
Yes = Yes
|
||||||
|
Not = Not
|
||||||
|
Displayed_data = Displayed data
|
||||||
|
Adult_density_m2 = Adult (density/m²)
|
||||||
|
Adult_density = Adult density
|
||||||
|
Hopper_density_m2 = Hopper (density/m²)
|
||||||
|
Swarms = Swarms
|
||||||
|
Bands = Hopper bands
|
||||||
|
Band_sizes_m2 = Band sizes (m²)
|
||||||
|
Open_in_a_table_format = Open in a table format
|
||||||
|
Request_data = Request data
|
||||||
|
Method_filling_form = Method filling form
|
||||||
|
From_DPA = From DPA
|
||||||
|
From_WEB_interface = From WEB interface
|
||||||
|
PDA_registered = Tablets registered
|
||||||
|
Yes = Yes
|
||||||
|
Not = Not
|
||||||
|
Open_in_a_table_format = Open in a table format
|
||||||
|
Request_data = Request data
|
||||||
|
Displayed_data = Displayed data
|
||||||
|
Open_in_a_table_format = Open in a table format
|
||||||
|
Request_data = Request data
|
||||||
|
The_tablet = The tablet
|
||||||
|
Spray_Monitoring_Form = Spray Monitoring Form
|
||||||
|
Information_on_the_distribution_of_locust = Information about locusts’ distribution and its control
|
||||||
|
Organization = Organization
|
||||||
|
User_roles = User_roles
|
||||||
|
Layout = Layer
|
||||||
|
Markings = Markings
|
||||||
|
Formulation = Formulation
|
||||||
|
Fledgling = Fledgling
|
||||||
|
Borns = Hatching
|
||||||
|
Breeding = Behaviour
|
||||||
|
Containers = Containers
|
||||||
|
Height = Height
|
||||||
|
Enemies = Natural enemies present
|
||||||
|
Report_by_tablets = Tablets’ report
|
||||||
|
Value = Value
|
||||||
|
Days = Days
|
||||||
|
Hours = Hours
|
||||||
|
Company_User = Company->User
|
||||||
|
Object_Geofence = Object->Geozone
|
||||||
|
Sensor_for_ComboBox = Sensor for drop-down list
|
||||||
|
SprayersTypes = Sprayers Types
|
||||||
|
CountriesRegions = The boundaries of Regions
|
||||||
|
CIT_Italian_locust = CIT - Italian locust
|
||||||
|
DMA_Moroccan_locust = DMA - Moroccan locust
|
||||||
|
LMI_Asian_migratory_locust = LMI - Asian migratory locust
|
||||||
|
Substrate = Substrate
|
||||||
|
Displaying_data = Displaying data
|
||||||
|
Show_data = Show data
|
||||||
|
All_types = All types
|
||||||
|
All_kinds = All kinds
|
||||||
|
Maps_of_areas_infested_above_Economic_Threshold_ET = Maps of areas infested above Economic Threshold (ET)
|
||||||
|
Maps_of_treated_areas_above_ET = Maps of treated areas above ET
|
||||||
|
Map_of_the_level_of_threat = Map of the level of threat
|
||||||
|
Download_QGIS_project = Download QGIS project
|
||||||
|
Caution = Caution
|
||||||
|
Calm = Calm
|
||||||
|
Danger = Danger
|
||||||
|
Increase = Increase
|
||||||
|
Decrease = Decrease
|
||||||
|
On_the_same_level = On the same level
|
||||||
|
Normal_Multiyear_average_level = Normal/Multiyear average level
|
||||||
|
Device_id = Device id
|
||||||
|
All_countries_of_CCA = All countries of CCA
|
||||||
|
The_Caucasus_countries_and_Russia = The Caucasus countries and Russia
|
||||||
|
Countries_of_Central_Asia_and_Russia = Countries of Central Asia and Russia
|
||||||
|
The_forecast_of_hatching_periods = The forecast of hatching periods
|
||||||
|
Weather_forecast = Weather forecast
|
||||||
|
soil_temperature = soil temperature
|
||||||
|
Soil_temperature = Soil temperature
|
||||||
|
Passwords_did_not_match = Passwords do not coincide!
|
||||||
|
The_s_is_not_Email = The "%s" is not Email!
|
||||||
|
Password_changed_successfully = Password changed successfully.
|
||||||
|
Failed_to_change_password = Failed to change password.
|
||||||
|
Check_the_entered_data = Check the entered data.
|
||||||
|
for_ = for
|
||||||
|
Earth_temperature = Earth temperature
|
||||||
|
Point = Point
|
||||||
|
Forecast_of_hours = Hours of forecast
|
||||||
|
hours = hours
|
||||||
|
Change_login_password = Change login/password
|
||||||
|
Type = Type
|
||||||
|
Legend = Legend
|
||||||
|
Spraying = Spraying
|
||||||
|
Chart = Chart
|
||||||
|
Percent = Percent
|
||||||
|
For_s_year = For %s year
|
||||||
|
and = and
|
||||||
|
Time_and_date_of_generation = Time and date of generation
|
||||||
|
Filter_options = Filter_options
|
||||||
|
Export_to_Excel = Export to Excel
|
||||||
|
Preparing_of_report = Preparing of report
|
||||||
|
Download_report = Download report
|
||||||
|
Old_password = Old password
|
||||||
|
Not_filled_Email_address = Not filled Email address
|
||||||
|
Wrong_XML_document = Wrong XML document
|
||||||
|
Organizations = Organizations
|
||||||
|
Vegetation = Vegetation
|
||||||
|
Please_enter_a_valid_email_address = Please enter a valid Email address
|
||||||
|
Log_in = Log in
|
||||||
|
Registration = Registration
|
||||||
|
Password_recovery = Password recovery
|
||||||
|
The_s_field_is_empty = The "%s" field is empty
|
||||||
|
New_user_is_registered = New user is registered.
|
||||||
|
The_password_has_been_sent_to_you_by_Email = The password has been sent to you by Email.
|
||||||
|
Others = Others
|
||||||
|
Absent = Absent
|
||||||
|
No_data = No data
|
||||||
|
District = District
|
||||||
|
Districts = Districts
|
||||||
|
The_tablets = The tablets
|
||||||
|
Other = Other
|
||||||
|
Regions = Oblasts
|
||||||
|
Region = Oblast
|
||||||
|
All = All
|
||||||
|
Edit = Edit
|
||||||
|
thous_ha = thous. ha
|
||||||
|
Thous_ha = Thous. ha
|
||||||
|
Average = Average
|
||||||
|
Year = Year
|
||||||
|
Deviation = Deviation
|
||||||
|
Dev_of_average = Dev. of average
|
||||||
|
Average = Average
|
||||||
|
Layouts = Layers
|
||||||
|
The_tabblet = Tablet
|
||||||
|
Forms_for_locust_survey = Locust Survey Form
|
||||||
|
Forms_for_spray_monitoring = Spray Monitoring Form
|
||||||
|
The_tablet_registered = The tablet is registered
|
||||||
|
Area_infested_ha = Infested area (ha)
|
||||||
|
Minimum_density_in_the_band_in_m2 = Minimum band density (/m²)
|
||||||
|
Maximum_density_in_the_band_in_m2 = Maximum band density (/m²)
|
||||||
|
Adult_density_ha = Adult density (/ha)
|
||||||
|
Adult_density_m2 = Adult density (/m²)
|
||||||
|
Feeding_and_roosting = Feeding and roosting
|
||||||
|
Density_of_swarm = Swarm density
|
||||||
|
Swarm_size_ha = Swarm size (ha)
|
||||||
|
Number_of_swarms = Number of swarms
|
||||||
|
Flying_direction = Flying direction
|
||||||
|
Flying_height = Flying height
|
||||||
|
Weather_air_temperature_C = Weather: air temperature (ºC)
|
||||||
|
Locust_Survey_Form = Locust Survey Form
|
||||||
|
Locust_Survey_Forms = Locust survey forms
|
||||||
|
Latitude_center_portion = Latitude (site center)
|
||||||
|
Longitude_center_portion = Longitude (site center)
|
||||||
|
INSECTICIDE_DATA = Insecticide information
|
||||||
|
Concentration_A_S = Concentration (%)
|
||||||
|
Relative_humidity_start = Relative humidity at the start (%)
|
||||||
|
Relative_humidity_end = Relative humidity at the end (%)
|
||||||
|
Wind_direction_start = Wind direction at the start
|
||||||
|
Wind_direction_end = Wind direction at the end
|
||||||
|
Density_m2 = Density (/m2)
|
||||||
|
Model_sprayer = Sprayer model
|
||||||
|
Biological_efficiency_of_treatment = Biological efficiency of treatment (%)
|
||||||
|
Inform_abaut_spraying = Informed about spraying
|
||||||
|
Inspect_thous_ha = Surveyed (thous. ha)
|
||||||
|
Responsible_person = Responsible person for the tablet (inspector)
|
||||||
|
Upload = Upload
|
||||||
|
Delete = Delete
|
||||||
|
Download = Download
|
||||||
|
Hoppers = Hoppers (scattered)
|
||||||
|
Kuliguli = Bands
|
||||||
|
Adult = Adult
|
||||||
|
Restore = Restore
|
||||||
|
Add_more = Add more
|
||||||
|
Successfully_added_data = Successfully added data
|
||||||
|
Are_you_sure_you_want_to_delete_the_entries = Are you sure you want to delete the entries?
|
||||||
|
Increase_by_1 = Increase by 1
|
||||||
|
Decrease_by_1 = Decrease by 1
|
||||||
|
No_results_were_found_for_your_search = No results were found for your search!
|
||||||
|
Selection = Selection
|
||||||
|
Add_record = Add record
|
||||||
|
Delete_record = Delete record
|
||||||
|
Filtering = Filtering
|
||||||
|
Invert_selection = Invert selection
|
||||||
|
Antenna_DGPS_used = Antenna: DGPS used
|
||||||
|
No_locust = No locust
|
||||||
|
Total_volume_of_working_solution_actually_applied_l = Total volume of working solution actually applied (l)
|
||||||
|
|
||||||
|
Triple_rinsed=Triple_rinsed
|
||||||
|
Punctured=Punctured
|
||||||
|
Taken_back_to_base=Taken_back_to_base
|
||||||
|
Left_in_field=Left_in_field
|
||||||
|
Buried=Buried
|
||||||
|
Burned=Burned
|
||||||
535
src/main/java/messages_uz.properties_not_used
Normal file
535
src/main/java/messages_uz.properties_not_used
Normal file
@ -0,0 +1,535 @@
|
|||||||
|
language = en
|
||||||
|
Language = Language
|
||||||
|
label_registration = Registration
|
||||||
|
label_login = Log In
|
||||||
|
Types_of_locust = Kinds of locust
|
||||||
|
Unknown_function = Unknown function!
|
||||||
|
Not_yet_implemented = Not yet implemented!
|
||||||
|
Type_of_locust = Type of locust
|
||||||
|
Kind_of_locust = Kind of locust
|
||||||
|
Name = Name
|
||||||
|
Types_of_locust = Kinds of locust
|
||||||
|
Age = Age
|
||||||
|
Biotop = Biotop
|
||||||
|
Sorting_index = Index of sorting
|
||||||
|
Capacity = Capacity
|
||||||
|
Capacities = Capacities
|
||||||
|
Types_of_operators = Types of operators
|
||||||
|
Types_of_operator = Types of operator
|
||||||
|
Density_of_vegetation = Density of vegetation
|
||||||
|
Damage = Damage
|
||||||
|
Density = Density
|
||||||
|
Directions = Directions
|
||||||
|
Angle = Angle
|
||||||
|
Methods_of_calculating_mortality = Methods of calculating mortality
|
||||||
|
Method_of_calculating_mortality = Method of calculating mortality
|
||||||
|
Phase = Phase
|
||||||
|
Condition_of_vegetation = Vegetation state
|
||||||
|
Actions_of_bands = Actions of hopper bands
|
||||||
|
Behaviors = Behaviour
|
||||||
|
Paintings = Paintings
|
||||||
|
Painting = Painting
|
||||||
|
Report_by_inspectors = Report by inspectors
|
||||||
|
From_date = From date
|
||||||
|
To_date = To date
|
||||||
|
Surname = Surname
|
||||||
|
Patronymic = Patronymic
|
||||||
|
Completed_questionnaires_locusts = Completed questionnaires locusts
|
||||||
|
Completed_questionnaires_for_the_destruction_of_locusts = Completed questionnaires for the destruction of locusts
|
||||||
|
FrmLocust = FrmLocust
|
||||||
|
User = User
|
||||||
|
Photo = Photo
|
||||||
|
Photo_name = Photo name
|
||||||
|
Country = Country
|
||||||
|
Area = Area
|
||||||
|
Region = Region
|
||||||
|
District = District
|
||||||
|
Observer = Observer
|
||||||
|
Date = Date
|
||||||
|
Terrain = Terrain
|
||||||
|
Latitude = Latitude
|
||||||
|
Longitude = Longitude
|
||||||
|
bio_hectare = Surveyed area (ha)
|
||||||
|
bio_biotope = Type of habitat
|
||||||
|
bio_greenery = Vegetation
|
||||||
|
bio_greenery_cover = The vegetation cover
|
||||||
|
bio_temperature = Weather: air temperature (ºC)
|
||||||
|
Weather = Weather
|
||||||
|
bio_wind = Weather: wind (m/s)
|
||||||
|
Wind_m_s = Weather: wind (m/s)
|
||||||
|
LOCUST_INFORMATION_INCLUDING_EGG_PODS = _LOCUST INFORMATION (INCLUDING EGG-PODS)
|
||||||
|
Air_temperature = Weather: air temperature (ºC)
|
||||||
|
locust_have = Present locusts
|
||||||
|
locust_populated = Populated area (ha)
|
||||||
|
eggs_capsules_area = Deposit egg capsules (area in m²)
|
||||||
|
eggs_capsules_density = Potbelly (density per m²)
|
||||||
|
Egg_bed_surface_in_ha = Egg-bed (surface in m²)
|
||||||
|
eggs_capsules = Eggs (average per pod)
|
||||||
|
eggs_live = Eggs (% viable)
|
||||||
|
eggs_enemies = The presence of natural enemies (what?)
|
||||||
|
larva_born = Born
|
||||||
|
larva_age = Age
|
||||||
|
larva_painting = Painting
|
||||||
|
larva_behavior = Behavior
|
||||||
|
larva_density = Density (per m²)
|
||||||
|
kuliguli_age = Mean age
|
||||||
|
kuliguli_density = Tighter. in the swarm (in m²)
|
||||||
|
kuliguli_size = Swarms size (m²)
|
||||||
|
kuliguli_count = By swarms
|
||||||
|
kuliguli_action = Behavior
|
||||||
|
imago_wing = Stand on the wing
|
||||||
|
imago_maturity = Maturity
|
||||||
|
imago_phase = Phase
|
||||||
|
imago_action = Behavior
|
||||||
|
imago_density = Density (per he.)
|
||||||
|
imago_copulation = Mating or egg-laying
|
||||||
|
imago_flying = Flying
|
||||||
|
swarm_maturity = Maturity
|
||||||
|
swarm_density = Density (per m²)
|
||||||
|
swarm_size = Size rooms (per km²)
|
||||||
|
swarm_count = Count of swarms
|
||||||
|
swarm_copulation = Mating or egg-laying
|
||||||
|
swarm_flying = Flying
|
||||||
|
swarm_height = Height
|
||||||
|
Description = Description
|
||||||
|
Inspector = Inspector
|
||||||
|
Changed = Changed
|
||||||
|
Lon = Longitude
|
||||||
|
Lat = Latitude
|
||||||
|
locust_type = Kind of locust
|
||||||
|
imago_laying = Egg-laying
|
||||||
|
swarm_laying = Egg-laying
|
||||||
|
Comments = Comments
|
||||||
|
Locust_Survey_Forms = Locust survey forms
|
||||||
|
Spray_Monitoring_Forms = Spray monitoring forms
|
||||||
|
FrmLocustDel = Standard forms for locust
|
||||||
|
infested_area = Populated area (ha)
|
||||||
|
treated_area = Cultivated area (ha)
|
||||||
|
vegetation_type = Type (wild, cultural)
|
||||||
|
Vegetation_type = Vegetation type
|
||||||
|
vegetation_height = Height (m)
|
||||||
|
vegetation_cover = Vegetation cover (%)
|
||||||
|
vegetation_crop = Vegetation
|
||||||
|
vegetation_damage = Damage to vegetation cover (%)
|
||||||
|
vegetation_damage_area = Area damage
|
||||||
|
insecticide_name = Commercial name
|
||||||
|
The_active_substance = The active substance
|
||||||
|
insecticide_concentration = Concentration (%)
|
||||||
|
insecticide_formulation = Formulation
|
||||||
|
insecticide_dose = Consumption rate (l/ha)
|
||||||
|
insecticide_rate = Working fluid flow (l/ha)
|
||||||
|
insecticide_expiry_date = Expiration
|
||||||
|
insecticide_mixed = Do insecticide mixed with water or solvent?
|
||||||
|
insecticide_mixed_name = Solvent
|
||||||
|
insecticide_mixed_ratio = If so, in what proportion (%)
|
||||||
|
weather_time_start = Start time
|
||||||
|
weather_time_end = End time
|
||||||
|
weather_temperature_start = Temperature at the start (°C)
|
||||||
|
weather_temperature_end = Temperature at the end (°C)
|
||||||
|
weather_humidity_start = Humidity start (%)
|
||||||
|
weather_humidity_end = Humidity end (%)
|
||||||
|
weather_wind_speed_start = Wind speed at the start (m/s)
|
||||||
|
weather_wind_speed_end = Wind speed at the end (m/s)
|
||||||
|
weather_direction_start = Start direction
|
||||||
|
weather_direction_end = End direction
|
||||||
|
weather_spray_direction_start = Spray direction at the start
|
||||||
|
weather_spray_direction_end = Spray direction at the end
|
||||||
|
locust_speciese = Species
|
||||||
|
locust_hoppers = Instar larvae
|
||||||
|
locust_density = Density (per m²)
|
||||||
|
spray_platform = Spray platform
|
||||||
|
spray_operator = Operator of spraying
|
||||||
|
spray_operator_name = Name of operator
|
||||||
|
spray_manufacturer_name = Brand sprayer
|
||||||
|
spray_model_name = Model of sprayer
|
||||||
|
spray_date_calibration = Date of last calibration
|
||||||
|
spray_height = Atomizer height above ground (m)
|
||||||
|
spray_width = Width (m)
|
||||||
|
spray_barrier = Barriers (m)
|
||||||
|
spray_speed = Speed (km/h)
|
||||||
|
spray_gps = Antenna: GPS used
|
||||||
|
spray_marking = Ground marking
|
||||||
|
efficacy_mortality = Locust mortality (%)
|
||||||
|
efficacy_passed_time = Elapsed time after working
|
||||||
|
efficacy_mortality_method = Method of counting mortality
|
||||||
|
safety_clothing = What protective clothing used operator
|
||||||
|
safety_inform = Who was notified about the workings?
|
||||||
|
safety_non_target = Impact on non-target organisms
|
||||||
|
safety_non_target_effect = If yes, what?
|
||||||
|
description = description
|
||||||
|
locust_kuliguli = Kuligi
|
||||||
|
locust_swarm = Swarms
|
||||||
|
locust_sparse = Sparse
|
||||||
|
Air_platform = Air platform
|
||||||
|
Ground_platform = Ground platform
|
||||||
|
Hand_platform = Hand platform
|
||||||
|
Type_of_operator = Type of operator
|
||||||
|
spray_barrier_width = Width (m)
|
||||||
|
spray_barrier_space = Space (m)
|
||||||
|
Terminal = Terminal
|
||||||
|
Named = Name
|
||||||
|
Phone = Phone
|
||||||
|
Serial_number = Serial number
|
||||||
|
Terminal_model = Terminal model
|
||||||
|
Terminals = Terminals
|
||||||
|
Coordinates_Geofence = Coordinates of geozone
|
||||||
|
Geofence = Geozone
|
||||||
|
Change_password = Change password
|
||||||
|
Login = Login
|
||||||
|
Password = Password
|
||||||
|
New_password = New password
|
||||||
|
Repeat_password = Repeat password
|
||||||
|
User_settings = User settings
|
||||||
|
Value = Value
|
||||||
|
Company = Company
|
||||||
|
Values = Values
|
||||||
|
Object = Object
|
||||||
|
sensor = sensor
|
||||||
|
Groups_of_objects = Groups of objects
|
||||||
|
Object_of_observation = Object of observation
|
||||||
|
Access = Access
|
||||||
|
Identifier = Identifier
|
||||||
|
Allow = Allow
|
||||||
|
Sensor = Sensor
|
||||||
|
objects = objects
|
||||||
|
Sensor_values = Sensor values
|
||||||
|
Units_of_measurement = Units of measurement
|
||||||
|
Fix_date = Fix date
|
||||||
|
Messages = Messages
|
||||||
|
Read = Read
|
||||||
|
Readed = Read
|
||||||
|
Content = Content
|
||||||
|
Date_read = Read date
|
||||||
|
Date_create = Date of creation
|
||||||
|
Day_mileage_and_speed = Day mileage and speed
|
||||||
|
Kilometers_distance = Kilometers distance
|
||||||
|
Kilometers_distance_without_signal = Kilometers distance without signal
|
||||||
|
Company_site = Company site
|
||||||
|
Contact_phone = Contact phone
|
||||||
|
Site = Site
|
||||||
|
Users = Users
|
||||||
|
Models_of_terminals = Models of terminals
|
||||||
|
Sensor_type = Sensor type
|
||||||
|
Sensor_of_devices = Sensor of devices
|
||||||
|
Measurement = Measurement
|
||||||
|
Sensor_model = Sensor model
|
||||||
|
Rounded_to = Approximately count to
|
||||||
|
Sensors_models = Sensors models
|
||||||
|
Count_objects = Number of objects
|
||||||
|
Group = Group
|
||||||
|
Stationary = Stationary
|
||||||
|
Icon = Icon
|
||||||
|
Objects_of_observation = Objects of observation
|
||||||
|
Count_of_sensors = Number of sensors
|
||||||
|
Icons = Icons
|
||||||
|
name = name
|
||||||
|
File = File
|
||||||
|
Size = Size
|
||||||
|
byte = byte
|
||||||
|
Geofences = Geozones
|
||||||
|
Geofence = Geozone
|
||||||
|
Coordinate = Coordinate
|
||||||
|
Position = Position
|
||||||
|
True_position = Right location
|
||||||
|
outside = outside
|
||||||
|
inside = inside
|
||||||
|
Boundary = Boundary
|
||||||
|
Inform = Inform
|
||||||
|
Inside = Inside
|
||||||
|
Sensor_of_object = Sensor of object
|
||||||
|
Sensors_of_objects = Sensors of objects
|
||||||
|
Last_value = Last value
|
||||||
|
Date_of_the_last_value = Date of the last value
|
||||||
|
Readings = Measerement
|
||||||
|
Devices = Devices
|
||||||
|
Sensor_readings = Sensor readings
|
||||||
|
GPS_readings = GPS data
|
||||||
|
Fixation_date = Date of fixing
|
||||||
|
Speed = Speed
|
||||||
|
Message = Message
|
||||||
|
Subject = Subject
|
||||||
|
Creation_date = Date of creation
|
||||||
|
Contents = Contents
|
||||||
|
User_messages = User messages
|
||||||
|
Reading_date = Reading date
|
||||||
|
Users_messages = Users messages
|
||||||
|
The_boundary_values_of_the_sensors = The limit values of the sensors
|
||||||
|
Minimum_value = Minimum value
|
||||||
|
Maximum_value = Maximum value
|
||||||
|
Only_on_the_boundary = Only on the boundary
|
||||||
|
Action = Action
|
||||||
|
Rule = Rule
|
||||||
|
Actions = Actions
|
||||||
|
Access_role = Access role
|
||||||
|
Parental_role = Parental_role
|
||||||
|
Role_name = Role name
|
||||||
|
Role_description = Role description
|
||||||
|
Role = Role
|
||||||
|
Phones = Phones
|
||||||
|
Password_expiration = Password expiration
|
||||||
|
Renewal_password = Renewal password
|
||||||
|
days = days
|
||||||
|
day = day
|
||||||
|
S_N_P = S.N.P.
|
||||||
|
Last_enter = Last enter
|
||||||
|
Roles = Roles
|
||||||
|
User_roles = User roles
|
||||||
|
Synchronization_objects = Synchronization objects
|
||||||
|
Synchronization_service = Synchronization service
|
||||||
|
Synchronization_order = Synchronization order
|
||||||
|
The_interval_between_the_update_in_s = The interval between the update in (s)
|
||||||
|
At_a_time = Records per one time
|
||||||
|
Time_of_the_last_synchronization = Time of the last synchronization
|
||||||
|
Service = Service
|
||||||
|
Order = Order
|
||||||
|
Interval = Interval
|
||||||
|
Limit = Limit
|
||||||
|
Synchronization_services = Synchronization services
|
||||||
|
Host = Host
|
||||||
|
History = History
|
||||||
|
Table = Table
|
||||||
|
Field = Field
|
||||||
|
Data = Data
|
||||||
|
Short_name = Short name
|
||||||
|
Translation = Translation
|
||||||
|
Sprayer_type = Sprayer type
|
||||||
|
Sprayers = Sprayers
|
||||||
|
Sprayer = Sprayer
|
||||||
|
Sprayer_type_name = Sprayer type name
|
||||||
|
Countries = Countries
|
||||||
|
Regions = Regions
|
||||||
|
Automated_system_of_data_collection = Automated system of data collection
|
||||||
|
Download_android_app_Inspector = Download the android app of Inspector
|
||||||
|
Run_the_application_of_the_situational_center = Run the application of the situational center
|
||||||
|
For_any_questions_contact_us_at_tel_Fax = Contact us by phone/fax
|
||||||
|
Your_session_is_canceled = Your session is canceled!
|
||||||
|
Simultaneous_operation_of_multiple_users = Simultaneous operation of multiple users!
|
||||||
|
You_are_not_logged_in = You are not logged in!
|
||||||
|
Not_found_the_requested_node: = Not found the requested node:
|
||||||
|
The_number_of_records_is_not_equal_to_one = The number of records is not equal to one!
|
||||||
|
Registration_Form_Inspector = Registration Form Inspector
|
||||||
|
Post = Post
|
||||||
|
The_device_ID = The device ID
|
||||||
|
Security_Code = Security Code
|
||||||
|
Update = Update
|
||||||
|
image = image
|
||||||
|
Registering = Registering
|
||||||
|
configuration_section_s = configuration section; %s
|
||||||
|
configuration_option_s = configuration option; %s
|
||||||
|
Locust_survey = Locust survey
|
||||||
|
Spray_monitoring = Spray monitoring
|
||||||
|
Reports = Reports
|
||||||
|
Report = Report
|
||||||
|
Map_layers = Map layers
|
||||||
|
Administration = Administration
|
||||||
|
Completed_forms_by_tablets = Completed forms by tablets
|
||||||
|
Filling_forms_by_countries = Filling forms by countries
|
||||||
|
Standard_survey_forms = Standard survey forms
|
||||||
|
Companies = Companies
|
||||||
|
Report_by_countries = Report by countries
|
||||||
|
Lists = Lists
|
||||||
|
Members = Members
|
||||||
|
Photo = Photo
|
||||||
|
Egg_pods_density_m2 = Egg-pods (density/m²)
|
||||||
|
Egg_pods_density = Egg-pods density
|
||||||
|
Egg_pod = Egg-pod
|
||||||
|
Eggs_average_number_egg_pod = Eggs (average number egg pod)
|
||||||
|
Number_forms = Number of forms
|
||||||
|
Open_data_on_the_map = Open data on the map
|
||||||
|
From_date = From date
|
||||||
|
To_date = To date
|
||||||
|
Distribution_of_locust = Information on the distribution of locust
|
||||||
|
Hide = Hide
|
||||||
|
For_what_year = For what year
|
||||||
|
Invalid_username_and_or_password = Invalid username and/or password!
|
||||||
|
Automated_system_of_data_collection_ASDC = Automated system of data collection (ASDC)
|
||||||
|
Method_filling_form = Method of filling the form
|
||||||
|
From_PDA = From tablet
|
||||||
|
From_WEB_interface = From WEB interface
|
||||||
|
PDA_registered = PDA registered
|
||||||
|
Yes = Yes
|
||||||
|
Not = Not
|
||||||
|
Displayed_data = Displayed data
|
||||||
|
Adult_density_m2 = Adult (density/m²)
|
||||||
|
Adult_density = Adult density
|
||||||
|
Hopper_density_m2 = Hopper (density/m²)
|
||||||
|
Swarms = Swarms
|
||||||
|
Bands = Hopper bands
|
||||||
|
Band_sizes_m2 = Band sizes (m²)
|
||||||
|
Open_in_a_table_format = Open in a table format
|
||||||
|
Request_data = Request data
|
||||||
|
Method_filling_form = Method filling form
|
||||||
|
From_DPA = From DPA
|
||||||
|
From_WEB_interface = From WEB interface
|
||||||
|
PDA_registered = Tablets registered
|
||||||
|
Yes = Yes
|
||||||
|
Not = Not
|
||||||
|
Open_in_a_table_format = Open in a table format
|
||||||
|
Request_data = Request data
|
||||||
|
Displayed_data = Displayed data
|
||||||
|
Open_in_a_table_format = Open in a table format
|
||||||
|
Request_data = Request data
|
||||||
|
The_tablet = The tablet
|
||||||
|
Spray_Monitoring_Form = Spray Monitoring Form
|
||||||
|
Information_on_the_distribution_of_locust = Information about locusts’ distribution and its control
|
||||||
|
Organization = Organization
|
||||||
|
User_roles = User_roles
|
||||||
|
Layout = Layer
|
||||||
|
Markings = Markings
|
||||||
|
Formulation = Formulation
|
||||||
|
Fledgling = Fledgling
|
||||||
|
Borns = Hatching
|
||||||
|
Breeding = Behaviour
|
||||||
|
Containers = Containers
|
||||||
|
Height = Height
|
||||||
|
Enemies = Natural enemies present
|
||||||
|
Report_by_tablets = Tablets’ report
|
||||||
|
Value = Value
|
||||||
|
Days = Days
|
||||||
|
Hours = Hours
|
||||||
|
Company_User = Company->User
|
||||||
|
Object_Geofence = Object->Geozone
|
||||||
|
Sensor_for_ComboBox = Sensor for drop-down list
|
||||||
|
SprayersTypes = Sprayers Types
|
||||||
|
CountriesRegions = The boundaries of Regions
|
||||||
|
CIT_Italian_locust = CIT - Italian locust
|
||||||
|
DMA_Moroccan_locust = DMA - Moroccan locust
|
||||||
|
LMI_Asian_migratory_locust = LMI - Asian migratory locust
|
||||||
|
Substrate = Substrate
|
||||||
|
Displaying_data = Displaying data
|
||||||
|
Show_data = Show data
|
||||||
|
All_types = All types
|
||||||
|
All_kinds = All kinds
|
||||||
|
Maps_of_areas_infested_above_Economic_Threshold_ET = Maps of areas infested above Economic Threshold (ET)
|
||||||
|
Maps_of_treated_areas_above_ET = Maps of treated areas above ET
|
||||||
|
Map_of_the_level_of_threat = Map of the level of threat
|
||||||
|
Download_QGIS_project = Download QGIS project
|
||||||
|
Caution = Caution
|
||||||
|
Calm = Calm
|
||||||
|
Danger = Danger
|
||||||
|
Increase = Increase
|
||||||
|
Decrease = Decrease
|
||||||
|
On_the_same_level = On the same level
|
||||||
|
Normal_Multiyear_average_level = Normal/Multiyear average level
|
||||||
|
Device_id = Device id
|
||||||
|
All_countries_of_CCA = All countries of CCA
|
||||||
|
The_Caucasus_countries_and_Russia = The Caucasus countries and Russia
|
||||||
|
Countries_of_Central_Asia_and_Russia = Countries of Central Asia and Russia
|
||||||
|
The_forecast_of_hatching_periods = The forecast of hatching periods
|
||||||
|
Weather_forecast = Weather forecast
|
||||||
|
soil_temperature = soil temperature
|
||||||
|
Soil_temperature = Soil temperature
|
||||||
|
Passwords_did_not_match = Passwords do not coincide!
|
||||||
|
The_s_is_not_Email = The "%s" is not Email!
|
||||||
|
Password_changed_successfully = Password changed successfully.
|
||||||
|
Failed_to_change_password = Failed to change password.
|
||||||
|
Check_the_entered_data = Check the entered data.
|
||||||
|
for_ = for
|
||||||
|
Earth_temperature = Earth temperature
|
||||||
|
Point = Point
|
||||||
|
Forecast_of_hours = Hours of forecast
|
||||||
|
hours = hours
|
||||||
|
Change_login_password = Change login/password
|
||||||
|
Type = Type
|
||||||
|
Legend = Legend
|
||||||
|
Spraying = Spraying
|
||||||
|
Chart = Chart
|
||||||
|
Percent = Percent
|
||||||
|
For_s_year = For %s year
|
||||||
|
and = and
|
||||||
|
Time_and_date_of_generation = Time and date of generation
|
||||||
|
Filter_options = Filter_options
|
||||||
|
Export_to_Excel = Export to Excel
|
||||||
|
Preparing_of_report = Preparing of report
|
||||||
|
Download_report = Download report
|
||||||
|
Old_password = Old password
|
||||||
|
Not_filled_Email_address = Not filled Email address
|
||||||
|
Wrong_XML_document = Wrong XML document
|
||||||
|
Organizations = Organizations
|
||||||
|
Vegetation = Vegetation
|
||||||
|
Please_enter_a_valid_email_address = Please enter a valid Email address
|
||||||
|
Log_in = Log in
|
||||||
|
Registration = Registration
|
||||||
|
Password_recovery = Password recovery
|
||||||
|
The_s_field_is_empty = The "%s" field is empty
|
||||||
|
New_user_is_registered = New user is registered.
|
||||||
|
The_password_has_been_sent_to_you_by_Email = The password has been sent to you by Email.
|
||||||
|
Others = Others
|
||||||
|
Absent = Absent
|
||||||
|
No_data = No data
|
||||||
|
District = District
|
||||||
|
Districts = Districts
|
||||||
|
The_tablets = The tablets
|
||||||
|
Other = Other
|
||||||
|
Regions = Oblasts
|
||||||
|
Region = Oblast
|
||||||
|
All = All
|
||||||
|
Edit = Edit
|
||||||
|
thous_ha = thous. ha
|
||||||
|
Thous_ha = Thous. ha
|
||||||
|
Average = Average
|
||||||
|
Year = Year
|
||||||
|
Deviation = Deviation
|
||||||
|
Dev_of_average = Dev. of average
|
||||||
|
Average = Average
|
||||||
|
Layouts = Layers
|
||||||
|
The_tabblet = Tablet
|
||||||
|
Forms_for_locust_survey = Locust Survey Form
|
||||||
|
Forms_for_spray_monitoring = Spray Monitoring Form
|
||||||
|
The_tablet_registered = The tablet is registered
|
||||||
|
Area_infested_ha = Infested area (ha)
|
||||||
|
Minimum_density_in_the_band_in_m2 = Minimum band density (/m²)
|
||||||
|
Maximum_density_in_the_band_in_m2 = Maximum band density (/m²)
|
||||||
|
Adult_density_ha = Adult density (/ha)
|
||||||
|
Adult_density_m2 = Adult density (/m²)
|
||||||
|
Feeding_and_roosting = Feeding and roosting
|
||||||
|
Density_of_swarm = Swarm density
|
||||||
|
Swarm_size_ha = Swarm size (ha)
|
||||||
|
Number_of_swarms = Number of swarms
|
||||||
|
Flying_direction = Flying direction
|
||||||
|
Flying_height = Flying height
|
||||||
|
Weather_air_temperature_C = Weather: air temperature (ºC)
|
||||||
|
Locust_Survey_Form = Locust Survey Form
|
||||||
|
Locust_Survey_Forms = Locust survey forms
|
||||||
|
Latitude_center_portion = Latitude (site center)
|
||||||
|
Longitude_center_portion = Longitude (site center)
|
||||||
|
INSECTICIDE_DATA = Insecticide information
|
||||||
|
Concentration_A_S = Concentration (%)
|
||||||
|
Relative_humidity_start = Relative humidity at the start (%)
|
||||||
|
Relative_humidity_end = Relative humidity at the end (%)
|
||||||
|
Wind_direction_start = Wind direction at the start
|
||||||
|
Wind_direction_end = Wind direction at the end
|
||||||
|
Density_m2 = Density (/m2)
|
||||||
|
Model_sprayer = Sprayer model
|
||||||
|
Biological_efficiency_of_treatment = Biological efficiency of treatment (%)
|
||||||
|
Inform_abaut_spraying = Informed about spraying
|
||||||
|
Inspect_thous_ha = Surveyed (thous. ha)
|
||||||
|
Responsible_person = Responsible person for the tablet (inspector)
|
||||||
|
Upload = Upload
|
||||||
|
Delete = Delete
|
||||||
|
Download = Download
|
||||||
|
Hoppers = Hoppers (scattered)
|
||||||
|
Kuliguli = Bands
|
||||||
|
Adult = Adult
|
||||||
|
Restore = Restore
|
||||||
|
Add_more = Add more
|
||||||
|
Successfully_added_data = Successfully added data
|
||||||
|
Are_you_sure_you_want_to_delete_the_entries = Are you sure you want to delete the entries?
|
||||||
|
Increase_by_1 = Increase by 1
|
||||||
|
Decrease_by_1 = Decrease by 1
|
||||||
|
No_results_were_found_for_your_search = No results were found for your search!
|
||||||
|
Selection = Selection
|
||||||
|
Add_record = Add record
|
||||||
|
Delete_record = Delete record
|
||||||
|
Filtering = Filtering
|
||||||
|
Invert_selection = Invert selection
|
||||||
|
Antenna_DGPS_used = Antenna: DGPS used
|
||||||
|
No_locust = No locust
|
||||||
|
Total_volume_of_working_solution_actually_applied_l = Total volume of working solution actually applied (l)
|
||||||
|
|
||||||
|
Triple_rinsed=Triple_rinsed
|
||||||
|
Punctured=Punctured
|
||||||
|
Taken_back_to_base=Taken_back_to_base
|
||||||
|
Left_in_field=Left_in_field
|
||||||
|
Buried=Buried
|
||||||
|
Burned=Burned
|
||||||
534
src/main/java/not_used
Normal file
534
src/main/java/not_used
Normal file
@ -0,0 +1,534 @@
|
|||||||
|
language = en
|
||||||
|
Language = Language
|
||||||
|
label_registration = Registration
|
||||||
|
label_login = Log In
|
||||||
|
Types_of_locust = Kinds of locust
|
||||||
|
Unknown_function = Unknown function!
|
||||||
|
Not_yet_implemented = Not yet implemented!
|
||||||
|
Type_of_locust = Type of locust
|
||||||
|
Kind_of_locust = Kind of locust
|
||||||
|
Name = Name
|
||||||
|
Types_of_locust = Kinds of locust
|
||||||
|
Age = Age
|
||||||
|
Biotop = Biotop
|
||||||
|
Sorting_index = Index of sorting
|
||||||
|
Capacity = Capacity
|
||||||
|
Capacities = Capacities
|
||||||
|
Types_of_operators = Types of operators
|
||||||
|
Types_of_operator = Types of operator
|
||||||
|
Density_of_vegetation = Density of vegetation
|
||||||
|
Damage = Damage
|
||||||
|
Density = Density
|
||||||
|
Directions = Directions
|
||||||
|
Angle = Angle
|
||||||
|
Methods_of_calculating_mortality = Methods of calculating mortality
|
||||||
|
Method_of_calculating_mortality = Method of calculating mortality
|
||||||
|
Phase = Phase
|
||||||
|
Condition_of_vegetation = Vegetation state
|
||||||
|
Actions_of_bands = Actions of hopper bands
|
||||||
|
Behaviors = Behaviour
|
||||||
|
Paintings = Paintings
|
||||||
|
Painting = Painting
|
||||||
|
Report_by_inspectors = Report by inspectors
|
||||||
|
From_date = From date
|
||||||
|
To_date = To date
|
||||||
|
Surname = Surname
|
||||||
|
Patronymic = Patronymic
|
||||||
|
Completed_questionnaires_locusts = Completed questionnaires locusts
|
||||||
|
Completed_questionnaires_for_the_destruction_of_locusts = Completed questionnaires for the destruction of locusts
|
||||||
|
FrmLocust = FrmLocust
|
||||||
|
User = User
|
||||||
|
Photo = Photo
|
||||||
|
Photo_name = Photo name
|
||||||
|
Country = Country
|
||||||
|
Area = Area
|
||||||
|
Region = Region
|
||||||
|
District = District
|
||||||
|
Observer = Observer
|
||||||
|
Date = Date
|
||||||
|
Terrain = Terrain
|
||||||
|
Latitude = Latitude
|
||||||
|
Longitude = Longitude
|
||||||
|
bio_hectare = Surveyed area (ha)
|
||||||
|
bio_biotope = Type of habitat
|
||||||
|
bio_greenery = Vegetation
|
||||||
|
bio_greenery_cover = The vegetation cover
|
||||||
|
bio_temperature = Weather: air temperature (ºC)
|
||||||
|
Weather = Weather
|
||||||
|
bio_wind = Weather: wind (m/s)
|
||||||
|
Wind_m_s = Weather: wind (m/s)
|
||||||
|
LOCUST_INFORMATION_INCLUDING_EGG_PODS = _LOCUST INFORMATION (INCLUDING EGG-PODS)
|
||||||
|
Air_temperature = Weather: air temperature (ºC)
|
||||||
|
locust_have = Present locusts
|
||||||
|
locust_populated = Populated area (ha)
|
||||||
|
eggs_capsules_area = Deposit egg capsules (area in m²)
|
||||||
|
eggs_capsules_density = Potbelly (density per m²)
|
||||||
|
Egg_bed_surface_in_ha = Egg-bed (surface in m²)
|
||||||
|
eggs_capsules = Eggs (average per pod)
|
||||||
|
eggs_live = Eggs (% viable)
|
||||||
|
eggs_enemies = The presence of natural enemies (what?)
|
||||||
|
larva_born = Born
|
||||||
|
larva_age = Age
|
||||||
|
larva_painting = Painting
|
||||||
|
larva_behavior = Behavior
|
||||||
|
larva_density = Density (per m²)
|
||||||
|
kuliguli_age = Mean age
|
||||||
|
kuliguli_density = Tighter. in the swarm (in m²)
|
||||||
|
kuliguli_size = Swarms size (m²)
|
||||||
|
kuliguli_count = By swarms
|
||||||
|
kuliguli_action = Behavior
|
||||||
|
imago_wing = Stand on the wing
|
||||||
|
imago_maturity = Maturity
|
||||||
|
imago_phase = Phase
|
||||||
|
imago_action = Behavior
|
||||||
|
imago_density = Density (per he.)
|
||||||
|
imago_copulation = Mating or egg-laying
|
||||||
|
imago_flying = Flying
|
||||||
|
swarm_maturity = Maturity
|
||||||
|
swarm_density = Density (per m²)
|
||||||
|
swarm_size = Size rooms (per km²)
|
||||||
|
swarm_count = Count of swarms
|
||||||
|
swarm_copulation = Mating or egg-laying
|
||||||
|
swarm_flying = Flying
|
||||||
|
swarm_height = Height
|
||||||
|
Description = Description
|
||||||
|
Inspector = Inspector
|
||||||
|
Changed = Changed
|
||||||
|
Lon = Longitude
|
||||||
|
Lat = Latitude
|
||||||
|
locust_type = Kind of locust
|
||||||
|
imago_laying = Egg-laying
|
||||||
|
swarm_laying = Egg-laying
|
||||||
|
Comments = Comments
|
||||||
|
Locust_Survey_Forms = Locust survey forms
|
||||||
|
Spray_Monitoring_Forms = Spray monitoring forms
|
||||||
|
FrmLocustDel = Standard forms for locust
|
||||||
|
infested_area = Populated area (ha)
|
||||||
|
treated_area = Cultivated area (ha)
|
||||||
|
vegetation_type = Type (wild, cultural)
|
||||||
|
Vegetation_type = Vegetation type
|
||||||
|
vegetation_height = Height (m)
|
||||||
|
vegetation_cover = Vegetation cover (%)
|
||||||
|
vegetation_crop = Vegetation
|
||||||
|
vegetation_damage = Damage to vegetation cover (%)
|
||||||
|
vegetation_damage_area = Area damage
|
||||||
|
insecticide_name = Commercial name
|
||||||
|
The_active_substance = The active substance
|
||||||
|
insecticide_concentration = Concentration (%)
|
||||||
|
insecticide_formulation = Formulation
|
||||||
|
insecticide_dose = Consumption rate (l/ha)
|
||||||
|
insecticide_rate = Working fluid flow (l/ha)
|
||||||
|
insecticide_expiry_date = Expiration
|
||||||
|
insecticide_mixed = Do insecticide mixed with water or solvent?
|
||||||
|
insecticide_mixed_name = Solvent
|
||||||
|
insecticide_mixed_ratio = If so, in what proportion (%)
|
||||||
|
weather_time_start = Start time
|
||||||
|
weather_time_end = End time
|
||||||
|
weather_temperature_start = Temperature at the start (°C)
|
||||||
|
weather_temperature_end = Temperature at the end (°C)
|
||||||
|
weather_humidity_start = Humidity start (%)
|
||||||
|
weather_humidity_end = Humidity end (%)
|
||||||
|
weather_wind_speed_start = Wind speed at the start (m/s)
|
||||||
|
weather_wind_speed_end = Wind speed at the end (m/s)
|
||||||
|
weather_direction_start = Start direction
|
||||||
|
weather_direction_end = End direction
|
||||||
|
weather_spray_direction_start = Spray direction at the start
|
||||||
|
weather_spray_direction_end = Spray direction at the end
|
||||||
|
locust_speciese = Species
|
||||||
|
locust_hoppers = Instar larvae
|
||||||
|
locust_density = Density (per m²)
|
||||||
|
spray_platform = Spray platform
|
||||||
|
spray_operator = Operator of spraying
|
||||||
|
spray_operator_name = Name of operator
|
||||||
|
spray_manufacturer_name = Brand sprayer
|
||||||
|
spray_model_name = Model of sprayer
|
||||||
|
spray_date_calibration = Date of last calibration
|
||||||
|
spray_height = Atomizer height above ground (m)
|
||||||
|
spray_width = Width (m)
|
||||||
|
spray_barrier = Barriers (m)
|
||||||
|
spray_speed = Speed (km/h)
|
||||||
|
spray_gps = Antenna: GPS used
|
||||||
|
spray_marking = Ground marking
|
||||||
|
efficacy_mortality = Locust mortality (%)
|
||||||
|
efficacy_passed_time = Elapsed time after working
|
||||||
|
efficacy_mortality_method = Method of counting mortality
|
||||||
|
safety_clothing = What protective clothing used operator
|
||||||
|
safety_inform = Who was notified about the workings?
|
||||||
|
safety_non_target = Impact on non-target organisms
|
||||||
|
safety_non_target_effect = If yes, what?
|
||||||
|
description = description
|
||||||
|
locust_kuliguli = Kuligi
|
||||||
|
locust_swarm = Swarms
|
||||||
|
locust_sparse = Sparse
|
||||||
|
Air_platform = Air platform
|
||||||
|
Ground_platform = Ground platform
|
||||||
|
Hand_platform = Hand platform
|
||||||
|
Type_of_operator = Type of operator
|
||||||
|
spray_barrier_width = Width (m)
|
||||||
|
spray_barrier_space = Space (m)
|
||||||
|
Terminal = Terminal
|
||||||
|
Named = Name
|
||||||
|
Phone = Phone
|
||||||
|
Serial_number = Serial number
|
||||||
|
Terminal_model = Terminal model
|
||||||
|
Terminals = Terminals
|
||||||
|
Coordinates_Geofence = Coordinates of geozone
|
||||||
|
Geofence = Geozone
|
||||||
|
Change_password = Change password
|
||||||
|
Login = Login
|
||||||
|
Password = Password
|
||||||
|
New_password = New password
|
||||||
|
Repeat_password = Repeat password
|
||||||
|
User_settings = User settings
|
||||||
|
Value = Value
|
||||||
|
Company = Company
|
||||||
|
Values = Values
|
||||||
|
Object = Object
|
||||||
|
sensor = sensor
|
||||||
|
Groups_of_objects = Groups of objects
|
||||||
|
Object_of_observation = Object of observation
|
||||||
|
Access = Access
|
||||||
|
Identifier = Identifier
|
||||||
|
Allow = Allow
|
||||||
|
Sensor = Sensor
|
||||||
|
objects = objects
|
||||||
|
Sensor_values = Sensor values
|
||||||
|
Units_of_measurement = Units of measurement
|
||||||
|
Fix_date = Fix date
|
||||||
|
Messages = Messages
|
||||||
|
Read = Read
|
||||||
|
Readed = Read
|
||||||
|
Content = Content
|
||||||
|
Date_read = Read date
|
||||||
|
Date_create = Date of creation
|
||||||
|
Day_mileage_and_speed = Day mileage and speed
|
||||||
|
Kilometers_distance = Kilometers distance
|
||||||
|
Kilometers_distance_without_signal = Kilometers distance without signal
|
||||||
|
Company_site = Company site
|
||||||
|
Contact_phone = Contact phone
|
||||||
|
Site = Site
|
||||||
|
Users = Users
|
||||||
|
Models_of_terminals = Models of terminals
|
||||||
|
Sensor_type = Sensor type
|
||||||
|
Sensor_of_devices = Sensor of devices
|
||||||
|
Measurement = Measurement
|
||||||
|
Sensor_model = Sensor model
|
||||||
|
Rounded_to = Approximately count to
|
||||||
|
Sensors_models = Sensors models
|
||||||
|
Count_objects = Number of objects
|
||||||
|
Group = Group
|
||||||
|
Stationary = Stationary
|
||||||
|
Icon = Icon
|
||||||
|
Objects_of_observation = Objects of observation
|
||||||
|
Count_of_sensors = Number of sensors
|
||||||
|
Icons = Icons
|
||||||
|
name = name
|
||||||
|
File = File
|
||||||
|
Size = Size
|
||||||
|
byte = byte
|
||||||
|
Geofences = Geozones
|
||||||
|
Geofence = Geozone
|
||||||
|
Coordinate = Coordinate
|
||||||
|
Position = Position
|
||||||
|
True_position = Right location
|
||||||
|
outside = outside
|
||||||
|
inside = inside
|
||||||
|
Boundary = Boundary
|
||||||
|
Inform = Inform
|
||||||
|
Inside = Inside
|
||||||
|
Sensor_of_object = Sensor of object
|
||||||
|
Sensors_of_objects = Sensors of objects
|
||||||
|
Last_value = Last value
|
||||||
|
Date_of_the_last_value = Date of the last value
|
||||||
|
Readings = Measerement
|
||||||
|
Devices = Devices
|
||||||
|
Sensor_readings = Sensor readings
|
||||||
|
GPS_readings = GPS data
|
||||||
|
Fixation_date = Date of fixing
|
||||||
|
Speed = Speed
|
||||||
|
Message = Message
|
||||||
|
Subject = Subject
|
||||||
|
Creation_date = Date of creation
|
||||||
|
Contents = Contents
|
||||||
|
User_messages = User messages
|
||||||
|
Reading_date = Reading date
|
||||||
|
Users_messages = Users messages
|
||||||
|
The_boundary_values_of_the_sensors = The limit values of the sensors
|
||||||
|
Minimum_value = Minimum value
|
||||||
|
Maximum_value = Maximum value
|
||||||
|
Only_on_the_boundary = Only on the boundary
|
||||||
|
Action = Action
|
||||||
|
Rule = Rule
|
||||||
|
Actions = Actions
|
||||||
|
Access_role = Access role
|
||||||
|
Parental_role = Parental_role
|
||||||
|
Role_name = Role name
|
||||||
|
Role_description = Role description
|
||||||
|
Role = Role
|
||||||
|
Phones = Phones
|
||||||
|
Password_expiration = Password expiration
|
||||||
|
Renewal_password = Renewal password
|
||||||
|
days = days
|
||||||
|
day = day
|
||||||
|
S_N_P = S.N.P.
|
||||||
|
Last_enter = Last enter
|
||||||
|
Roles = Roles
|
||||||
|
User_roles = User roles
|
||||||
|
Synchronization_objects = Synchronization objects
|
||||||
|
Synchronization_service = Synchronization service
|
||||||
|
Synchronization_order = Synchronization order
|
||||||
|
The_interval_between_the_update_in_s = The interval between the update in (s)
|
||||||
|
At_a_time = Records per one time
|
||||||
|
Time_of_the_last_synchronization = Time of the last synchronization
|
||||||
|
Service = Service
|
||||||
|
Order = Order
|
||||||
|
Interval = Interval
|
||||||
|
Limit = Limit
|
||||||
|
Synchronization_services = Synchronization services
|
||||||
|
Host = Host
|
||||||
|
History = History
|
||||||
|
Table = Table
|
||||||
|
Field = Field
|
||||||
|
Data = Data
|
||||||
|
Short_name = Short name
|
||||||
|
Translation = Translation
|
||||||
|
Sprayer_type = Sprayer type
|
||||||
|
Sprayers = Sprayers
|
||||||
|
Sprayer = Sprayer
|
||||||
|
Sprayer_type_name = Sprayer type name
|
||||||
|
Countries = Countries
|
||||||
|
Regions = Regions
|
||||||
|
Automated_system_of_data_collection = Automated system of data collection
|
||||||
|
Download_android_app_Inspector = Download the android app of Inspector
|
||||||
|
Run_the_application_of_the_situational_center = Run the application of the situational center
|
||||||
|
For_any_questions_contact_us_at_tel_Fax = Contact us by phone/fax
|
||||||
|
Your_session_is_canceled = Your session is canceled!
|
||||||
|
Simultaneous_operation_of_multiple_users = Simultaneous operation of multiple users!
|
||||||
|
You_are_not_logged_in = You are not logged in!
|
||||||
|
Not_found_the_requested_node: = Not found the requested node:
|
||||||
|
The_number_of_records_is_not_equal_to_one = The number of records is not equal to one!
|
||||||
|
Registration_Form_Inspector = Registration Form Inspector
|
||||||
|
Post = Post
|
||||||
|
The_device_ID = The device ID
|
||||||
|
Security_Code = Security Code
|
||||||
|
Update = Update
|
||||||
|
image = image
|
||||||
|
Registering = Registering
|
||||||
|
configuration_section_s = configuration section; %s
|
||||||
|
configuration_option_s = configuration option; %s
|
||||||
|
Locust_survey = Locust survey
|
||||||
|
Spray_monitoring = Spray monitoring
|
||||||
|
Reports = Reports
|
||||||
|
Report = Report
|
||||||
|
Map_layers = Map layers
|
||||||
|
Administration = Administration
|
||||||
|
Completed_forms_by_tablets = Completed forms by tablets
|
||||||
|
Filling_forms_by_countries = Filling forms by countries
|
||||||
|
Standard_survey_forms = Standard survey forms
|
||||||
|
Companies = Companies
|
||||||
|
Report_by_countries = Report by countries
|
||||||
|
Lists = Lists
|
||||||
|
Members = Members
|
||||||
|
Photo = Photo
|
||||||
|
Egg_pods_density_m2 = Egg-pods (density/m²)
|
||||||
|
Egg_pods_density = Egg-pods density
|
||||||
|
Egg_pod = Egg-pod
|
||||||
|
Eggs_average_number_egg_pod = Eggs (average number egg pod)
|
||||||
|
Number_forms = Number of forms
|
||||||
|
Open_data_on_the_map = Open data on the map
|
||||||
|
From_date = From date
|
||||||
|
To_date = To date
|
||||||
|
Distribution_of_locust = Information on the distribution of locust
|
||||||
|
Hide = Hide
|
||||||
|
For_what_year = For what year
|
||||||
|
Invalid_username_and_or_password = Invalid username and/or password!
|
||||||
|
Automated_system_of_data_collection_ASDC = Automated system of data collection (ASDC)
|
||||||
|
Method_filling_form = Method of filling the form
|
||||||
|
From_PDA = From tablet
|
||||||
|
From_WEB_interface = From WEB interface
|
||||||
|
PDA_registered = PDA registered
|
||||||
|
Yes = Yes
|
||||||
|
Not = Not
|
||||||
|
Displayed_data = Displayed data
|
||||||
|
Adult_density_m2 = Adult (density/m²)
|
||||||
|
Adult_density = Adult density
|
||||||
|
Hopper_density_m2 = Hopper (density/m²)
|
||||||
|
Swarms = Swarms
|
||||||
|
Bands = Hopper bands
|
||||||
|
Band_sizes_m2 = Band sizes (m²)
|
||||||
|
Open_in_a_table_format = Open in a table format
|
||||||
|
Request_data = Request data
|
||||||
|
Method_filling_form = Method filling form
|
||||||
|
From_DPA = From DPA
|
||||||
|
From_WEB_interface = From WEB interface
|
||||||
|
PDA_registered = Tablets registered
|
||||||
|
Yes = Yes
|
||||||
|
Not = Not
|
||||||
|
Open_in_a_table_format = Open in a table format
|
||||||
|
Request_data = Request data
|
||||||
|
Displayed_data = Displayed data
|
||||||
|
Open_in_a_table_format = Open in a table format
|
||||||
|
Request_data = Request data
|
||||||
|
The_tablet = The tablet
|
||||||
|
Spray_Monitoring_Form = Spray Monitoring Form
|
||||||
|
Information_on_the_distribution_of_locust = Information about locusts’ distribution and its control
|
||||||
|
Organization = Organization
|
||||||
|
User_roles = User_roles
|
||||||
|
Layout = Layer
|
||||||
|
Markings = Markings
|
||||||
|
Formulation = Formulation
|
||||||
|
Fledgling = Fledgling
|
||||||
|
Borns = Hatching
|
||||||
|
Breeding = Behaviour
|
||||||
|
Containers = Containers
|
||||||
|
Height = Height
|
||||||
|
Enemies = Natural enemies present
|
||||||
|
Report_by_tablets = Tablets’ report
|
||||||
|
Value = Value
|
||||||
|
Days = Days
|
||||||
|
Hours = Hours
|
||||||
|
Company_User = Company->User
|
||||||
|
Object_Geofence = Object->Geozone
|
||||||
|
Sensor_for_ComboBox = Sensor for drop-down list
|
||||||
|
SprayersTypes = Sprayers Types
|
||||||
|
CountriesRegions = The boundaries of Regions
|
||||||
|
CIT_Italian_locust = CIT - Italian locust
|
||||||
|
DMA_Moroccan_locust = DMA - Moroccan locust
|
||||||
|
LMI_Asian_migratory_locust = LMI - Asian migratory locust
|
||||||
|
Substrate = Substrate
|
||||||
|
Displaying_data = Displaying data
|
||||||
|
Show_data = Show data
|
||||||
|
All_types = All types
|
||||||
|
All_kinds = All kinds
|
||||||
|
Maps_of_areas_infested_above_Economic_Threshold_ET = Maps of areas infested above Economic Threshold (ET)
|
||||||
|
Maps_of_treated_areas_above_ET = Maps of treated areas above ET
|
||||||
|
Map_of_the_level_of_threat = Map of the level of threat
|
||||||
|
Download_QGIS_project = Download QGIS project
|
||||||
|
Caution = Caution
|
||||||
|
Calm = Calm
|
||||||
|
Danger = Danger
|
||||||
|
Increase = Increase
|
||||||
|
Decrease = Decrease
|
||||||
|
On_the_same_level = On the same level
|
||||||
|
Normal_Multiyear_average_level = Normal/Multiyear average level
|
||||||
|
Device_id = Device id
|
||||||
|
All_countries_of_CCA = All countries of CCA
|
||||||
|
The_Caucasus_countries_and_Russia = The Caucasus countries and Russia
|
||||||
|
Countries_of_Central_Asia_and_Russia = Countries of Central Asia and Russia
|
||||||
|
The_forecast_of_hatching_periods = The forecast of hatching periods
|
||||||
|
Weather_forecast = Weather forecast
|
||||||
|
soil_temperature = soil temperature
|
||||||
|
Soil_temperature = Soil temperature
|
||||||
|
Passwords_did_not_match = Passwords do not coincide!
|
||||||
|
The_s_is_not_Email = The "%s" is not Email!
|
||||||
|
Password_changed_successfully = Password changed successfully.
|
||||||
|
Failed_to_change_password = Failed to change password.
|
||||||
|
Check_the_entered_data = Check the entered data.
|
||||||
|
for_ = for
|
||||||
|
Earth_temperature = Earth temperature
|
||||||
|
Point = Point
|
||||||
|
Forecast_of_hours = Hours of forecast
|
||||||
|
hours = hours
|
||||||
|
Change_login_password = Change login/password
|
||||||
|
Type = Type
|
||||||
|
Legend = Legend
|
||||||
|
Spraying = Spraying
|
||||||
|
Chart = Chart
|
||||||
|
Percent = Percent
|
||||||
|
For_s_year = For %s year
|
||||||
|
and = and
|
||||||
|
Time_and_date_of_generation = Time and date of generation
|
||||||
|
Filter_options = Filter_options
|
||||||
|
Export_to_Excel = Export to Excel
|
||||||
|
Preparing_of_report = Preparing of report
|
||||||
|
Download_report = Download report
|
||||||
|
Old_password = Old password
|
||||||
|
Not_filled_Email_address = Not filled Email address
|
||||||
|
Wrong_XML_document = Wrong XML document
|
||||||
|
Organizations = Organizations
|
||||||
|
Vegetation = Vegetation
|
||||||
|
Please_enter_a_valid_email_address = Please enter a valid Email address
|
||||||
|
Log_in = Log in
|
||||||
|
Registration = Registration
|
||||||
|
Password_recovery = Password recovery
|
||||||
|
The_s_field_is_empty = The "%s" field is empty
|
||||||
|
New_user_is_registered = New user is registered.
|
||||||
|
The_password_has_been_sent_to_you_by_Email = The password has been sent to you by Email.
|
||||||
|
Others = Others
|
||||||
|
Absent = Absent
|
||||||
|
No_data = No data
|
||||||
|
District = District
|
||||||
|
Districts = Districts
|
||||||
|
The_tablets = The tablets
|
||||||
|
Other = Other
|
||||||
|
Regions = Oblasts
|
||||||
|
Region = Oblast
|
||||||
|
All = All
|
||||||
|
Edit = Edit
|
||||||
|
thous_ha = thous. ha
|
||||||
|
Thous_ha = Thous. ha
|
||||||
|
Average = Average
|
||||||
|
Year = Year
|
||||||
|
Deviation = Deviation
|
||||||
|
Dev_of_average = Dev. of average
|
||||||
|
Average = Average
|
||||||
|
Layouts = Layers
|
||||||
|
The_tabblet = Tablet
|
||||||
|
Forms_for_locust_survey = Locust Survey Form
|
||||||
|
Forms_for_spray_monitoring = Spray Monitoring Form
|
||||||
|
The_tablet_registered = The tablet is registered
|
||||||
|
Area_infested_ha = Infested area (ha)
|
||||||
|
Minimum_density_in_the_band_in_m2 = Minimum band density (/m²)
|
||||||
|
Maximum_density_in_the_band_in_m2 = Maximum band density (/m²)
|
||||||
|
Adult_density_ha = Adult density (/ha)
|
||||||
|
Adult_density_m2 = Adult density (/m²)
|
||||||
|
Feeding_and_roosting = Feeding and roosting
|
||||||
|
Density_of_swarm = Swarm density
|
||||||
|
Swarm_size_ha = Swarm size (ha)
|
||||||
|
Number_of_swarms = Number of swarms
|
||||||
|
Flying_direction = Flying direction
|
||||||
|
Flying_height = Flying height
|
||||||
|
Weather_air_temperature_C = Weather: air temperature (ºC)
|
||||||
|
Locust_Survey_Form = Locust Survey Form
|
||||||
|
Locust_Survey_Forms = Locust survey forms
|
||||||
|
Latitude_center_portion = Latitude (site center)
|
||||||
|
Longitude_center_portion = Longitude (site center)
|
||||||
|
INSECTICIDE_DATA = Insecticide information
|
||||||
|
Concentration_A_S = Concentration (%)
|
||||||
|
Relative_humidity_start = Relative humidity at the start (%)
|
||||||
|
Relative_humidity_end = Relative humidity at the end (%)
|
||||||
|
Wind_direction_start = Wind direction at the start
|
||||||
|
Wind_direction_end = Wind direction at the end
|
||||||
|
Density_m2 = Density (/m2)
|
||||||
|
Model_sprayer = Sprayer model
|
||||||
|
Biological_efficiency_of_treatment = Biological efficiency of treatment (%)
|
||||||
|
Inform_abaut_spraying = Informed about spraying
|
||||||
|
Inspect_thous_ha = Surveyed (thous. ha)
|
||||||
|
Responsible_person = Responsible person for the tablet (inspector)
|
||||||
|
Upload = Upload
|
||||||
|
Delete = Delete
|
||||||
|
Download = Download
|
||||||
|
Hoppers = Hoppers (scattered)
|
||||||
|
Kuliguli = Bands
|
||||||
|
Adult = Adult
|
||||||
|
Restore = Restore
|
||||||
|
Add_more = Add more
|
||||||
|
Successfully_added_data = Successfully added data
|
||||||
|
Are_you_sure_you_want_to_delete_the_entries = Are you sure you want to delete the entries?
|
||||||
|
Increase_by_1 = Increase by 1
|
||||||
|
Decrease_by_1 = Decrease by 1
|
||||||
|
No_results_were_found_for_your_search = No results were found for your search!
|
||||||
|
Selection = Selection
|
||||||
|
Add_record = Add record
|
||||||
|
Delete_record = Delete record
|
||||||
|
Filtering = Filtering
|
||||||
|
Invert_selection = Invert selection
|
||||||
|
Antenna_DGPS_used = Antenna: DGPS used
|
||||||
|
No_locust = No locust
|
||||||
|
Total_volume_of_working_solution_actually_applied_l = Total volume of working solution actually applied (l)
|
||||||
|
Triple_rinsed=Triple_rinsed
|
||||||
|
Punctured=Punctured
|
||||||
|
Taken_back_to_base=Taken_back_to_base
|
||||||
|
Left_in_field=Left_in_field
|
||||||
|
Buried=Buried
|
||||||
|
Burned=Burned
|
||||||
65
src/main/java/tools/EmailUtility.java
Normal file
65
src/main/java/tools/EmailUtility.java
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
//From: http://www.codejava.net/java-ee/jsp/sending-e-mail-with-jsp-servlet-and-javamail
|
||||||
|
package tools;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.Properties;
|
||||||
|
|
||||||
|
import javax.mail.Authenticator;
|
||||||
|
import javax.mail.Message;
|
||||||
|
import javax.mail.MessagingException;
|
||||||
|
import javax.mail.PasswordAuthentication;
|
||||||
|
import javax.mail.Session;
|
||||||
|
import javax.mail.Transport;
|
||||||
|
import javax.mail.internet.AddressException;
|
||||||
|
import javax.mail.internet.InternetAddress;
|
||||||
|
import javax.mail.internet.MimeMessage;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A utility class for sending e-mail messages
|
||||||
|
* @author www.codejava.net
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class EmailUtility {
|
||||||
|
|
||||||
|
public static void sendEmail(String host, String port,
|
||||||
|
final String userName, final String password, String toAddress,
|
||||||
|
String subject, String message) throws AddressException,
|
||||||
|
MessagingException
|
||||||
|
{
|
||||||
|
// sets SMTP server properties
|
||||||
|
Properties properties = new Properties();
|
||||||
|
|
||||||
|
properties.put("mail.smtp.host", host);
|
||||||
|
properties.put("mail.smtp.port", port);
|
||||||
|
properties.put("mail.smtp.auth", "true");
|
||||||
|
//properties.put("mail.smtp.starttls.enable","true"); STARTTLS requested but already using SSL
|
||||||
|
properties.put("mail.smtp.EnableSSL.enable","true");
|
||||||
|
properties.put("mail.smtp.socketFactory.port", port);
|
||||||
|
properties.put("mail.smtp.socketFactory.class","javax.net.ssl.SSLSocketFactory");
|
||||||
|
//properties.put("mail.debug", "true");
|
||||||
|
|
||||||
|
|
||||||
|
// creates a new session with an authenticator
|
||||||
|
Authenticator auth = new Authenticator() {
|
||||||
|
public PasswordAuthentication getPasswordAuthentication() {
|
||||||
|
return new PasswordAuthentication(userName, password);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
Session session = Session.getInstance(properties, auth);
|
||||||
|
|
||||||
|
//creates a new e-mail message
|
||||||
|
Message msg = new MimeMessage(session);
|
||||||
|
|
||||||
|
msg.setFrom(new InternetAddress(userName));
|
||||||
|
InternetAddress[] toAddresses = { new InternetAddress(toAddress) };
|
||||||
|
msg.setRecipients(Message.RecipientType.TO, toAddresses);
|
||||||
|
msg.setSubject(subject);
|
||||||
|
msg.setSentDate(new Date());
|
||||||
|
//msg.setText(message);
|
||||||
|
msg.setContent(message, "text/html; charset=utf-8");
|
||||||
|
|
||||||
|
// sends the e-mail
|
||||||
|
Transport.send(msg);
|
||||||
|
}
|
||||||
|
}
|
||||||
94
src/main/java/tools/PreparedStatementNamed.java
Normal file
94
src/main/java/tools/PreparedStatementNamed.java
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
package tools;
|
||||||
|
|
||||||
|
import java.sql.Connection;
|
||||||
|
import java.sql.PreparedStatement;
|
||||||
|
import java.sql.ResultSet;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import java.sql.Types;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public class PreparedStatementNamed {
|
||||||
|
|
||||||
|
private class HMap{
|
||||||
|
public String name = "";
|
||||||
|
public int pos = -1;
|
||||||
|
public HMap(String name,int pos) {
|
||||||
|
this.name = name;
|
||||||
|
this.pos = pos;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private List< HMap > fields = new ArrayList< HMap >();
|
||||||
|
private PreparedStatement m_prepStmt;
|
||||||
|
|
||||||
|
public PreparedStatementNamed(Connection conn, String sql) throws SQLException {
|
||||||
|
int cnt=0;
|
||||||
|
int pos = 0;
|
||||||
|
while((pos = sql.indexOf("${")) != -1) {
|
||||||
|
int end = sql.substring(pos).indexOf("}");
|
||||||
|
if (end == -1)
|
||||||
|
end = sql.length();
|
||||||
|
else
|
||||||
|
end += pos+1;
|
||||||
|
cnt++;
|
||||||
|
fields.add(new HMap(sql.substring(pos+2,end-1),cnt));
|
||||||
|
sql = sql.substring(0, pos) + "?" + sql.substring(end); //Removing a parameter from a string
|
||||||
|
}
|
||||||
|
m_prepStmt = conn.prepareStatement(sql);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setInt(String name, int value) throws SQLException {
|
||||||
|
for(int i=0;i<fields.size();i++) {
|
||||||
|
if(fields.get(i).name.equals(name)) {
|
||||||
|
m_prepStmt.setInt(fields.get(i).pos, value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBoolean(String name, int value) throws SQLException {
|
||||||
|
for(int i=0;i<fields.size();i++) {
|
||||||
|
if(fields.get(i).name.equals(name)) {
|
||||||
|
if(value==0)
|
||||||
|
m_prepStmt.setBoolean(fields.get(i).pos, false);
|
||||||
|
else
|
||||||
|
m_prepStmt.setBoolean(fields.get(i).pos, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public void setNULLInt(String name) throws SQLException {
|
||||||
|
for(int i=0;i<fields.size();i++) {
|
||||||
|
if(fields.get(i).name.equals(name)) {
|
||||||
|
m_prepStmt.setNull(fields.get(i).pos,Types.INTEGER);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNULLBoolean(String name) throws SQLException {
|
||||||
|
for(int i=0;i<fields.size();i++) {
|
||||||
|
if(fields.get(i).name.equals(name)) {
|
||||||
|
m_prepStmt.setNull(fields.get(i).pos,Types.BOOLEAN);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*private int getIndex(String name) {
|
||||||
|
size()
|
||||||
|
} */
|
||||||
|
|
||||||
|
|
||||||
|
public PreparedStatement getPreparedStatement() {
|
||||||
|
return m_prepStmt;
|
||||||
|
}
|
||||||
|
/*public ResultSet executeQuery() throws SQLException {
|
||||||
|
return m_prepStmt.executeQuery();
|
||||||
|
}
|
||||||
|
public void close() throws SQLException {
|
||||||
|
m_prepStmt.close();
|
||||||
|
}*/
|
||||||
|
}
|
||||||
21
src/main/java/tools/STools.java
Normal file
21
src/main/java/tools/STools.java
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
package tools;
|
||||||
|
|
||||||
|
public class STools {
|
||||||
|
|
||||||
|
public static String CutBeforeFirst(StringBuffer str,String ch)
|
||||||
|
{
|
||||||
|
int pos=str.indexOf(ch);
|
||||||
|
String result="";
|
||||||
|
if(pos==-1)
|
||||||
|
{
|
||||||
|
result.concat(str.toString());
|
||||||
|
str.delete(0,str.length());
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
result=str.substring(0,pos);
|
||||||
|
str.delete(0,pos+1);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
44
src/main/java/tools/User.java
Normal file
44
src/main/java/tools/User.java
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
package tools;
|
||||||
|
|
||||||
|
public class User {
|
||||||
|
|
||||||
|
public String id; //User id from database
|
||||||
|
public String name; //Name Surname Patronymic
|
||||||
|
public String language_id; //User language
|
||||||
|
public String role; //User role
|
||||||
|
public String country_id; //User role
|
||||||
|
|
||||||
|
public User()
|
||||||
|
{
|
||||||
|
id="null"; //null <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> SQL <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ${_user_id} <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
name="___";
|
||||||
|
language_id="1";
|
||||||
|
role="___";
|
||||||
|
country_id="";
|
||||||
|
}
|
||||||
|
public User(String name)
|
||||||
|
{
|
||||||
|
super();
|
||||||
|
id="null";
|
||||||
|
this.name=name;
|
||||||
|
language_id="1";
|
||||||
|
role="___";
|
||||||
|
country_id="";
|
||||||
|
}
|
||||||
|
public void setName(String name)
|
||||||
|
{
|
||||||
|
this.name=name;
|
||||||
|
}
|
||||||
|
public String getName()
|
||||||
|
{
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
public void Logout()
|
||||||
|
{
|
||||||
|
id="null";
|
||||||
|
name="___";
|
||||||
|
language_id="1";
|
||||||
|
role="___";
|
||||||
|
country_id="";
|
||||||
|
}
|
||||||
|
}
|
||||||
2
src/main/resources/application.properties
Normal file
2
src/main/resources/application.properties
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
spring.servlet.multipart.max-file-size=50MB
|
||||||
|
spring.servlet.multipart.max-request-size=50MB
|
||||||
21
src/main/resources/config.xml
Normal file
21
src/main/resources/config.xml
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE xml>
|
||||||
|
<config>
|
||||||
|
|
||||||
|
<db-url>jdbc:postgresql://91.201.214.156:5432/CCALM</db-url>
|
||||||
|
<!--db-url>jdbc:postgresql://127.0.0.1:5432/CCALM</db-url-->
|
||||||
|
<!--db-url>jdbc:postgresql://192.168.0.83:5432/CCALM</db-url-->
|
||||||
|
<db-login>postgres</db-login>
|
||||||
|
<db-password>PasSecrKey1</db-password>
|
||||||
|
|
||||||
|
<mail-host>smtp.yandex.ru</mail-host>
|
||||||
|
<mail-port>465</mail-port>
|
||||||
|
<mail-login>info@ccalm.org</mail-login>
|
||||||
|
<mail-password>fu2lpsoGPGiq1xlRm8ag</mail-password>
|
||||||
|
|
||||||
|
<!--data-dir>O:\temp\CCALM\</data-dir-->
|
||||||
|
<data-dir>/temp/CCALM/</data-dir>
|
||||||
|
|
||||||
|
<metadata>engine/metadata.xml</metadata>
|
||||||
|
|
||||||
|
</config>
|
||||||
41
src/main/resources/log4j.xml
Normal file
41
src/main/resources/log4j.xml
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd">
|
||||||
|
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
|
||||||
|
|
||||||
|
<!-- Appenders -->
|
||||||
|
<appender name="console" class="org.apache.log4j.ConsoleAppender">
|
||||||
|
<param name="Target" value="System.out" />
|
||||||
|
<layout class="org.apache.log4j.PatternLayout">
|
||||||
|
<param name="ConversionPattern" value="%-5p: %c - %m%n" />
|
||||||
|
</layout>
|
||||||
|
</appender>
|
||||||
|
|
||||||
|
<!-- Application Loggers -->
|
||||||
|
<logger name="kz.locust.CCALM">
|
||||||
|
<level value="info" />
|
||||||
|
</logger>
|
||||||
|
|
||||||
|
<!-- 3rdparty Loggers -->
|
||||||
|
<logger name="org.springframework.core">
|
||||||
|
<level value="info" />
|
||||||
|
</logger>
|
||||||
|
|
||||||
|
<logger name="org.springframework.beans">
|
||||||
|
<level value="info" />
|
||||||
|
</logger>
|
||||||
|
|
||||||
|
<logger name="org.springframework.context">
|
||||||
|
<level value="info" />
|
||||||
|
</logger>
|
||||||
|
|
||||||
|
<logger name="org.springframework.web">
|
||||||
|
<level value="info" />
|
||||||
|
</logger>
|
||||||
|
|
||||||
|
<!-- Root Logger -->
|
||||||
|
<root>
|
||||||
|
<priority value="warn" />
|
||||||
|
<appender-ref ref="console" />
|
||||||
|
</root>
|
||||||
|
|
||||||
|
</log4j:configuration>
|
||||||
BIN
src/main/webapp/WEB-INF/lib/commons-fileupload-1.3.3.jar
Normal file
BIN
src/main/webapp/WEB-INF/lib/commons-fileupload-1.3.3.jar
Normal file
Binary file not shown.
BIN
src/main/webapp/WEB-INF/lib/commons-io-2.5.jar
Normal file
BIN
src/main/webapp/WEB-INF/lib/commons-io-2.5.jar
Normal file
Binary file not shown.
BIN
src/main/webapp/WEB-INF/lib/gdal.jar
Normal file
BIN
src/main/webapp/WEB-INF/lib/gdal.jar
Normal file
Binary file not shown.
BIN
src/main/webapp/WEB-INF/lib/javax.mail.jar
Normal file
BIN
src/main/webapp/WEB-INF/lib/javax.mail.jar
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user