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:
[email protected]