Первый коммит
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