From ec18afce56d523bdd416c6020860fd3ba08be3a4 Mon Sep 17 00:00:00 2001
From: Gabriel Landais <glandais@kereval.com>
Date: Tue, 14 Dec 2010 14:02:54 +0000
Subject: [PATCH] git-svn-id:
 https://scm.gforge.inria.fr/authscm/ycadoret/svn/gazelle/Maven/gazelle-proxy/trunk@19124
 356b4b1a-1d2b-0410-8bf1-ffa24008f01e

---
 .../ihe/gazelle/proxy/enums/ProxyStatus.java  | 45 ----------------
 .../net/ihe/gazelle/proxy/model/Channel.java  |  2 -
 .../main/resources/META-INF/hibernate.cfg.xml | 26 +++++++++
 .../main/resources/META-INF/persistence.xml   | 54 +++++--------------
 .../ihe/gazelle/proxy/util/HibernateUtil.java |  9 +++-
 5 files changed, 46 insertions(+), 90 deletions(-)
 delete mode 100644 gazelle-proxy-datamodel/src/main/java/net/ihe/gazelle/proxy/enums/ProxyStatus.java
 create mode 100644 gazelle-proxy-datamodel/src/main/resources/META-INF/hibernate.cfg.xml

diff --git a/gazelle-proxy-datamodel/src/main/java/net/ihe/gazelle/proxy/enums/ProxyStatus.java b/gazelle-proxy-datamodel/src/main/java/net/ihe/gazelle/proxy/enums/ProxyStatus.java
deleted file mode 100644
index 20f11312..00000000
--- a/gazelle-proxy-datamodel/src/main/java/net/ihe/gazelle/proxy/enums/ProxyStatus.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright 2009 IHE International (http://www.ihe.net)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package net.ihe.gazelle.proxy.enums;
-
-/**
- * 
- * 
- * @class ProxyStatus.java
- * @package net.ihe.gazelle.systems.model
- * @author Jean-Baptiste Meyer / INRIA Rennes IHE development Project
- * @see > jmeyer@irisa.fr - http://www.ihe-europe.org
- * @version 1.0 - 2009, November 25
- * 
- */
-
-public enum ProxyStatus {
-
-	CREATED("Channel created"), LISTENING("Channel listening"), STOPPED("Channel stopped"), ERROR_CONTACTING_PAIR(
-			"Channel error contacting pair"), DESTROYED("Channel destroyed"), TO_CREATE_AND_DEPLOY(
-			"Channel to create and to deploy");
-
-	private String description;
-
-	ProxyStatus(String description) {
-		this.description = description;
-	}
-
-	public String getDescription() {
-		return description;
-	}
-
-}
diff --git a/gazelle-proxy-datamodel/src/main/java/net/ihe/gazelle/proxy/model/Channel.java b/gazelle-proxy-datamodel/src/main/java/net/ihe/gazelle/proxy/model/Channel.java
index 70fbc917..812b8c3d 100644
--- a/gazelle-proxy-datamodel/src/main/java/net/ihe/gazelle/proxy/model/Channel.java
+++ b/gazelle-proxy-datamodel/src/main/java/net/ihe/gazelle/proxy/model/Channel.java
@@ -23,14 +23,12 @@ import javax.persistence.Entity;
 import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
-import javax.persistence.JoinColumn;
 import javax.persistence.SequenceGenerator;
 import javax.persistence.Table;
 import javax.persistence.Temporal;
 import javax.persistence.TemporalType;
 
 import net.ihe.gazelle.proxy.enums.ChannelType;
-import net.ihe.gazelle.proxy.enums.ProxyStatus;
 
 import org.hibernate.validator.NotNull;
 import org.hibernate.validator.Range;
diff --git a/gazelle-proxy-datamodel/src/main/resources/META-INF/hibernate.cfg.xml b/gazelle-proxy-datamodel/src/main/resources/META-INF/hibernate.cfg.xml
new file mode 100644
index 00000000..68121941
--- /dev/null
+++ b/gazelle-proxy-datamodel/src/main/resources/META-INF/hibernate.cfg.xml
@@ -0,0 +1,26 @@
+<?xml version='1.0' encoding='utf-8'?>
+<!DOCTYPE hibernate-configuration PUBLIC
+  "-//Hibernate/Hibernate Configuration DTD//EN"
+  "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
+
+<hibernate-configuration>
+	<session-factory>
+		<property name="hibernate.connection.driver_class">${jdbc.driver.class}</property>
+		<property name="hibernate.connection.url">${jdbc.connection.url}</property>
+		<property name="hibernate.dialect">${hibernate.dialect}</property>
+		<property name="hibernate.connection.username">${jdbc.user}</property>
+		<property name="hibernate.connection.password">${jdbc.password}</property>
+		<property name="hibernate.connection.pool_size">10</property>
+		<!-- Values are validate | update | create | create-drop -->
+		<property name="hibernate.hbm2ddl.auto">update</property>
+		<property name="c3p0.max_size">${max.pool.size}</property>
+		<property name="c3p0.min_size">${min.pool.size}</property>
+		<mapping class="net.ihe.gazelle.proxy.model.Channel" />
+		<mapping class="net.ihe.gazelle.proxy.model.CommandFieldValues" />
+		<mapping class="net.ihe.gazelle.proxy.model.DicomUIDValues" />
+		<mapping class="net.ihe.gazelle.proxy.model.message.DicomMessage" />
+		<mapping class="net.ihe.gazelle.proxy.model.message.HL7Message" />
+		<mapping class="net.ihe.gazelle.proxy.model.message.HTTPMessage" />
+		<mapping class="net.ihe.gazelle.proxy.model.message.SyslogMessage" />
+	</session-factory>
+</hibernate-configuration>
diff --git a/gazelle-proxy-datamodel/src/main/resources/META-INF/persistence.xml b/gazelle-proxy-datamodel/src/main/resources/META-INF/persistence.xml
index bab98629..03c3788b 100644
--- a/gazelle-proxy-datamodel/src/main/resources/META-INF/persistence.xml
+++ b/gazelle-proxy-datamodel/src/main/resources/META-INF/persistence.xml
@@ -1,58 +1,30 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<persistence xmlns="http://java.sun.com/xml/ns/persistence" 
-             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-             xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" 
-             version="1.0">
+<persistence xmlns="http://java.sun.com/xml/ns/persistence"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
+	version="1.0">
 	<persistence-unit name="gazelle-proxy-PersistenceUnit">
 		<provider>org.hibernate.ejb.HibernatePersistence</provider>
 		<jta-data-source>java:/gazelle-proxyDS</jta-data-source>
-
 		<properties>
 			<property name="hibernate.dialect" value="${hibernate.dialect}" />
 
-			<property name="hibernate.hbm2ddl.auto"	value="${hibernate.hbm2ddl.auto}" />
-			<!--
-				<property name="hibernate.hbm2ddl.auto" value="update" />
-			-->
-			<!-- property name="hibernate.show_sql" value="true"/>
-				<property name="hibernate.format_sql" value="true"/-->
+			<property name="hibernate.hbm2ddl.auto" value="${hibernate.hbm2ddl.auto}" />
+			<!-- <property name="hibernate.hbm2ddl.auto" value="update" /> -->
+			<!-- property name="hibernate.show_sql" value="true"/> <property name="hibernate.format_sql" 
+				value="true"/ -->
 
 			<property name="jboss.entity.manager.factory.jndi.name"
 				value="java:/gazelle-proxy-EntityManagerFactory" />
 
-			<!-- CAUTION: must be set to a number greater than 0 in production environment. For development
-				batching is turned off.
-			-->
+			<!-- CAUTION: must be set to a number greater than 0 in production environment. 
+				For development batching is turned off. -->
 			<property name="hibernate.jdbc.batch_size" value="20" />
 
 			<property name="hibernate.cache.use_query_cache" value="false" />
 
-			<property name="hibernate.cache.use_second_level_cache"	value="true" />
+			<property name="hibernate.cache.use_second_level_cache"
+				value="true" />
 		</properties>
-	</persistence-unit>
-	
-   <persistence-unit name="gazelleProxyStandAlone">
-      <provider>org.hibernate.ejb.HibernatePersistence</provider> 
-      <class>net.ihe.gazelle.proxy.model.Channel</class>
-      <properties>
-         <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" />
-         <property name="hibernate.connection.driver_class" value="org.postgresql.Driver"/>
-         <property name="hibernate.connection.username" value="gazelle"/>
-         <property name="hibernate.connection.password" value="gazelle"/>
-         <property name="hibernate.connection.url" value="jdbc:postgresql://localhost/gazelle-proxy"/>
-         <property name="hibernate.max_fetch_depth" value="3"/>
-         
-         <property name="jboss.entity.manager.factory.jndi.name" value="java:/GazelleProxyWSEntityManagerFactory"/>
-       		
-         <property name="hibernate.cache.provider_class" value="org.hibernate.cache.HashtableCacheProvider" />
-         
-         <!-- Values are validate | update | create | create-drop -->
-         <property name="hibernate.hbm2ddl.auto" value="update" /> 
-         
-         <property name="hibernate.cglib.use_reflection_optimizer" value="true" />
-         
-          <property name="hibernate.current_session_context_class" value="managed"/>
-      </properties>
-   </persistence-unit>
-	
+	</persistence-unit>
 </persistence>
\ No newline at end of file
diff --git a/gazelle-proxy-ejb/src/main/java/net/ihe/gazelle/proxy/util/HibernateUtil.java b/gazelle-proxy-ejb/src/main/java/net/ihe/gazelle/proxy/util/HibernateUtil.java
index ef71dead..c4ac58e1 100644
--- a/gazelle-proxy-ejb/src/main/java/net/ihe/gazelle/proxy/util/HibernateUtil.java
+++ b/gazelle-proxy-ejb/src/main/java/net/ihe/gazelle/proxy/util/HibernateUtil.java
@@ -1,7 +1,8 @@
 package net.ihe.gazelle.proxy.util;
 
 import javax.persistence.EntityManagerFactory;
-import javax.persistence.Persistence;
+
+import org.hibernate.ejb.Ejb3Configuration;
 
 /**
  * The only purpose of this class is to provide an EntityManager
@@ -14,9 +15,13 @@ public class HibernateUtil {
 
 	static {
 		try {
+			Ejb3Configuration cfg = new Ejb3Configuration();
+			cfg.configure("META-INF/hibernate.cfg.xml");
+			entityManagerFactory = cfg.buildEntityManagerFactory();
 			// Create the SessionFactory from a JPA configuration
 			// (persistence.xml)
-			entityManagerFactory = Persistence.createEntityManagerFactory("gazelleProxyStandAlone");
+			// entityManagerFactory =
+			// Persistence.createEntityManagerFactory("gazelleProxyStandAlone");
 		} catch (Throwable ex) {
 			// Make sure you log the exception, as it might be swallowed
 			System.err.println("Initial SessionFactory creation failed." + ex);
-- 
GitLab