[
https://issues.apache.org/jira/browse/JUDDI-517?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ashley reopened JUDDI-517:
--------------------------
Yes Kurt i am aware that these properties can be set in persistence.xml...had
mentioned that in the problem description before.
The problem is persistence.xml is part of the WAR.A WAR is a deliverable which
should typically not be modified after delivery, at client location.
Properties like datasource name etc should be modifiable after delivery by the
client.
EntityManager has two constructors, JUDDI is using the single parameter one,
requesting you to use the two parameter one, which also takes persistence
properties as an argument.
> Externalising Persistence Properties
> ------------------------------------
>
> Key: JUDDI-517
> URL: https://issues.apache.org/jira/browse/JUDDI-517
> Project: jUDDI
> Issue Type: Improvement
> Components: core
> Affects Versions: 3.0.4
> Environment: Websphere App Server 7 and DB2 DB
> Reporter: Ashley
> Assignee: Kurt T Stam
> Labels: juddi
>
> Properties of Persistence xml needs to be externalized.
> Changes with need to be done
> 1) org.apache.juddi.config.Property.java
> public final static String PERSISTENCE_PROVIDER
> ="persistenceProvider";
> public final static String DATASOURCE
> ="hibernate.connection.datasource";
> public final static String HBM_DDL_AUTO
> ="hibernate.hbm2ddl.auto";
> public final static String DEFAULT_SCHEMA
> ="hibernate.default_schema";
> public final static String HIBERNATE_DIALECT
> ="hibernate.dialect";
> 2) org.apache.juddi.config.AppConfig.java
> private void loadConfiguration() throws ConfigurationException
> {
> ....
>
> if(propConfig.getString(Property.PERSISTENCE_PROVIDER).equalsIgnoreCase("Hibernate")){
> properties = new HashMap<String, String>();
>
> properties.put("hibernate.connection.datasource",propConfig.getString(Property.DATASOURCE));
>
> properties.put("hibernate.hbm2ddl.auto",propConfig.getString(Property.HBM_DDL_AUTO));
>
> properties.put("hibernate.default_schema",propConfig.getString(Property.DEFAULT_SCHEMA));
>
> properties.put("hibernate.dialect",propConfig.getString(Property.HIBERNATE_DIALECT));
> }
> ....
> }
>
> 3) org.apache.juddi.config. PersistenceManager.java
> protected static void initializeEntityManagerFactory(String
> persistenceUnitName,Map<String, String> properties) {
> try {
> if (emf == null ){
> if(properties != null){
> emf =
> Persistence.createEntityManagerFactory(persistenceUnitName,properties);
> }else{
> emf =
> Persistence.createEntityManagerFactory(persistenceUnitName);
> }
> }
> }
> }
>
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira