Первый коммит
This commit is contained in:
+41
@@ -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,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.
|
||||
Binary file not shown.
BIN
Binary file not shown.
@@ -0,0 +1 @@
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
|
||||
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
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
areThereWebServices=false
|
||||
eclipse.preferences.version=1
|
||||
@@ -0,0 +1,2 @@
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.m2e.discovery.pref.projects=
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
eclipse.preferences.version=1
|
||||
mylyn.attention.migrated=true
|
||||
+2
@@ -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
|
||||
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>
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
eclipse.preferences.version=1
|
||||
encoding/<project>=UTF-8
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1 @@
|
||||
java
|
||||
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/>
|
||||
Binary file not shown.
@@ -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>
|
||||
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>
|
||||
@@ -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>
|
||||
@@ -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
|
||||
@@ -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>
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -0,0 +1,4 @@
|
||||
activeProfiles=
|
||||
eclipse.preferences.version=1
|
||||
resolveWorkspaceProjects=true
|
||||
version=1
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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/>
|
||||
@@ -0,0 +1 @@
|
||||
org.eclipse.wst.jsdt.launching.JRE_CONTAINER
|
||||
@@ -0,0 +1 @@
|
||||
Global
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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>
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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; //Дата
|
||||
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
}
|
||||
@@ -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;}
|
||||
}*/
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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=Сожженные
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -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();
|
||||
}*/
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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 ��� ��� ������� � SQL ������ ������ ���� ${_user_id} �� �������� ��������
|
||||
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="";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
spring.servlet.multipart.max-file-size=50MB
|
||||
spring.servlet.multipart.max-request-size=50MB
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
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