You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomee.apache.org by GitBox <gi...@apache.org> on 2020/06/07 20:50:51 UTC

[GitHub] [tomee] hbelmiro commented on a change in pull request #652: Translate to Portuguese: examples/mp-config-source-database

hbelmiro commented on a change in pull request #652:
URL: https://github.com/apache/tomee/pull/652#discussion_r436400386



##########
File path: examples/mp-config-source-database/README_pt.adoc
##########
@@ -0,0 +1,327 @@
+= Banco de dados ConfigSource da configuração do MicroProfile
+:index-group: MicroProfile
+:jbake-type: page
+:jbake-status: published
+
+Este es un ejemplo sobre cómo implementar un ConfigSource para la configuración personalizada de MicroProfile. El ConfigSource personalizado lee los valores 
+de configuración de una base de datos.
+
+Este é um exemplo sobre como implementar um `ConfigSource` para a configuração personalizada de MicroProfile.
+O ConfigSource personalizado le os valores de configuração de uma base de dados.
+
+[discrete]
+==== ConfigSource Feature
+
+Para proporcionar um ConfigSource personalizado de uma base de dados, devemos começar com uma classe que implemente la interface `ConfigSource`, sobreescrevendo 3 métodos: `getProperties`, `getValue`, e `getName`.

Review comment:
       ```suggestion
   Para proporcionar um ConfigSource personalizado de uma base de dados, devemos começar com uma classe que implemente a interface `ConfigSource`, sobrescrevendo 3 métodos: `getProperties`, `getValue`, e `getName`.
   ```

##########
File path: examples/mp-config-source-database/README_pt.adoc
##########
@@ -0,0 +1,327 @@
+= Banco de dados ConfigSource da configuração do MicroProfile
+:index-group: MicroProfile
+:jbake-type: page
+:jbake-status: published
+
+Este es un ejemplo sobre cómo implementar un ConfigSource para la configuración personalizada de MicroProfile. El ConfigSource personalizado lee los valores 
+de configuración de una base de datos.
+

Review comment:
       Remove those lines

##########
File path: examples/mp-config-source-database/README_pt.adoc
##########
@@ -0,0 +1,327 @@
+= Banco de dados ConfigSource da configuração do MicroProfile
+:index-group: MicroProfile
+:jbake-type: page
+:jbake-status: published
+
+Este es un ejemplo sobre cómo implementar un ConfigSource para la configuración personalizada de MicroProfile. El ConfigSource personalizado lee los valores 
+de configuración de una base de datos.
+
+Este é um exemplo sobre como implementar um `ConfigSource` para a configuração personalizada de MicroProfile.
+O ConfigSource personalizado le os valores de configuração de uma base de dados.

Review comment:
       ```suggestion
   O ConfigSource personalizado lê os valores de configuração de uma base de dados.
   ```

##########
File path: examples/mp-config-source-database/README_pt.adoc
##########
@@ -0,0 +1,327 @@
+= Banco de dados ConfigSource da configuração do MicroProfile
+:index-group: MicroProfile
+:jbake-type: page
+:jbake-status: published
+
+Este es un ejemplo sobre cómo implementar un ConfigSource para la configuración personalizada de MicroProfile. El ConfigSource personalizado lee los valores 
+de configuración de una base de datos.
+
+Este é um exemplo sobre como implementar um `ConfigSource` para a configuração personalizada de MicroProfile.
+O ConfigSource personalizado le os valores de configuração de uma base de dados.
+
+[discrete]
+==== ConfigSource Feature
+
+Para proporcionar um ConfigSource personalizado de uma base de dados, devemos começar com uma classe que implemente la interface `ConfigSource`, sobreescrevendo 3 métodos: `getProperties`, `getValue`, e `getName`.
+
+[source,java]
+----
+public class DatabaseConfigSource implements ConfigSource {
+    private DataSource dataSource;
+
+    public DatabaseConfigSource() {
+        try {
+            dataSource = (DataSource) new InitialContext().lookup("openejb:Resource/config-source-database");
+        } catch (final NamingException e) {
+            throw new IllegalStateException(e);
+        }
+    }
+
+    @Override
+    public Map<String, String> getProperties() {
+        final Map<String, String> properties = new HashMap<>();
+
+        try {
+            final Connection connection = dataSource.getConnection();
+            final PreparedStatement query = connection.prepareStatement("SELECT NAME, VALUE FROM CONFIGURATIONS");
+            final ResultSet names = query.executeQuery();
+
+            while (names.next()) {
+                properties.put(names.getString(0), names.getString(1));
+            }
+
+            DbUtils.closeQuietly(names);
+            DbUtils.closeQuietly(query);
+            DbUtils.closeQuietly(connection);
+        } catch (final SQLException e) {
+            e.printStackTrace();
+        }
+
+        return properties;
+    }
+
+    @Override
+    public String getValue(final String propertyName) {
+        try {
+            final Connection connection = dataSource.getConnection();
+            final PreparedStatement query =
+                    connection.prepareStatement("SELECT VALUE FROM CONFIGURATIONS WHERE NAME = ?");
+            query.setString(1, propertyName);
+            final ResultSet value = query.executeQuery();
+
+            if (value.next()) {
+                return value.getString(1);
+            }
+
+            DbUtils.closeQuietly(value);
+            DbUtils.closeQuietly(query);
+            DbUtils.closeQuietly(connection);
+        } catch (final SQLException e) {
+            e.printStackTrace();
+        }
+
+        return null;
+    }
+
+    @Override
+    public String getName() {
+        return DatabaseConfigSource.class.getSimpleName();
+    }
+}
+----
+Para simplificar, no exemplo anterior, a definição da base de dados e os dados que se utilizaram para a configuração correspondem a um `Resource`, declarado em um arquivo de configuração `tomee.xml` como `Resource` do tipo: `DataSource` da seguinte maneira: 

Review comment:
       ```suggestion
   Para simplificar, no exemplo anterior, a definição da base de dados e os dados utilizados para a configuração correspondem a um `Resource`, declarado em um arquivo de configuração `tomee.xml` como `Resource` do tipo: `DataSource` da seguinte maneira: 
   ```

##########
File path: examples/mp-config-source-database/README_pt.adoc
##########
@@ -0,0 +1,327 @@
+= Banco de dados ConfigSource da configuração do MicroProfile
+:index-group: MicroProfile
+:jbake-type: page
+:jbake-status: published
+
+Este es un ejemplo sobre cómo implementar un ConfigSource para la configuración personalizada de MicroProfile. El ConfigSource personalizado lee los valores 
+de configuración de una base de datos.
+
+Este é um exemplo sobre como implementar um `ConfigSource` para a configuração personalizada de MicroProfile.
+O ConfigSource personalizado le os valores de configuração de uma base de dados.
+
+[discrete]
+==== ConfigSource Feature
+
+Para proporcionar um ConfigSource personalizado de uma base de dados, devemos começar com uma classe que implemente la interface `ConfigSource`, sobreescrevendo 3 métodos: `getProperties`, `getValue`, e `getName`.
+
+[source,java]
+----
+public class DatabaseConfigSource implements ConfigSource {
+    private DataSource dataSource;
+
+    public DatabaseConfigSource() {
+        try {
+            dataSource = (DataSource) new InitialContext().lookup("openejb:Resource/config-source-database");
+        } catch (final NamingException e) {
+            throw new IllegalStateException(e);
+        }
+    }
+
+    @Override
+    public Map<String, String> getProperties() {
+        final Map<String, String> properties = new HashMap<>();
+
+        try {
+            final Connection connection = dataSource.getConnection();
+            final PreparedStatement query = connection.prepareStatement("SELECT NAME, VALUE FROM CONFIGURATIONS");
+            final ResultSet names = query.executeQuery();
+
+            while (names.next()) {
+                properties.put(names.getString(0), names.getString(1));
+            }
+
+            DbUtils.closeQuietly(names);
+            DbUtils.closeQuietly(query);
+            DbUtils.closeQuietly(connection);
+        } catch (final SQLException e) {
+            e.printStackTrace();
+        }
+
+        return properties;
+    }
+
+    @Override
+    public String getValue(final String propertyName) {
+        try {
+            final Connection connection = dataSource.getConnection();
+            final PreparedStatement query =
+                    connection.prepareStatement("SELECT VALUE FROM CONFIGURATIONS WHERE NAME = ?");
+            query.setString(1, propertyName);
+            final ResultSet value = query.executeQuery();
+
+            if (value.next()) {
+                return value.getString(1);
+            }
+
+            DbUtils.closeQuietly(value);
+            DbUtils.closeQuietly(query);
+            DbUtils.closeQuietly(connection);
+        } catch (final SQLException e) {
+            e.printStackTrace();
+        }
+
+        return null;
+    }
+
+    @Override
+    public String getName() {
+        return DatabaseConfigSource.class.getSimpleName();
+    }
+}
+----
+Para simplificar, no exemplo anterior, a definição da base de dados e os dados que se utilizaram para a configuração correspondem a um `Resource`, declarado em um arquivo de configuração `tomee.xml` como `Resource` do tipo: `DataSource` da seguinte maneira: 
+
+[source,xml]
+----
+<tomee>
+  <Resource id="config-source-database" type="DataSource">
+
+  </Resource>
+</tomee>
+----
+
+e esta vinculado ao conjunto de instruções SQL, definidas no script `import-config-source-database.sql`:

Review comment:
       ```suggestion
   e está vinculado a um conjunto de instruções SQL, definidas no script `import-config-source-database.sql`:
   ```




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org