Бета версия

This commit is contained in:
2023-05-04 09:53:04 +06:00
parent a68593fb4d
commit af02be6a6d
10 changed files with 164 additions and 95 deletions

View File

@ -7,8 +7,8 @@
<!-- the Compile on Save feature is turned off for the project. --> <!-- the Compile on Save feature is turned off for the project. -->
<!-- You can turn off the Compile on Save (or Deploy on Save) setting --> <!-- You can turn off the Compile on Save (or Deploy on Save) setting -->
<!-- in the project's Project Properties dialog box.--> <!-- in the project's Project Properties dialog box.-->
<project name="POTOXML_JavaSE" default="default" basedir="."> <project name="GettextDB" default="default" basedir=".">
<description>Builds, tests, and runs the project POTOXML_JavaSE.</description> <description>Builds, tests, and runs the project GettextDB.</description>
<import file="nbproject/build-impl.xml"/> <import file="nbproject/build-impl.xml"/>
<!-- <!--
@ -58,7 +58,7 @@
An example of overriding the target for project execution could look like this: An example of overriding the target for project execution could look like this:
<target name="run" depends="POTOXML_JavaSE-impl.jar"> <target name="run" depends="GettextDB-impl.jar">
<exec dir="bin" executable="launcher.exe"> <exec dir="bin" executable="launcher.exe">
<arg file="${dist.jar}"/> <arg file="${dist.jar}"/>
</exec> </exec>

View File

@ -19,7 +19,7 @@ is divided into following sections:
- cleanup - cleanup
--> -->
<project xmlns:if="ant:if" xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:jaxrpc="http://www.netbeans.org/ns/j2se-project/jax-rpc" xmlns:unless="ant:unless" basedir=".." default="default" name="POTOXML_JavaSE-impl"> <project xmlns:if="ant:if" xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:jaxrpc="http://www.netbeans.org/ns/j2se-project/jax-rpc" xmlns:unless="ant:unless" basedir=".." default="default" name="GettextDB-impl">
<fail message="Please build using Ant 1.8.0 or higher."> <fail message="Please build using Ant 1.8.0 or higher.">
<condition> <condition>
<not> <not>
@ -619,7 +619,7 @@ is divided into following sections:
</fileset> </fileset>
</union> </union>
<taskdef classname="org.testng.TestNGAntTask" classpath="${run.test.classpath}" name="testng"/> <taskdef classname="org.testng.TestNGAntTask" classpath="${run.test.classpath}" name="testng"/>
<testng classfilesetref="test.set" failureProperty="tests.failed" listeners="org.testng.reporters.VerboseReporter" methods="${testng.methods.arg}" mode="${testng.mode}" outputdir="${build.test.results.dir}" suitename="POTOXML_JavaSE" testname="TestNG tests" workingDir="${work.dir}"> <testng classfilesetref="test.set" failureProperty="tests.failed" listeners="org.testng.reporters.VerboseReporter" methods="${testng.methods.arg}" mode="${testng.mode}" outputdir="${build.test.results.dir}" suitename="GettextDB" testname="TestNG tests" workingDir="${work.dir}">
<xmlfileset dir="${build.test.classes.dir}" includes="@{testincludes}"/> <xmlfileset dir="${build.test.classes.dir}" includes="@{testincludes}"/>
<propertyset> <propertyset>
<propertyref prefix="test-sys-prop."/> <propertyref prefix="test-sys-prop."/>
@ -716,7 +716,7 @@ is divided into following sections:
<condition else="-testclass @{testClass}" property="test.class.or.method" value="-methods @{testClass}.@{testMethod}"> <condition else="-testclass @{testClass}" property="test.class.or.method" value="-methods @{testClass}.@{testMethod}">
<isset property="test.method"/> <isset property="test.method"/>
</condition> </condition>
<condition else="-suitename POTOXML_JavaSE -testname @{testClass} ${test.class.or.method}" property="testng.cmd.args" value="@{testClass}"> <condition else="-suitename GettextDB -testname @{testClass} ${test.class.or.method}" property="testng.cmd.args" value="@{testClass}">
<matches pattern=".*\.xml" string="@{testClass}"/> <matches pattern=".*\.xml" string="@{testClass}"/>
</condition> </condition>
<delete dir="${build.test.results.dir}" quiet="true"/> <delete dir="${build.test.results.dir}" quiet="true"/>
@ -1057,7 +1057,7 @@ is divided into following sections:
<delete file="${built-jar.properties}" quiet="true"/> <delete file="${built-jar.properties}" quiet="true"/>
</target> </target>
<target if="already.built.jar.${basedir}" name="-warn-already-built-jar"> <target if="already.built.jar.${basedir}" name="-warn-already-built-jar">
<echo level="warn" message="Cycle detected: POTOXML_JavaSE was already built"/> <echo level="warn" message="Cycle detected: GettextDB was already built"/>
</target> </target>
<target depends="init,-deps-jar-init" name="deps-jar" unless="no.deps"> <target depends="init,-deps-jar-init" name="deps-jar" unless="no.deps">
<mkdir dir="${build.dir}"/> <mkdir dir="${build.dir}"/>
@ -1728,7 +1728,7 @@ is divided into following sections:
<delete file="${built-clean.properties}" quiet="true"/> <delete file="${built-clean.properties}" quiet="true"/>
</target> </target>
<target if="already.built.clean.${basedir}" name="-warn-already-built-clean"> <target if="already.built.clean.${basedir}" name="-warn-already-built-clean">
<echo level="warn" message="Cycle detected: POTOXML_JavaSE was already built"/> <echo level="warn" message="Cycle detected: GettextDB was already built"/>
</target> </target>
<target depends="init,-deps-clean-init" name="deps-clean" unless="no.deps"> <target depends="init,-deps-clean-init" name="deps-clean" unless="no.deps">
<mkdir dir="${build.dir}"/> <mkdir dir="${build.dir}"/>

View File

@ -1,8 +1,8 @@
build.xml.data.CRC32=d935f596 build.xml.data.CRC32=de7f6ef6
build.xml.script.CRC32=b59ecd6a build.xml.script.CRC32=1935e2d7
build.xml.stylesheet.CRC32=f85dc8f2@1.106.0.48 build.xml.stylesheet.CRC32=f85dc8f2@1.106.0.48
# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
nbproject/build-impl.xml.data.CRC32=d935f596 nbproject/build-impl.xml.data.CRC32=de7f6ef6
nbproject/build-impl.xml.script.CRC32=da07b80d nbproject/build-impl.xml.script.CRC32=93caa791
nbproject/build-impl.xml.stylesheet.CRC32=12e0a6c2@1.106.0.48 nbproject/build-impl.xml.stylesheet.CRC32=12e0a6c2@1.106.0.48

View File

@ -2,8 +2,6 @@
<project-private xmlns="http://www.netbeans.org/ns/project-private/1"> <project-private xmlns="http://www.netbeans.org/ns/project-private/1">
<editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/> <editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/>
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2"> <open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
<group> <group/>
<file>file:/O:/projects/Workspace_Java/GettextDB/src/potoxml/NewJFrame.java</file>
</group>
</open-files> </open-files>
</project-private> </project-private>

View File

@ -3,7 +3,7 @@ annotation.processing.enabled.in.editor=false
annotation.processing.processors.list= annotation.processing.processors.list=
annotation.processing.run.all.processors=true annotation.processing.run.all.processors=true
annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
application.title=POTOXML_JavaSE application.title=GettextDB
application.vendor=ivanov.i application.vendor=ivanov.i
build.classes.dir=${build.dir}/classes build.classes.dir=${build.dir}/classes
build.classes.excludes=**/*.java,**/*.form build.classes.excludes=**/*.java,**/*.form
@ -27,7 +27,7 @@ debug.test.modulepath=\
${run.test.modulepath} ${run.test.modulepath}
# This directory is removed when the project is cleaned: # This directory is removed when the project is cleaned:
dist.dir=dist dist.dir=dist
dist.jar=${dist.dir}/POTOXML_JavaSE.jar dist.jar=${dist.dir}/GettextDB.jar
dist.javadoc.dir=${dist.dir}/javadoc dist.javadoc.dir=${dist.dir}/javadoc
endorsed.classpath= endorsed.classpath=
excludes= excludes=
@ -68,7 +68,7 @@ javadoc.use=true
javadoc.version=false javadoc.version=false
javadoc.windowtitle= javadoc.windowtitle=
jlink.launcher=false jlink.launcher=false
jlink.launcher.name=POTOXML_JavaSE jlink.launcher.name=GettextDB
main.class=potoxml.NewJFrame main.class=potoxml.NewJFrame
manifest.file=manifest.mf manifest.file=manifest.mf
meta.inf.dir=${src.dir}/META-INF meta.inf.dir=${src.dir}/META-INF

View File

@ -3,7 +3,7 @@
<type>org.netbeans.modules.java.j2seproject</type> <type>org.netbeans.modules.java.j2seproject</type>
<configuration> <configuration>
<data xmlns="http://www.netbeans.org/ns/j2se-project/3"> <data xmlns="http://www.netbeans.org/ns/j2se-project/3">
<name>POTOXML_JavaSE</name> <name>GettextDB</name>
<source-roots> <source-roots>
<root id="src.dir"/> <root id="src.dir"/>
</source-roots> </source-roots>

View File

@ -2,9 +2,11 @@
db_url = jdbc\:postgresql\://10.1.7.74\:5432/pilot db_url = jdbc\:postgresql\://10.1.7.74\:5432/pilot
db_user = translate db_user = translate
db_password = translate db_password = translate
[path0] [path0]
path=O:\\projects\\Workspace_PHP\\transit.istt.kz path = O\:\\projects\\Workspace_PHP\\transit.istt.kz
check=[0-9|a-z|A-Z|_]+ check = trt(
extensions=*.php extensions = (.*\\.php$)||(.*\\.xml$)||(.*\\.js$)
pattern=trt( pattern = [0-9|a-z|A-Z|_]+
type=5 type = 5

View File

@ -1,2 +0,0 @@
O:\projects\Workspace_PHP\transit.istt.kz
O:\temp\1.txt

View File

@ -31,8 +31,7 @@
<Group type="103" groupAlignment="0" attributes="0"> <Group type="103" groupAlignment="0" attributes="0">
<Component id="textArea1" alignment="0" max="32767" attributes="0"/> <Component id="textArea1" alignment="0" max="32767" attributes="0"/>
<Group type="102" alignment="1" attributes="0"> <Group type="102" alignment="1" attributes="0">
<Component id="jButton3" min="-2" pref="298" max="-2" attributes="0"/> <EmptySpace min="0" pref="0" max="32767" attributes="0"/>
<EmptySpace max="32767" attributes="0"/>
<Component id="jCheckBox1" min="-2" max="-2" attributes="0"/> <Component id="jCheckBox1" min="-2" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/> <EmptySpace max="-2" attributes="0"/>
<Component id="jButton1" min="-2" max="-2" attributes="0"/> <Component id="jButton1" min="-2" max="-2" attributes="0"/>
@ -52,7 +51,6 @@
<EmptySpace max="-2" attributes="0"/> <EmptySpace max="-2" attributes="0"/>
<Group type="103" groupAlignment="3" attributes="0"> <Group type="103" groupAlignment="3" attributes="0">
<Component id="jButton1" alignment="3" min="-2" max="-2" attributes="0"/> <Component id="jButton1" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="jButton3" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="jCheckBox1" alignment="3" min="-2" max="-2" attributes="0"/> <Component id="jCheckBox1" alignment="3" min="-2" max="-2" attributes="0"/>
</Group> </Group>
<EmptySpace max="32767" attributes="0"/> <EmptySpace max="32767" attributes="0"/>
@ -131,7 +129,7 @@
</DimensionLayout> </DimensionLayout>
<DimensionLayout dim="1"> <DimensionLayout dim="1">
<Group type="103" groupAlignment="0" attributes="0"> <Group type="103" groupAlignment="0" attributes="0">
<Component id="jScrollPane1" alignment="0" pref="149" max="32767" attributes="0"/> <Component id="jScrollPane1" alignment="0" pref="179" max="32767" attributes="0"/>
</Group> </Group>
</DimensionLayout> </DimensionLayout>
</Layout> </Layout>
@ -149,7 +147,7 @@
<Table columnCount="5" rowCount="0"> <Table columnCount="5" rowCount="0">
<Column editable="true" title="&#x424;&#x430;&#x439;&#x43b;/&#x41f;&#x443;&#x442;&#x44c;" type="java.lang.String"/> <Column editable="true" title="&#x424;&#x430;&#x439;&#x43b;/&#x41f;&#x443;&#x442;&#x44c;" type="java.lang.String"/>
<Column editable="true" title="&#x420;&#x430;&#x441;&#x448;&#x438;&#x440;&#x435;&#x43d;&#x438;&#x44f; &#x444;&#x430;&#x439;&#x43b;&#x43e;&#x432;" type="java.lang.String"/> <Column editable="true" title="&#x420;&#x430;&#x441;&#x448;&#x438;&#x440;&#x435;&#x43d;&#x438;&#x44f; &#x444;&#x430;&#x439;&#x43b;&#x43e;&#x432;" type="java.lang.String"/>
<Column editable="true" title="&#x428;&#x430;&#x431;&#x43b;&#x43e;&#x43d; &#x43f;&#x43e;&#x438;&#x441;&#x43a;&#x430;" type="java.lang.String"/> <Column editable="true" title="&#x41d;&#x430;&#x437;&#x432;&#x430;&#x43d;&#x438;&#x435; &#x444;&#x443;&#x43d;&#x43a;&#x446;&#x438;&#x438; (" type="java.lang.String"/>
<Column editable="true" title="&#x428;&#x430;&#x431;&#x43b;&#x43e;&#x43d; &#x43f;&#x440;&#x43e;&#x432;&#x435;&#x440;&#x43a;&#x438;" type="java.lang.String"/> <Column editable="true" title="&#x428;&#x430;&#x431;&#x43b;&#x43e;&#x43d; &#x43f;&#x440;&#x43e;&#x432;&#x435;&#x440;&#x43a;&#x438;" type="java.lang.String"/>
<Column editable="true" title="ID &#x442;&#x438;&#x43f;&#x430; &#x441;&#x43b;&#x43e;&#x432;" type="java.lang.Integer"/> <Column editable="true" title="ID &#x442;&#x438;&#x43f;&#x430; &#x441;&#x43b;&#x43e;&#x432;" type="java.lang.Integer"/>
</Table> </Table>
@ -217,7 +215,7 @@
</Group> </Group>
<EmptySpace max="-2" attributes="0"/> <EmptySpace max="-2" attributes="0"/>
<Component id="jButton5" min="-2" max="-2" attributes="0"/> <Component id="jButton5" min="-2" max="-2" attributes="0"/>
<EmptySpace pref="36" max="32767" attributes="0"/> <EmptySpace pref="66" max="32767" attributes="0"/>
</Group> </Group>
</Group> </Group>
</DimensionLayout> </DimensionLayout>
@ -229,9 +227,6 @@
</Properties> </Properties>
</Component> </Component>
<Component class="javax.swing.JTextField" name="jTFDBURL"> <Component class="javax.swing.JTextField" name="jTFDBURL">
<Properties>
<Property name="text" type="java.lang.String" value="jdbc:postgresql://10.1.7.74:5432/pilot"/>
</Properties>
</Component> </Component>
<Component class="javax.swing.JLabel" name="jLabel5"> <Component class="javax.swing.JLabel" name="jLabel5">
<Properties> <Properties>
@ -239,9 +234,6 @@
</Properties> </Properties>
</Component> </Component>
<Component class="javax.swing.JTextField" name="jTFDBUser"> <Component class="javax.swing.JTextField" name="jTFDBUser">
<Properties>
<Property name="text" type="java.lang.String" value="translate"/>
</Properties>
</Component> </Component>
<Component class="javax.swing.JLabel" name="jLabel6"> <Component class="javax.swing.JLabel" name="jLabel6">
<Properties> <Properties>
@ -249,17 +241,39 @@
</Properties> </Properties>
</Component> </Component>
<Component class="javax.swing.JTextField" name="jTFDBPassword"> <Component class="javax.swing.JTextField" name="jTFDBPassword">
<Properties>
<Property name="text" type="java.lang.String" value="translate"/>
</Properties>
</Component> </Component>
<Component class="javax.swing.JButton" name="jButton5"> <Component class="javax.swing.JButton" name="jButton5">
<Properties> <Properties>
<Property name="text" type="java.lang.String" value="&#x41f;&#x440;&#x43e;&#x432;&#x435;&#x440;&#x438;&#x442;&#x44c; &#x441;&#x43e;&#x435;&#x434;&#x438;&#x43d;&#x435;&#x43d;&#x438;&#x435;"/> <Property name="text" type="java.lang.String" value="&#x41f;&#x440;&#x43e;&#x432;&#x435;&#x440;&#x438;&#x442;&#x44c; &#x441;&#x43e;&#x435;&#x434;&#x438;&#x43d;&#x435;&#x43d;&#x438;&#x435;"/>
</Properties> </Properties>
<Events>
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButton5ActionPerformed"/>
</Events>
</Component> </Component>
</SubComponents> </SubComponents>
</Container> </Container>
<Container class="javax.swing.JPanel" name="jPanel1">
<Constraints>
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout$JTabbedPaneConstraintsDescription">
<JTabbedPaneConstraints tabName="&#x41d;&#x430;&#x441;&#x442;&#x440;&#x43e;&#x439;&#x43a;&#x438; &#x44d;&#x43a;&#x441;&#x43f;&#x43e;&#x440;&#x442;&#x430; PO &#x438;&#x43b;&#x438; XML &#x444;&#x430;&#x439;&#x43b;&#x43e;&#x432;">
<Property name="tabTitle" type="java.lang.String" value="&#x41d;&#x430;&#x441;&#x442;&#x440;&#x43e;&#x439;&#x43a;&#x438; &#x44d;&#x43a;&#x441;&#x43f;&#x43e;&#x440;&#x442;&#x430; PO &#x438;&#x43b;&#x438; XML &#x444;&#x430;&#x439;&#x43b;&#x43e;&#x432;"/>
</JTabbedPaneConstraints>
</Constraint>
</Constraints>
<Layout>
<DimensionLayout dim="0">
<Group type="103" groupAlignment="0" attributes="0">
<EmptySpace min="0" pref="915" max="32767" attributes="0"/>
</Group>
</DimensionLayout>
<DimensionLayout dim="1">
<Group type="103" groupAlignment="0" attributes="0">
<EmptySpace min="0" pref="179" max="32767" attributes="0"/>
</Group>
</DimensionLayout>
</Layout>
</Container>
</SubComponents> </SubComponents>
</Container> </Container>
<Component class="javax.swing.JButton" name="jBSaveSettings"> <Component class="javax.swing.JButton" name="jBSaveSettings">
@ -285,14 +299,6 @@
</Component> </Component>
<Component class="java.awt.TextArea" name="textArea1"> <Component class="java.awt.TextArea" name="textArea1">
</Component> </Component>
<Component class="javax.swing.JButton" name="jButton3">
<Properties>
<Property name="text" type="java.lang.String" value="&#x42d;&#x43a;&#x441;&#x43f;&#x43e;&#x440;&#x442; PO &#x438;&#x43b;&#x438; XML &#x444;&#x430;&#x439;&#x43b;&#x430;"/>
</Properties>
<Events>
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButton3ActionPerformed"/>
</Events>
</Component>
<Component class="javax.swing.JCheckBox" name="jCheckBox1"> <Component class="javax.swing.JCheckBox" name="jCheckBox1">
<Properties> <Properties>
<Property name="text" type="java.lang.String" value="&#x42d;&#x43a;&#x441;&#x43f;&#x43e;&#x440;&#x442;&#x438;&#x440;&#x43e;&#x432;&#x430;&#x442;&#x44c; &#x432; &#x431;&#x430;&#x437;&#x443; &#x43f;&#x440;&#x438; &#x441;&#x43a;&#x430;&#x43d;&#x438;&#x440;&#x43e;&#x432;&#x430;&#x43d;&#x438;&#x438;"/> <Property name="text" type="java.lang.String" value="&#x42d;&#x43a;&#x441;&#x43f;&#x43e;&#x440;&#x442;&#x438;&#x440;&#x43e;&#x432;&#x430;&#x442;&#x44c; &#x432; &#x431;&#x430;&#x437;&#x443; &#x43f;&#x440;&#x438; &#x441;&#x43a;&#x430;&#x43d;&#x438;&#x440;&#x43e;&#x432;&#x430;&#x43d;&#x438;&#x438;"/>

View File

@ -13,13 +13,19 @@ import java.io.FileWriter;
import java.io.FilenameFilter; import java.io.FilenameFilter;
import java.io.IOException; import java.io.IOException;
import java.io.StringReader; import java.io.StringReader;
import java.net.URISyntaxException;
import java.net.URLDecoder;
import java.security.CodeSource;
import java.util.List; import java.util.List;
import java.util.Stack; import java.util.Stack;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
import java.sql.Connection; import java.sql.Connection;
import java.sql.DriverManager; import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException; import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel; import javax.swing.table.DefaultTableModel;
import org.ini4j.Ini; import org.ini4j.Ini;
@ -38,9 +44,23 @@ public class NewJFrame extends javax.swing.JFrame
initComponents(); initComponents();
setTitle("GettextDB"); setTitle("GettextDB");
jTable1.putClientProperty("terminateEditOnFocusLost", Boolean.TRUE);
try { try {
File file = new File("settings.ini"); String jarDir="";
CodeSource codeSource = NewJFrame.class.getProtectionDomain().getCodeSource();
File jarFile=null;
try {
jarFile = new File(codeSource.getLocation().toURI().getPath());
} catch (URISyntaxException ex) {
Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);
}
if(jarFile!=null){
jarDir = jarFile.getParentFile().getPath()+"\\";
}
textArea1.append("JAR file path: " + jarDir + "\n");
File file = new File(jarDir + "settings.ini");
if(file.exists()){ if(file.exists()){
Ini ini = new Ini(file); Ini ini = new Ini(file);
jTFDBURL.setText(ini.get("main", "db_url")); jTFDBURL.setText(ini.get("main", "db_url"));
@ -55,7 +75,7 @@ public class NewJFrame extends javax.swing.JFrame
String extensions = ini.get("path"+i, "extensions"); String extensions = ini.get("path"+i, "extensions");
String pattern = ini.get("path"+i, "pattern"); String pattern = ini.get("path"+i, "pattern");
String type = ini.get("path"+i, "type"); String type = ini.get("path"+i, "type");
model.addRow(new Object[]{path, extensions, pattern, check, type }); model.addRow(new Object[]{path, extensions, check, pattern, type });
System.out.print(path); System.out.print(path);
} }
} }
@ -89,10 +109,10 @@ public class NewJFrame extends javax.swing.JFrame
jLabel6 = new javax.swing.JLabel(); jLabel6 = new javax.swing.JLabel();
jTFDBPassword = new javax.swing.JTextField(); jTFDBPassword = new javax.swing.JTextField();
jButton5 = new javax.swing.JButton(); jButton5 = new javax.swing.JButton();
jPanel1 = new javax.swing.JPanel();
jBSaveSettings = new javax.swing.JButton(); jBSaveSettings = new javax.swing.JButton();
jButton1 = new javax.swing.JButton(); jButton1 = new javax.swing.JButton();
textArea1 = new java.awt.TextArea(); textArea1 = new java.awt.TextArea();
jButton3 = new javax.swing.JButton();
jCheckBox1 = new javax.swing.JCheckBox(); jCheckBox1 = new javax.swing.JCheckBox();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
@ -107,7 +127,7 @@ public class NewJFrame extends javax.swing.JFrame
}, },
new String [] { new String [] {
"Файл/Путь", "Расширения файлов", "Шаблон поиска", "Шаблон проверки", "ID типа слов" "Файл/Путь", "Расширения файлов", "Название функции (", "Шаблон проверки", "ID типа слов"
} }
) { ) {
Class[] types = new Class [] { Class[] types = new Class [] {
@ -128,24 +148,23 @@ public class NewJFrame extends javax.swing.JFrame
); );
jPanel2Layout.setVerticalGroup( jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 149, Short.MAX_VALUE) .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 179, Short.MAX_VALUE)
); );
jTabbedPane1.addTab("Настройки путей сканирования", jPanel2); jTabbedPane1.addTab("Настройки путей сканирования", jPanel2);
jLabel4.setText("Строка соединения"); jLabel4.setText("Строка соединения");
jTFDBURL.setText("jdbc:postgresql://10.1.7.74:5432/pilot");
jLabel5.setText("Пользователь"); jLabel5.setText("Пользователь");
jTFDBUser.setText("translate");
jLabel6.setText("Пароль"); jLabel6.setText("Пароль");
jTFDBPassword.setText("translate");
jButton5.setText("Проверить соединение"); jButton5.setText("Проверить соединение");
jButton5.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton5ActionPerformed(evt);
}
});
javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3); javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
jPanel3.setLayout(jPanel3Layout); jPanel3.setLayout(jPanel3Layout);
@ -186,11 +205,24 @@ public class NewJFrame extends javax.swing.JFrame
.addComponent(jLabel6)) .addComponent(jLabel6))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButton5) .addComponent(jButton5)
.addContainerGap(36, Short.MAX_VALUE)) .addContainerGap(66, Short.MAX_VALUE))
); );
jTabbedPane1.addTab("Настройки соединения с базой", jPanel3); jTabbedPane1.addTab("Настройки соединения с базой", jPanel3);
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 915, Short.MAX_VALUE)
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 179, Short.MAX_VALUE)
);
jTabbedPane1.addTab("Настройки экспорта PO или XML файлов", jPanel1);
jBSaveSettings.setText("Сохранить настройки"); jBSaveSettings.setText("Сохранить настройки");
jBSaveSettings.addActionListener(new java.awt.event.ActionListener() { jBSaveSettings.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) { public void actionPerformed(java.awt.event.ActionEvent evt) {
@ -242,13 +274,6 @@ public class NewJFrame extends javax.swing.JFrame
} }
}); });
jButton3.setText("Экспорт PO или XML файла");
jButton3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton3ActionPerformed(evt);
}
});
jCheckBox1.setText("Экспортировать в базу при сканировании"); jCheckBox1.setText("Экспортировать в базу при сканировании");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
@ -260,8 +285,7 @@ public class NewJFrame extends javax.swing.JFrame
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(textArea1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(textArea1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 298, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(0, 0, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jCheckBox1) .addComponent(jCheckBox1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButton1)) .addComponent(jButton1))
@ -277,7 +301,6 @@ public class NewJFrame extends javax.swing.JFrame
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButton1) .addComponent(jButton1)
.addComponent(jButton3)
.addComponent(jCheckBox1)) .addComponent(jCheckBox1))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
); );
@ -285,7 +308,7 @@ public class NewJFrame extends javax.swing.JFrame
pack(); pack();
}// </editor-fold>//GEN-END:initComponents }// </editor-fold>//GEN-END:initComponents
private void parse(String rootDir,String extensions,String pattern,String check,String type) private void parse(Connection conn, String rootDir, String extensions, String check, String pattern, String type)
{ {
// Просматриваем каталоги // Просматриваем каталоги
FileFinder finder = new FileFinder(); FileFinder finder = new FileFinder();
@ -297,8 +320,7 @@ public class NewJFrame extends javax.swing.JFrame
//bufferedWriter.write("<?\n"); //bufferedWriter.write("<?\n");
List searchRes = null; List searchRes = null;
//searchRes = finder.findAll(rootDir,"(.*\\.as$)||(.*\\.mxml$)||(.*\\.xml$)"); searchRes = finder.findAll(rootDir,extensions); // (.*\\.as$)||(.*\\.mxml$)||(.*\\.xml$)
searchRes = finder.findAll(rootDir,"(.*\\.php$)||(.*\\.html$)||(.*\\.xml$)||(.*\\.js$)");
//выводим результаты //выводим результаты
for (int i = 0; i < searchRes.size(); i++) for (int i = 0; i < searchRes.size(); i++)
@ -325,14 +347,14 @@ public class NewJFrame extends javax.swing.JFrame
int to=0; int to=0;
while(true) //Если несколько значений в строке while(true) //Если несколько значений в строке
{ {
int s=line.indexOf(pattern, from); int s=line.indexOf(check, from);
if(s>=0) if(s>=0)
{ {
from=s+pattern.length(); from=s+check.length();
to=line.indexOf(")", from); to=line.indexOf(")", from);
//int e=-1; //int e=-1;
//if(line.charAt(s+pattern.length()) == '"') { e=line.indexOf("\")", from); } //if(line.charAt(s+check.length()) == '"') { e=line.indexOf("\")", from); }
//if(line.charAt(s+pattern.length()) == '\'') { e = line.indexOf("')", from); } //if(line.charAt(s+check.length()) == '\'') { e = line.indexOf("')", from); }
if(to>=0) if(to>=0)
{ {
String text = line.substring(from, to); String text = line.substring(from, to);
@ -358,8 +380,18 @@ public class NewJFrame extends javax.swing.JFrame
} }
if(text.length()>0){ if(text.length()>0){
if(text.matches("[0-9|a-z|A-Z|_]+")){ //if(text.matches("[0-9|a-z|A-Z|_]+")){
if(text.matches(pattern)){
textArea1.append(text+"\n"); textArea1.append(text+"\n");
//Обновляю в базе
if(conn!=null){
try (Statement stmt = conn.createStatement()) {
ResultSet rs = stmt.executeQuery("select main._update_translation_identifier('"+text+"',"+type+");");
} catch (SQLException e) {
textArea1.append("Error write to DB\n");
}
}
}else{ }else{
textArea1.append("NO VALUD = "+text+"\n"); textArea1.append("NO VALUD = "+text+"\n");
} }
@ -389,22 +421,25 @@ public class NewJFrame extends javax.swing.JFrame
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_jButton1ActionPerformed private void jButton1ActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_jButton1ActionPerformed
{//GEN-HEADEREND:event_jButton1ActionPerformed {//GEN-HEADEREND:event_jButton1ActionPerformed
//Подключаюсь к базе данных //Подключаюсь к базе данных
String url = jTFDBURL.getText(); //"jdbc:postgresql://10.1.7.74:5432/pilot";
String user = jTFDBUser.getText(); //"translate";
String password = jTFDBUser.getText(); //"translate";
Connection conn = null; Connection conn = null;
try { if(jCheckBox1.isSelected()){
Class.forName("org.postgresql.Driver"); String url = jTFDBURL.getText(); //"jdbc:postgresql://10.1.7.74:5432/pilot";
conn = DriverManager.getConnection(url, user, password); String user = jTFDBUser.getText(); //"translate";
System.out.println("Connected to the PostgreSQL server successfully."); String password = jTFDBUser.getText(); //"translate";
}catch(ClassNotFoundException | SQLException e){ try {
System.out.println(e.getMessage()); Class.forName("org.postgresql.Driver");
conn = DriverManager.getConnection(url, user, password);
System.out.println("Connected to the PostgreSQL server successfully.");
}catch(ClassNotFoundException | SQLException e){
System.out.println(e.getMessage());
}
} }
//Перебираю значения таблицы и пускаю на сканирование каждое поле //Перебираю значения таблицы и пускаю на сканирование каждое поле
DefaultTableModel model = (DefaultTableModel) jTable1.getModel(); DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
for(int row=0;row<model.getRowCount();row++){ for(int row=0;row<model.getRowCount();row++){
parse( parse(
conn,
model.getValueAt(row,0).toString(), model.getValueAt(row,0).toString(),
model.getValueAt(row,1).toString(), model.getValueAt(row,1).toString(),
model.getValueAt(row,2).toString(), model.getValueAt(row,2).toString(),
@ -418,25 +453,32 @@ public class NewJFrame extends javax.swing.JFrame
private void jBSaveSettingsActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_jBSaveSettingsActionPerformed private void jBSaveSettingsActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_jBSaveSettingsActionPerformed
{//GEN-HEADEREND:event_jBSaveSettingsActionPerformed {//GEN-HEADEREND:event_jBSaveSettingsActionPerformed
jTable1.requestFocus();
try try
{ {
Ini ini = new Ini(new File("settings.ini")); Ini ini = new Ini(new File("settings.ini"));
ini.put("main", "db_url", jTFDBURL.getText()); ini.put("main", "db_url", jTFDBURL.getText());
ini.put("main", "db_user", jTFDBUser.getText()); ini.put("main", "db_user", jTFDBUser.getText());
ini.put("main", "db_password", jTFDBPassword.getText()); ini.put("main", "db_password", jTFDBPassword.getText());
DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
for(int row=0;row<model.getRowCount();row++){
ini.put("path"+row, "path", model.getValueAt(row,0).toString());
ini.put("path"+row, "extensions", model.getValueAt(row,1).toString());
ini.put("path"+row, "check", model.getValueAt(row,2).toString());
ini.put("path"+row, "pattern", model.getValueAt(row,3).toString());
String type = model.getValueAt(row,4).toString();
ini.put("path"+row, "type", type);
}
ini.store(); ini.store();
} catch (IOException ex) } catch (IOException ex)
{ {
Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex); Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);
} }
}//GEN-LAST:event_jBSaveSettingsActionPerformed }//GEN-LAST:event_jBSaveSettingsActionPerformed
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed
new AssemblyJFrame().setVisible(true);
}//GEN-LAST:event_jButton3ActionPerformed
private void formWindowActivated(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowActivated private void formWindowActivated(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowActivated
@ -444,6 +486,29 @@ public class NewJFrame extends javax.swing.JFrame
}//GEN-LAST:event_formWindowActivated }//GEN-LAST:event_formWindowActivated
private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton5ActionPerformed
String text = "";
//Подключаюсь к базе данных
String url = jTFDBURL.getText(); //"jdbc:postgresql://10.1.7.74:5432/pilot";
String user = jTFDBUser.getText(); //"translate";
String password = jTFDBUser.getText(); //"translate";
Connection conn = null;
try {
Class.forName("org.postgresql.Driver");
conn = DriverManager.getConnection(url, user, password);
}catch(ClassNotFoundException | SQLException e){
text = e.getMessage();
}
if(conn==null){
JOptionPane.showMessageDialog(null, "Ошибка: " +text);
}else{
JOptionPane.showMessageDialog(null, "Успех");
}
}//GEN-LAST:event_jButton5ActionPerformed
/** /**
* @param args the command line arguments * @param args the command line arguments
*/ */
@ -491,12 +556,12 @@ public class NewJFrame extends javax.swing.JFrame
// Variables declaration - do not modify//GEN-BEGIN:variables // Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton jBSaveSettings; private javax.swing.JButton jBSaveSettings;
private javax.swing.JButton jButton1; private javax.swing.JButton jButton1;
private javax.swing.JButton jButton3;
private javax.swing.JButton jButton5; private javax.swing.JButton jButton5;
private javax.swing.JCheckBox jCheckBox1; private javax.swing.JCheckBox jCheckBox1;
private javax.swing.JLabel jLabel4; private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5; private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6; private javax.swing.JLabel jLabel6;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2; private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3; private javax.swing.JPanel jPanel3;
private javax.swing.JPanel jPanel4; private javax.swing.JPanel jPanel4;