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:
us...@infra.apache.org


Reply via email to