+ ParsedPersistenceXmlDescriptor persistenceUnitDescriptor =
+ getPersistenceUnitDescriptor(
+ persistenceUnit,
+ config.getProperties(),
+ new MavenProjectClassLoaderService(classLoader)
+ );
+ if (persistenceUnitDescriptor != null)
+ config.setProperties(persistenceUnitDescriptor.getProperties());
+
+ /** Overwrite values from properties-file or set, if given */
+ if (driverClassName != null)
+ {
+ if (config.getProperties().containsKey(DRIVER_CLASS))
+ getLog().debug(
+ "Overwriting property " +
+ DRIVER_CLASS + "=" + config.getProperty(DRIVER_CLASS) +
+ " with the value " + driverClassName
+ );
+ else
+ getLog().debug("Using the value " + driverClassName);
+ config.setProperty(DRIVER_CLASS, driverClassName);
+ }
+ if (url != null)
+ {
+ if (config.getProperties().containsKey(URL))
+ getLog().debug(
+ "Overwriting property " +
+ URL + "=" + config.getProperty(URL) +
+ " with the value " + url
+ );
+ else
+ getLog().debug("Using the value " + url);
+ config.setProperty(URL, url);
+ }
+ if (username != null)
+ {
+ if (config.getProperties().containsKey(USERNAME))
+ getLog().debug(
+ "Overwriting property " +
+ USERNAME + "=" + config.getProperty(USERNAME) +
+ " with the value " + username
+ );
+ else
+ getLog().debug("Using the value " + username);
+ config.setProperty(USERNAME, username);
+ }
+ if (password != null)
+ {
+ if (config.getProperties().containsKey(PASSWORD))
+ getLog().debug(
+ "Overwriting property " +
+ PASSWORD + "=" + config.getProperty(PASSWORD) +
+ " with value " + password
+ );
+ else
+ getLog().debug("Using value " + password + " for property " + PASSWORD);
+ config.setProperty(PASSWORD, password);
+ }
+ if (hibernateDialect != null)
+ {
+ if (config.getProperties().containsKey(DIALECT))
+ getLog().debug(
+ "Overwriting property " +
+ DIALECT + "=" + config.getProperty(DIALECT) +
+ " with value " + hibernateDialect
+ );
+ else
+ getLog().debug(
+ "Using value " + hibernateDialect + " for property " + DIALECT
+ );
+ config.setProperty(DIALECT, hibernateDialect);
+ }
+ if ( hibernateNamingStrategy != null )
+ {
+ if ( config.getProperties().contains(NAMING_STRATEGY))
+ getLog().debug(
+ "Overwriting property " +
+ NAMING_STRATEGY + "=" + config.getProperty(NAMING_STRATEGY) +
+ " with value " + hibernateNamingStrategy
+ );
+ else
+ getLog().debug(
+ "Using value " + hibernateNamingStrategy + " for property " +
+ NAMING_STRATEGY
+ );
+ config.setProperty(NAMING_STRATEGY, hibernateNamingStrategy);
+ }
+
+ /** The generated SQL varies with the dialect! */
+ if (md5s.containsKey(DIALECT))
+ {
+ String dialect = config.getProperty(DIALECT);
+ if (md5s.get(DIALECT).equals(dialect))
+ getLog().debug("SQL-dialect unchanged.");
+ else
+ {
+ modified = true;
+ if (dialect == null)
+ {
+ getLog().debug("SQL-dialect was unset.");
+ md5s.remove(DIALECT);
+ }
+ else
+ {
+ getLog().debug("SQL-dialect changed: " + dialect);
+ md5s.put(DIALECT, dialect);
+ }
+ }
+ }