Бета версия

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. -->
<!-- You can turn off the Compile on Save (or Deploy on Save) setting -->
<!-- in the project's Project Properties dialog box.-->
<project name="POTOXML_JavaSE" default="default" basedir=".">
<description>Builds, tests, and runs the project POTOXML_JavaSE.</description>
<project name="GettextDB" default="default" basedir=".">
<description>Builds, tests, and runs the project GettextDB.</description>
<import file="nbproject/build-impl.xml"/>
<!--
@ -58,7 +58,7 @@
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">
<arg file="${dist.jar}"/>
</exec>

View File

@ -19,7 +19,7 @@ is divided into following sections:
- 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.">
<condition>
<not>
@ -619,7 +619,7 @@ is divided into following sections:
</fileset>
</union>
<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}"/>
<propertyset>
<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}">
<isset property="test.method"/>
</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}"/>
</condition>
<delete dir="${build.test.results.dir}" quiet="true"/>
@ -1057,7 +1057,7 @@ is divided into following sections:
<delete file="${built-jar.properties}" quiet="true"/>
</target>
<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 depends="init,-deps-jar-init" name="deps-jar" unless="no.deps">
<mkdir dir="${build.dir}"/>
@ -1728,7 +1728,7 @@ is divided into following sections:
<delete file="${built-clean.properties}" quiet="true"/>
</target>
<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 depends="init,-deps-clean-init" name="deps-clean" unless="no.deps">
<mkdir dir="${build.dir}"/>

View File

@ -1,8 +1,8 @@
build.xml.data.CRC32=d935f596
build.xml.script.CRC32=b59ecd6a
build.xml.data.CRC32=de7f6ef6
build.xml.script.CRC32=1935e2d7
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.
# 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.script.CRC32=da07b80d
nbproject/build-impl.xml.data.CRC32=de7f6ef6
nbproject/build-impl.xml.script.CRC32=93caa791
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">
<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">
<group>
<file>file:/O:/projects/Workspace_Java/GettextDB/src/potoxml/NewJFrame.java</file>
</group>
<group/>
</open-files>
</project-private>

View File

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

View File

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

View File

@ -2,9 +2,11 @@
db_url = jdbc\:postgresql\://10.1.7.74\:5432/pilot
db_user = translate
db_password = translate
[path0]
path=O:\\projects\\Workspace_PHP\\transit.istt.kz
check=[0-9|a-z|A-Z|_]+
extensions=*.php
pattern=trt(
path = O\:\\projects\\Workspace_PHP\\transit.istt.kz
check = trt(
extensions = (.*\\.php$)||(.*\\.xml$)||(.*\\.js$)
pattern = [0-9|a-z|A-Z|_]+
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">
<Component id="textArea1" alignment="0" max="32767" attributes="0"/>
<Group type="102" alignment="1" attributes="0">
<Component id="jButton3" min="-2" pref="298" max="-2" attributes="0"/>
<EmptySpace max="32767" attributes="0"/>
<EmptySpace min="0" pref="0" max="32767" attributes="0"/>
<Component id="jCheckBox1" min="-2" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
<Component id="jButton1" min="-2" max="-2" attributes="0"/>
@ -52,7 +51,6 @@
<EmptySpace max="-2" attributes="0"/>
<Group type="103" groupAlignment="3" 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"/>
</Group>
<EmptySpace max="32767" attributes="0"/>
@ -131,7 +129,7 @@
</DimensionLayout>
<DimensionLayout dim="1">
<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>
</DimensionLayout>
</Layout>
@ -149,7 +147,7 @@
<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="&#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="ID &#x442;&#x438;&#x43f;&#x430; &#x441;&#x43b;&#x43e;&#x432;" type="java.lang.Integer"/>
</Table>
@ -217,7 +215,7 @@
</Group>
<EmptySpace 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>
</DimensionLayout>
@ -229,9 +227,6 @@
</Properties>
</Component>
<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 class="javax.swing.JLabel" name="jLabel5">
<Properties>
@ -239,9 +234,6 @@
</Properties>
</Component>
<Component class="javax.swing.JTextField" name="jTFDBUser">
<Properties>
<Property name="text" type="java.lang.String" value="translate"/>
</Properties>
</Component>
<Component class="javax.swing.JLabel" name="jLabel6">
<Properties>
@ -249,17 +241,39 @@
</Properties>
</Component>
<Component class="javax.swing.JTextField" name="jTFDBPassword">
<Properties>
<Property name="text" type="java.lang.String" value="translate"/>
</Properties>
</Component>
<Component class="javax.swing.JButton" name="jButton5">
<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;"/>
</Properties>
<Events>
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButton5ActionPerformed"/>
</Events>
</Component>
</SubComponents>
</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>
</Container>
<Component class="javax.swing.JButton" name="jBSaveSettings">
@ -285,14 +299,6 @@
</Component>
<Component class="java.awt.TextArea" name="textArea1">
</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">
<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;"/>

View File

@ -13,13 +13,19 @@ import java.io.FileWriter;
import java.io.FilenameFilter;
import java.io.IOException;
import java.io.StringReader;
import java.net.URISyntaxException;
import java.net.URLDecoder;
import java.security.CodeSource;
import java.util.List;
import java.util.Stack;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import org.ini4j.Ini;
@ -38,9 +44,23 @@ public class NewJFrame extends javax.swing.JFrame
initComponents();
setTitle("GettextDB");
jTable1.putClientProperty("terminateEditOnFocusLost", Boolean.TRUE);
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()){
Ini ini = new Ini(file);
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 pattern = ini.get("path"+i, "pattern");
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);
}
}
@ -89,10 +109,10 @@ public class NewJFrame extends javax.swing.JFrame
jLabel6 = new javax.swing.JLabel();
jTFDBPassword = new javax.swing.JTextField();
jButton5 = new javax.swing.JButton();
jPanel1 = new javax.swing.JPanel();
jBSaveSettings = new javax.swing.JButton();
jButton1 = new javax.swing.JButton();
textArea1 = new java.awt.TextArea();
jButton3 = new javax.swing.JButton();
jCheckBox1 = new javax.swing.JCheckBox();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
@ -107,7 +127,7 @@ public class NewJFrame extends javax.swing.JFrame
},
new String [] {
"Файл/Путь", "Расширения файлов", "Шаблон поиска", "Шаблон проверки", "ID типа слов"
"Файл/Путь", "Расширения файлов", "Название функции (", "Шаблон проверки", "ID типа слов"
}
) {
Class[] types = new Class [] {
@ -128,24 +148,23 @@ public class NewJFrame extends javax.swing.JFrame
);
jPanel2Layout.setVerticalGroup(
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);
jLabel4.setText("Строка соединения");
jTFDBURL.setText("jdbc:postgresql://10.1.7.74:5432/pilot");
jLabel5.setText("Пользователь");
jTFDBUser.setText("translate");
jLabel6.setText("Пароль");
jTFDBPassword.setText("translate");
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);
jPanel3.setLayout(jPanel3Layout);
@ -186,11 +205,24 @@ public class NewJFrame extends javax.swing.JFrame
.addComponent(jLabel6))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButton5)
.addContainerGap(36, Short.MAX_VALUE))
.addContainerGap(66, Short.MAX_VALUE))
);
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.addActionListener(new java.awt.event.ActionListener() {
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("Экспортировать в базу при сканировании");
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)
.addComponent(textArea1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 298, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGap(0, 0, Short.MAX_VALUE)
.addComponent(jCheckBox1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButton1))
@ -277,7 +301,6 @@ public class NewJFrame extends javax.swing.JFrame
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButton1)
.addComponent(jButton3)
.addComponent(jCheckBox1))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
@ -285,7 +308,7 @@ public class NewJFrame extends javax.swing.JFrame
pack();
}// </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();
@ -297,8 +320,7 @@ public class NewJFrame extends javax.swing.JFrame
//bufferedWriter.write("<?\n");
List searchRes = null;
//searchRes = finder.findAll(rootDir,"(.*\\.as$)||(.*\\.mxml$)||(.*\\.xml$)");
searchRes = finder.findAll(rootDir,"(.*\\.php$)||(.*\\.html$)||(.*\\.xml$)||(.*\\.js$)");
searchRes = finder.findAll(rootDir,extensions); // (.*\\.as$)||(.*\\.mxml$)||(.*\\.xml$)
//выводим результаты
for (int i = 0; i < searchRes.size(); i++)
@ -325,14 +347,14 @@ public class NewJFrame extends javax.swing.JFrame
int to=0;
while(true) //Если несколько значений в строке
{
int s=line.indexOf(pattern, from);
int s=line.indexOf(check, from);
if(s>=0)
{
from=s+pattern.length();
from=s+check.length();
to=line.indexOf(")", from);
//int e=-1;
//if(line.charAt(s+pattern.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(line.charAt(s+check.length()) == '\'') { e = line.indexOf("')", from); }
if(to>=0)
{
String text = line.substring(from, to);
@ -358,8 +380,18 @@ public class NewJFrame extends javax.swing.JFrame
}
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");
//Обновляю в базе
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{
textArea1.append("NO VALUD = "+text+"\n");
}
@ -389,10 +421,11 @@ public class NewJFrame extends javax.swing.JFrame
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_jButton1ActionPerformed
{//GEN-HEADEREND:event_jButton1ActionPerformed
//Подключаюсь к базе данных
Connection conn = null;
if(jCheckBox1.isSelected()){
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);
@ -400,11 +433,13 @@ public class NewJFrame extends javax.swing.JFrame
}catch(ClassNotFoundException | SQLException e){
System.out.println(e.getMessage());
}
}
//Перебираю значения таблицы и пускаю на сканирование каждое поле
DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
for(int row=0;row<model.getRowCount();row++){
parse(
conn,
model.getValueAt(row,0).toString(),
model.getValueAt(row,1).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
{//GEN-HEADEREND:event_jBSaveSettingsActionPerformed
jTable1.requestFocus();
try
{
Ini ini = new Ini(new File("settings.ini"));
ini.put("main", "db_url", jTFDBURL.getText());
ini.put("main", "db_user", jTFDBUser.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();
} catch (IOException ex)
{
Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);
}
}//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
@ -444,6 +486,29 @@ public class NewJFrame extends javax.swing.JFrame
}//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
*/
@ -491,12 +556,12 @@ public class NewJFrame extends javax.swing.JFrame
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton jBSaveSettings;
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton3;
private javax.swing.JButton jButton5;
private javax.swing.JCheckBox jCheckBox1;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JPanel jPanel4;