Commit bdc8ac626a1512f63e46a74d3fee42f9fd12a957
1 parent
841de0ec
Exists in
master
Tratamento de problemas de configuração da aplicação
Showing
3 changed files
with
12 additions
and
9 deletions
Show diff stats
impl/extension/jdbc/src/main/java/br/gov/frameworkdemoiselle/internal/producer/ConnectionProducer.java
@@ -70,8 +70,7 @@ public class ConnectionProducer implements Serializable { | @@ -70,8 +70,7 @@ public class ConnectionProducer implements Serializable { | ||
70 | logger.info(bundle.getString("connection-was-created", name)); | 70 | logger.info(bundle.getString("connection-was-created", name)); |
71 | 71 | ||
72 | } catch (Exception cause) { | 72 | } catch (Exception cause) { |
73 | - // TODO Colocar uma mensagem amigável | ||
74 | - throw new DemoiselleException(cause); | 73 | + throw new DemoiselleException(bundle.getString("connection-creation-failed", name), cause); |
75 | } | 74 | } |
76 | } | 75 | } |
77 | 76 |
impl/extension/jdbc/src/main/java/br/gov/frameworkdemoiselle/internal/producer/DataSourceProducer.java
@@ -110,25 +110,27 @@ public class DataSourceProducer implements Serializable { | @@ -110,25 +110,27 @@ public class DataSourceProducer implements Serializable { | ||
110 | DataSource result; | 110 | DataSource result; |
111 | 111 | ||
112 | JDBCConfig config = Beans.getReference(JDBCConfig.class); | 112 | JDBCConfig config = Beans.getReference(JDBCConfig.class); |
113 | - Map<String, String> jndiMap = config.getJndiName(); | 113 | + String jndi = config.getJndiName() == null ? null : config.getJndiName().get(dataSourceName); |
114 | + String url = config.getUrl() == null ? null : config.getUrl().get(dataSourceName); | ||
114 | 115 | ||
115 | - if (jndiMap != null) { | ||
116 | - result = initJNDIDataSource(dataSourceName, config); | 116 | + if (jndi != null) { |
117 | + result = initJNDIDataSource(dataSourceName, jndi); | ||
117 | 118 | ||
118 | - } else { | 119 | + } else if (url != null) { |
119 | result = new BasicDataSourceProxy(dataSourceName, config, bundle); | 120 | result = new BasicDataSourceProxy(dataSourceName, config, bundle); |
121 | + | ||
122 | + } else { | ||
123 | + throw new DemoiselleException(bundle.getString("uncompleted-datasource-configuration", dataSourceName)); | ||
120 | } | 124 | } |
121 | 125 | ||
122 | return result; | 126 | return result; |
123 | } | 127 | } |
124 | 128 | ||
125 | - private DataSource initJNDIDataSource(String dataSourceName, JDBCConfig config) { | 129 | + private DataSource initJNDIDataSource(String dataSourceName, String jndi) { |
126 | DataSource result = null; | 130 | DataSource result = null; |
127 | 131 | ||
128 | try { | 132 | try { |
129 | Context context = new InitialContext(); | 133 | Context context = new InitialContext(); |
130 | - String jndi = config.getJndiName().get(dataSourceName); | ||
131 | - | ||
132 | result = (DataSource) context.lookup(jndi); | 134 | result = (DataSource) context.lookup(jndi); |
133 | 135 | ||
134 | } catch (NamingException cause) { | 136 | } catch (NamingException cause) { |
impl/extension/jdbc/src/main/resources/demoiselle-jdbc-bundle.properties
@@ -34,6 +34,8 @@ | @@ -34,6 +34,8 @@ | ||
34 | # 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA. | 34 | # 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA. |
35 | 35 | ||
36 | more-than-one-datasource-defined=Existe mais de um banco de dados definido. Utilize @{0} no ponto de inje\u00E7\u00E3o ou defina o atributo "frameworkdemoiselle.persistence.default.datasource.name" no arquivo demoiselle.properties. | 36 | more-than-one-datasource-defined=Existe mais de um banco de dados definido. Utilize @{0} no ponto de inje\u00E7\u00E3o ou defina o atributo "frameworkdemoiselle.persistence.default.datasource.name" no arquivo demoiselle.properties. |
37 | +connection-creation-failed=Falha ao estabelecer a conex\u00E3o JDBC {0} | ||
38 | +uncompleted-datasource-configuration=\u00C9 preciso definir pelo menos a URL ou o JNDI referente \u00E0 conex\u00E3o {0} no demoiselle.properties. | ||
37 | connection-was-closed=A conex\u00E3o "{0}" foi fechada. | 39 | connection-was-closed=A conex\u00E3o "{0}" foi fechada. |
38 | connection-has-already-been-closed=A conex\u00E3o "{0}" j\u00E1 havia sido fechada. | 40 | connection-has-already-been-closed=A conex\u00E3o "{0}" j\u00E1 havia sido fechada. |
39 | connection-close-failed=Falha ao tentar fechar a conex\u00E3o "{0}" | 41 | connection-close-failed=Falha ao tentar fechar a conex\u00E3o "{0}" |