You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juddi.apache.org by al...@apache.org on 2014/12/09 04:13:33 UTC

[12/28] juddi git commit: JUDDI-241 adjusting database configuration. get/setReplicationConfig now function as expected

JUDDI-241 adjusting database configuration. get/setReplicationConfig now function as expected


Project: http://git-wip-us.apache.org/repos/asf/juddi/repo
Commit: http://git-wip-us.apache.org/repos/asf/juddi/commit/a975954b
Tree: http://git-wip-us.apache.org/repos/asf/juddi/tree/a975954b
Diff: http://git-wip-us.apache.org/repos/asf/juddi/diff/a975954b

Branch: refs/heads/master
Commit: a975954b140694096ac3f81cd5bf77da19922cbb
Parents: 7aa78f6
Author: Alex <al...@apache.org>
Authored: Sat Nov 15 21:45:07 2014 -0500
Committer: Alex <al...@apache.org>
Committed: Sat Nov 15 21:45:07 2014 -0500

----------------------------------------------------------------------
 .../org/apache/juddi/api/impl/JUDDIApiImpl.java | 194 +++++++++--------
 .../apache/juddi/mapping/MappingApiToModel.java | 123 ++++++-----
 .../apache/juddi/mapping/MappingModelToApi.java |   4 +-
 .../apache/juddi/model/CommunicationGraph.java  |  99 ---------
 .../main/java/org/apache/juddi/model/Edge.java  |  21 +-
 .../juddi/model/ReplicationConfiguration.java   |  70 +++---
 .../juddi/validation/ValidateReplication.java   |  43 +++-
 .../src/main/resources/messages.properties      |   2 +-
 .../juddi/api/impl/API_160_ReplicationTest.java |  20 ++
 .../src/test/resources/META-INF/persistence.xml | 212 +++++++++----------
 10 files changed, 371 insertions(+), 417 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/juddi/blob/a975954b/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java b/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java
index 1f7ca77..e2b9dc5 100644
--- a/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java
+++ b/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java
@@ -118,8 +118,8 @@ import org.uddi.v3_service.UDDISubscriptionPortType;
  * @author <a href="mailto:alexoree@apache.org">Alex O'Ree</a>
  */
 @WebService(serviceName = "JUDDIApiService",
-     endpointInterface = "org.apache.juddi.v3_service.JUDDIApiPortType",
-     targetNamespace = "urn:juddi-apache-org:v3_service")
+        endpointInterface = "org.apache.juddi.v3_service.JUDDIApiPortType",
+        targetNamespace = "urn:juddi-apache-org:v3_service")
 public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortType {
 
         private Log log = LogFactory.getLog(this.getClass());
@@ -134,7 +134,7 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
          * @throws DispositionReportFaultMessage
          */
         public PublisherDetail savePublisher(SavePublisher body)
-             throws DispositionReportFaultMessage {
+                throws DispositionReportFaultMessage {
                 long startTime = System.currentTimeMillis();
                 EntityManager em = PersistenceManager.getEntityManager();
                 EntityTransaction tx = em.getTransaction();
@@ -167,12 +167,12 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
                         tx.commit();
                         long procTime = System.currentTimeMillis() - startTime;
                         serviceCounter.update(JUDDIQuery.SAVE_PUBLISHER,
-                             QueryStatus.SUCCESS, procTime);
+                                QueryStatus.SUCCESS, procTime);
                         return result;
                 } catch (DispositionReportFaultMessage drfm) {
                         long procTime = System.currentTimeMillis() - startTime;
                         serviceCounter.update(JUDDIQuery.SAVE_PUBLISHER,
-                             QueryStatus.FAILED, procTime);
+                                QueryStatus.FAILED, procTime);
                         throw drfm;
                 } finally {
                         if (tx.isActive()) {
@@ -190,7 +190,7 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
          * @throws DispositionReportFaultMessage
          */
         public void deletePublisher(DeletePublisher body)
-             throws DispositionReportFaultMessage {
+                throws DispositionReportFaultMessage {
                 long startTime = System.currentTimeMillis();
                 EntityManager em = PersistenceManager.getEntityManager();
                 EntityTransaction tx = em.getTransaction();
@@ -249,11 +249,11 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
                         tx.commit();
                         long procTime = System.currentTimeMillis() - startTime;
                         serviceCounter.update(JUDDIQuery.DELETE_PUBLISHER,
-                             QueryStatus.SUCCESS, procTime);
+                                QueryStatus.SUCCESS, procTime);
                 } catch (DispositionReportFaultMessage drfm) {
                         long procTime = System.currentTimeMillis() - startTime;
                         serviceCounter.update(JUDDIQuery.DELETE_PUBLISHER,
-                             QueryStatus.FAILED, procTime);
+                                QueryStatus.FAILED, procTime);
                         throw drfm;
                 } finally {
                         if (tx.isActive()) {
@@ -272,7 +272,7 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
          * @throws DispositionReportFaultMessage
          */
         public PublisherDetail getPublisherDetail(GetPublisherDetail body)
-             throws DispositionReportFaultMessage {
+                throws DispositionReportFaultMessage {
                 long startTime = System.currentTimeMillis();
                 new ValidatePublisher(null).validateGetPublisherDetail(body);
 
@@ -306,12 +306,12 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
                         tx.commit();
                         long procTime = System.currentTimeMillis() - startTime;
                         serviceCounter.update(JUDDIQuery.GET_PUBLISHER_DETAIL,
-                             QueryStatus.SUCCESS, procTime);
+                                QueryStatus.SUCCESS, procTime);
                         return result;
                 } catch (DispositionReportFaultMessage drfm) {
                         long procTime = System.currentTimeMillis() - startTime;
                         serviceCounter.update(JUDDIQuery.GET_PUBLISHER_DETAIL,
-                             QueryStatus.FAILED, procTime);
+                                QueryStatus.FAILED, procTime);
                         throw drfm;
                 } finally {
                         if (tx.isActive()) {
@@ -335,7 +335,7 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
          */
         @SuppressWarnings("unchecked")
         public PublisherDetail getAllPublisherDetail(GetAllPublisherDetail body)
-             throws DispositionReportFaultMessage, RemoteException {
+                throws DispositionReportFaultMessage, RemoteException {
                 long startTime = System.currentTimeMillis();
                 new ValidatePublisher(null).validateGetAllPublisherDetail(body);
 
@@ -363,12 +363,12 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
                         tx.commit();
                         long procTime = System.currentTimeMillis() - startTime;
                         serviceCounter.update(JUDDIQuery.GET_ALL_PUBLISHER_DETAIL,
-                             QueryStatus.SUCCESS, procTime);
+                                QueryStatus.SUCCESS, procTime);
                         return result;
                 } catch (DispositionReportFaultMessage drfm) {
                         long procTime = System.currentTimeMillis() - startTime;
                         serviceCounter.update(JUDDIQuery.GET_ALL_PUBLISHER_DETAIL,
-                             QueryStatus.FAILED, procTime);
+                                QueryStatus.FAILED, procTime);
                         throw drfm;
                 } finally {
                         if (tx.isActive()) {
@@ -390,7 +390,7 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
          * @throws DispositionReportFaultMessage
          */
         public void adminDeleteTModel(DeleteTModel body)
-             throws DispositionReportFaultMessage {
+                throws DispositionReportFaultMessage {
                 long startTime = System.currentTimeMillis();
                 EntityManager em = PersistenceManager.getEntityManager();
                 EntityTransaction tx = em.getTransaction();
@@ -410,11 +410,11 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
                         tx.commit();
                         long procTime = System.currentTimeMillis() - startTime;
                         serviceCounter.update(JUDDIQuery.ADMIN_DELETE_TMODEL,
-                             QueryStatus.SUCCESS, procTime);
+                                QueryStatus.SUCCESS, procTime);
                 } catch (DispositionReportFaultMessage drfm) {
                         long procTime = System.currentTimeMillis() - startTime;
                         serviceCounter.update(JUDDIQuery.ADMIN_DELETE_TMODEL,
-                             QueryStatus.FAILED, procTime);
+                                QueryStatus.FAILED, procTime);
                         throw drfm;
                 } finally {
                         if (tx.isActive()) {
@@ -433,7 +433,7 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
          * @throws RemoteException
          */
         public void deleteClientSubscriptionInfo(DeleteClientSubscriptionInfo body)
-             throws DispositionReportFaultMessage, RemoteException {
+                throws DispositionReportFaultMessage, RemoteException {
                 long startTime = System.currentTimeMillis();
                 EntityManager em = PersistenceManager.getEntityManager();
                 EntityTransaction tx = em.getTransaction();
@@ -453,11 +453,11 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
                         tx.commit();
                         long procTime = System.currentTimeMillis() - startTime;
                         serviceCounter.update(JUDDIQuery.DELETE_CLIENT_SUB,
-                             QueryStatus.SUCCESS, procTime);
+                                QueryStatus.SUCCESS, procTime);
                 } catch (DispositionReportFaultMessage drfm) {
                         long procTime = System.currentTimeMillis() - startTime;
                         serviceCounter.update(JUDDIQuery.DELETE_CLIENT_SUB,
-                             QueryStatus.FAILED, procTime);
+                                QueryStatus.FAILED, procTime);
                         throw drfm;
 
                 } finally {
@@ -479,7 +479,7 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
          * @throws RemoteException
          */
         public ClientSubscriptionInfoDetail saveClientSubscriptionInfo(SaveClientSubscriptionInfo body)
-             throws DispositionReportFaultMessage, RemoteException {
+                throws DispositionReportFaultMessage, RemoteException {
                 long startTime = System.currentTimeMillis();
                 EntityManager em = PersistenceManager.getEntityManager();
                 EntityTransaction tx = em.getTransaction();
@@ -513,12 +513,12 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
 
                         long procTime = System.currentTimeMillis() - startTime;
                         serviceCounter.update(JUDDIQuery.SAVE_CLIENT_SUB,
-                             QueryStatus.SUCCESS, procTime);
+                                QueryStatus.SUCCESS, procTime);
                         return result;
                 } catch (DispositionReportFaultMessage drfm) {
                         long procTime = System.currentTimeMillis() - startTime;
                         serviceCounter.update(JUDDIQuery.SAVE_CLIENT_SUB,
-                             QueryStatus.FAILED, procTime);
+                                QueryStatus.FAILED, procTime);
                         throw drfm;
 
                 } finally {
@@ -539,7 +539,7 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
          */
         @SuppressWarnings("unchecked")
         public ClientSubscriptionInfoDetail getAllClientSubscriptionInfoDetail(GetAllClientSubscriptionInfoDetail body)
-             throws DispositionReportFaultMessage {
+                throws DispositionReportFaultMessage {
                 long startTime = System.currentTimeMillis();
                 new ValidateClientSubscriptionInfo(null).validateGetAllClientSubscriptionDetail(body);
 
@@ -559,7 +559,7 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
 
                                 org.apache.juddi.api_v3.ClientSubscriptionInfo apiClientSubscriptionInfo = new org.apache.juddi.api_v3.ClientSubscriptionInfo();
 
-                                MappingModelToApi.mapClientSubscriptionInfo(modelClientSubscriptionInfo, apiClientSubscriptionInfo,em);
+                                MappingModelToApi.mapClientSubscriptionInfo(modelClientSubscriptionInfo, apiClientSubscriptionInfo, em);
 
                                 result.getClientSubscriptionInfo().add(apiClientSubscriptionInfo);
                         }
@@ -567,12 +567,12 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
                         tx.commit();
                         long procTime = System.currentTimeMillis() - startTime;
                         serviceCounter.update(JUDDIQuery.GET_ALL_CLIENT_SUB,
-                             QueryStatus.SUCCESS, procTime);
+                                QueryStatus.SUCCESS, procTime);
                         return result;
                 } catch (DispositionReportFaultMessage drfm) {
                         long procTime = System.currentTimeMillis() - startTime;
                         serviceCounter.update(JUDDIQuery.GET_ALL_CLIENT_SUB,
-                             QueryStatus.FAILED, procTime);
+                                QueryStatus.FAILED, procTime);
                         throw drfm;
 
                 } finally {
@@ -594,7 +594,7 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
          * @throws DispositionReportFaultMessage
          */
         public ClientSubscriptionInfoDetail getClientSubscriptionInfoDetail(GetClientSubscriptionInfoDetail body)
-             throws DispositionReportFaultMessage {
+                throws DispositionReportFaultMessage {
                 long startTime = System.currentTimeMillis();
                 new ValidateClientSubscriptionInfo(null).validateGetClientSubscriptionInfoDetail(body);
 
@@ -622,7 +622,7 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
 
                                 org.apache.juddi.api_v3.ClientSubscriptionInfo apiClientSubscriptionInfo = new org.apache.juddi.api_v3.ClientSubscriptionInfo();
 
-                                MappingModelToApi.mapClientSubscriptionInfo(modelClientSubscriptionInfo, apiClientSubscriptionInfo,em);
+                                MappingModelToApi.mapClientSubscriptionInfo(modelClientSubscriptionInfo, apiClientSubscriptionInfo, em);
 
                                 result.getClientSubscriptionInfo().add(apiClientSubscriptionInfo);
                         }
@@ -631,12 +631,12 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
 
                         long procTime = System.currentTimeMillis() - startTime;
                         serviceCounter.update(JUDDIQuery.GET_CLIENT_SUB,
-                             QueryStatus.SUCCESS, procTime);
+                                QueryStatus.SUCCESS, procTime);
                         return result;
                 } catch (DispositionReportFaultMessage drfm) {
                         long procTime = System.currentTimeMillis() - startTime;
                         serviceCounter.update(JUDDIQuery.GET_CLIENT_SUB,
-                             QueryStatus.FAILED, procTime);
+                                QueryStatus.FAILED, procTime);
                         throw drfm;
                 } finally {
                         if (tx.isActive()) {
@@ -658,7 +658,7 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
          */
         @Override
         public ClerkDetail saveClerk(SaveClerk body)
-             throws DispositionReportFaultMessage {
+                throws DispositionReportFaultMessage {
                 long startTime = System.currentTimeMillis();
                 EntityManager em = PersistenceManager.getEntityManager();
                 EntityTransaction tx = em.getTransaction();
@@ -678,35 +678,34 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
 
                                 MappingApiToModel.mapClerk(apiClerk, modelClerk);
                                 org.apache.juddi.model.Node node2 = em.find(org.apache.juddi.model.Node.class, apiClerk.getNode().getName());
-                                if (node2==null)
-                                {
+                                if (node2 == null) {
                                         //it doesn't exist yet
                                         node2 = new Node();
                                         MappingApiToModel.mapNode(apiClerk.getNode(), node2);
                                         em.persist(node2);
                                 }
-                                
+
                                 modelClerk.setNode(node2.getName());
                                 Object existingUddiEntity = em.find(modelClerk.getClass(), modelClerk.getClerkName());
                                 if (existingUddiEntity != null) {
-                                        
+
                                         em.merge(modelClerk);
                                 } else {
                                         em.persist(modelClerk);
                                 }
-                
+
                                 result.getClerk().add(apiClerk);
                         }
 
                         tx.commit();
                         long procTime = System.currentTimeMillis() - startTime;
                         serviceCounter.update(JUDDIQuery.SAVE_CLERK,
-                             QueryStatus.SUCCESS, procTime);
+                                QueryStatus.SUCCESS, procTime);
                         return result;
                 } catch (DispositionReportFaultMessage drfm) {
                         long procTime = System.currentTimeMillis() - startTime;
                         serviceCounter.update(JUDDIQuery.SAVE_CLERK,
-                             QueryStatus.FAILED, procTime);
+                                QueryStatus.FAILED, procTime);
                         throw drfm;
 
                 } finally {
@@ -728,7 +727,7 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
          * @throws DispositionReportFaultMessage
          */
         public NodeDetail saveNode(SaveNode body)
-             throws DispositionReportFaultMessage {
+                throws DispositionReportFaultMessage {
                 long startTime = System.currentTimeMillis();
                 EntityManager em = PersistenceManager.getEntityManager();
                 EntityTransaction tx = em.getTransaction();
@@ -761,12 +760,12 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
                         tx.commit();
                         long procTime = System.currentTimeMillis() - startTime;
                         serviceCounter.update(JUDDIQuery.SAVE_NODE,
-                             QueryStatus.SUCCESS, procTime);
+                                QueryStatus.SUCCESS, procTime);
                         return result;
                 } catch (DispositionReportFaultMessage drfm) {
                         long procTime = System.currentTimeMillis() - startTime;
                         serviceCounter.update(JUDDIQuery.SAVE_NODE,
-                             QueryStatus.FAILED, procTime);
+                                QueryStatus.FAILED, procTime);
                         throw drfm;
 
                 } finally {
@@ -788,14 +787,14 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
          */
         @SuppressWarnings("unchecked")
         public SyncSubscriptionDetail invokeSyncSubscription(
-             SyncSubscription body) throws DispositionReportFaultMessage,
-             RemoteException {
+                SyncSubscription body) throws DispositionReportFaultMessage,
+                RemoteException {
                 long startTime = System.currentTimeMillis();
                 //validate
                 SyncSubscriptionDetail syncSubscriptionDetail = new SyncSubscriptionDetail();
 
                 Map<String, org.apache.juddi.api_v3.ClientSubscriptionInfo> clientSubscriptionInfoMap
-                     = new HashMap<String, org.apache.juddi.api_v3.ClientSubscriptionInfo>();
+                        = new HashMap<String, org.apache.juddi.api_v3.ClientSubscriptionInfo>();
                 //find the clerks to go with these subscriptions
                 EntityManager em = PersistenceManager.getEntityManager();
                 EntityTransaction tx = em.getTransaction();
@@ -815,7 +814,7 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
                                         throw new InvalidKeyPassedException(new ErrorMessage("errors.invalidkey.SubscripKeyNotFound", subscriptionKey));
                                 }
                                 org.apache.juddi.api_v3.ClientSubscriptionInfo apiClientSubscriptionInfo = new org.apache.juddi.api_v3.ClientSubscriptionInfo();
-                                MappingModelToApi.mapClientSubscriptionInfo(modelClientSubscriptionInfo, apiClientSubscriptionInfo,em);
+                                MappingModelToApi.mapClientSubscriptionInfo(modelClientSubscriptionInfo, apiClientSubscriptionInfo, em);
                                 clientSubscriptionInfoMap.put(apiClientSubscriptionInfo.getSubscriptionKey(), apiClientSubscriptionInfo);
                         }
 
@@ -823,7 +822,7 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
                 } catch (DispositionReportFaultMessage drfm) {
                         long procTime = System.currentTimeMillis() - startTime;
                         serviceCounter.update(JUDDIQuery.INVOKE_SYNCSUB,
-                             QueryStatus.FAILED, procTime);
+                                QueryStatus.FAILED, procTime);
                         throw drfm;
 
                 } finally {
@@ -852,23 +851,23 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
                                 marshaller.marshal(list, sw);
 
                                 log.info(
-                                     "Notification received by UDDISubscriptionListenerService : " + sw.toString());
+                                        "Notification received by UDDISubscriptionListenerService : " + sw.toString());
 
                                 NotificationList<String> nl = NotificationList.getInstance();
 
                                 nl.getNotifications()
-                                     .add(sw.toString());
+                                        .add(sw.toString());
 
                                 //update the registry with the notification list.
                                 XRegisterHelper.handle(fromClerk, toClerk, list);
 
                                 syncSubscriptionDetail.getSubscriptionResultsList()
-                                     .add(list);
+                                        .add(list);
                         } catch (Exception ce) {
                                 log.error(ce.getMessage(), ce);
                                 long procTime = System.currentTimeMillis() - startTime;
                                 serviceCounter.update(JUDDIQuery.SAVE_NODE,
-                                     QueryStatus.FAILED, procTime);
+                                        QueryStatus.FAILED, procTime);
                                 if (ce instanceof DispositionReportFaultMessage) {
                                         throw (DispositionReportFaultMessage) ce;
                                 }
@@ -882,7 +881,7 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
 
                 long procTime = System.currentTimeMillis() - startTime;
                 serviceCounter.update(JUDDIQuery.INVOKE_SYNCSUB,
-                     QueryStatus.SUCCESS, procTime);
+                        QueryStatus.SUCCESS, procTime);
                 return syncSubscriptionDetail;
         }
 
@@ -915,11 +914,11 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
                         tx.commit();
                         long procTime = System.currentTimeMillis() - startTime;
                         serviceCounter.update(JUDDIQuery.GET_ALL_NODES,
-                             QueryStatus.SUCCESS, procTime);
+                                QueryStatus.SUCCESS, procTime);
                 } catch (DispositionReportFaultMessage drfm) {
                         long procTime = System.currentTimeMillis() - startTime;
                         serviceCounter.update(JUDDIQuery.GET_ALL_NODES,
-                             QueryStatus.FAILED, procTime);
+                                QueryStatus.FAILED, procTime);
                         throw drfm;
                 } finally {
                         if (tx.isActive()) {
@@ -951,18 +950,18 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
                         List<org.apache.juddi.model.Clerk> resultList = qry.getResultList();
                         for (int i = 0; i < resultList.size(); i++) {
                                 Clerk api = new Clerk();
-                                MappingModelToApi.mapClerk(resultList.get(i), api,em);
+                                MappingModelToApi.mapClerk(resultList.get(i), api, em);
                                 ret.getClerk().add(api);
 
                         }
                         tx.commit();
                         long procTime = System.currentTimeMillis() - startTime;
                         serviceCounter.update(JUDDIQuery.GET_ALL_CLERKS,
-                             QueryStatus.SUCCESS, procTime);
+                                QueryStatus.SUCCESS, procTime);
                 } catch (DispositionReportFaultMessage drfm) {
                         long procTime = System.currentTimeMillis() - startTime;
                         serviceCounter.update(JUDDIQuery.GET_ALL_CLERKS,
-                             QueryStatus.FAILED, procTime);
+                                QueryStatus.FAILED, procTime);
                         throw drfm;
 
                 } finally {
@@ -991,27 +990,25 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
                         org.apache.juddi.model.Node existingUddiEntity = em.find(org.apache.juddi.model.Node.class, req.getNodeID());
                         if (existingUddiEntity != null) {
 
-                            
                                 //cascade delete all clerks tied to this node, confirm that it works
-                              
-                            Query createQuery = em.createQuery("delete from Clerk c where c.node = :nodename");
-                            createQuery.setParameter("nodename", req.getNodeID());
-                            createQuery.executeUpdate();
-                             
-                               em.remove(existingUddiEntity);
-                                found=true;
+                                Query createQuery = em.createQuery("delete from Clerk c where c.node = :nodename");
+                                createQuery.setParameter("nodename", req.getNodeID());
+                                createQuery.executeUpdate();
+
+                                em.remove(existingUddiEntity);
+                                found = true;
+                        } else {
+                                throw new InvalidKeyPassedException(new ErrorMessage("errors.deleteNode.NotFound"));
                         }
-                        else 
-                            throw new InvalidKeyPassedException(new ErrorMessage("errors.deleteNode.NotFound"));
 
                         tx.commit();
                         long procTime = System.currentTimeMillis() - startTime;
                         serviceCounter.update(JUDDIQuery.DELETE_NODE,
-                             QueryStatus.SUCCESS, procTime);
+                                QueryStatus.SUCCESS, procTime);
                 } catch (DispositionReportFaultMessage drfm) {
                         long procTime = System.currentTimeMillis() - startTime;
                         serviceCounter.update(JUDDIQuery.DELETE_NODE,
-                             QueryStatus.FAILED, procTime);
+                                QueryStatus.FAILED, procTime);
                         throw drfm;
 
                 } finally {
@@ -1042,7 +1039,7 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
 
                         org.apache.juddi.model.Clerk existingUddiEntity = em.find(org.apache.juddi.model.Clerk.class, req.getClerkID());
                         if (existingUddiEntity
-                             != null) {
+                                != null) {
                                 em.remove(existingUddiEntity);
                                 found = true;
                         }
@@ -1050,11 +1047,11 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
                         tx.commit();
                         long procTime = System.currentTimeMillis() - startTime;
                         serviceCounter.update(JUDDIQuery.DELETE_CLERK,
-                             QueryStatus.SUCCESS, procTime);
+                                QueryStatus.SUCCESS, procTime);
                 } catch (DispositionReportFaultMessage drfm) {
                         long procTime = System.currentTimeMillis() - startTime;
                         serviceCounter.update(JUDDIQuery.DELETE_CLERK,
-                             QueryStatus.FAILED, procTime);
+                                QueryStatus.FAILED, procTime);
                         throw drfm;
 
                 } finally {
@@ -1148,11 +1145,11 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
                         tx.commit();
                         long procTime = System.currentTimeMillis() - startTime;
                         serviceCounter.update(SubscriptionQuery.DELETE_SUBSCRIPTION,
-                             QueryStatus.SUCCESS, procTime);
+                                QueryStatus.SUCCESS, procTime);
                 } catch (DispositionReportFaultMessage drfm) {
                         long procTime = System.currentTimeMillis() - startTime;
                         serviceCounter.update(SubscriptionQuery.DELETE_SUBSCRIPTION,
-                             QueryStatus.FAILED, procTime);
+                                QueryStatus.FAILED, procTime);
                         throw drfm;
                 } finally {
                         if (tx.isActive()) {
@@ -1168,7 +1165,7 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
                 long startTime = System.currentTimeMillis();
                 long procTime = System.currentTimeMillis() - startTime;
                 serviceCounter.update(JUDDIQuery.ADMIN_SAVE_BUSINESS,
-                     QueryStatus.SUCCESS, procTime);
+                        QueryStatus.SUCCESS, procTime);
                 ValidatePublish.unsupportedAPICall();
                 return null;
         }
@@ -1196,11 +1193,11 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
                         tx.commit();
                         long procTime = System.currentTimeMillis() - startTime;
                         serviceCounter.update(JUDDIQuery.ADMIN_SAVE_TMODEL,
-                             QueryStatus.SUCCESS, procTime);
+                                QueryStatus.SUCCESS, procTime);
                 } catch (DispositionReportFaultMessage drfm) {
                         long procTime = System.currentTimeMillis() - startTime;
                         serviceCounter.update(JUDDIQuery.ADMIN_SAVE_TMODEL,
-                             QueryStatus.FAILED, procTime);
+                                QueryStatus.FAILED, procTime);
                         throw drfm;
 
                 } finally {
@@ -1247,11 +1244,11 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
                         tx.commit();
                         long procTime = System.currentTimeMillis() - startTime;
                         serviceCounter.update(JUDDIQuery.GET_ALL_CLIENT_SUB,
-                             QueryStatus.SUCCESS, procTime);
+                                QueryStatus.SUCCESS, procTime);
                 } catch (DispositionReportFaultMessage drfm) {
                         long procTime = System.currentTimeMillis() - startTime;
                         serviceCounter.update(JUDDIQuery.GET_ALL_CLIENT_SUB,
-                             QueryStatus.FAILED, procTime);
+                                QueryStatus.FAILED, procTime);
                         throw drfm;
                 } finally {
                         if (tx.isActive()) {
@@ -1264,7 +1261,7 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
         }
 
         @Override
-        public DispositionReport setReplicationNodes(String authInfo, org.uddi.repl_v3.ReplicationConfiguration replicationConfiguration) throws DispositionReportFaultMessage, RemoteException {
+        public synchronized DispositionReport setReplicationNodes(String authInfo, org.uddi.repl_v3.ReplicationConfiguration replicationConfiguration) throws DispositionReportFaultMessage, RemoteException {
                 long startTime = System.currentTimeMillis();
 
                 EntityManager em = PersistenceManager.getEntityManager();
@@ -1276,20 +1273,37 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
                         if (!((Publisher) publisher).isAdmin()) {
                                 throw new UserMismatchException(new ErrorMessage("errors.AdminReqd"));
                         }
-                        new ValidateReplication(publisher).validateSetReplicationNodes(replicationConfiguration);
+                        new ValidateReplication(publisher).validateSetReplicationNodes(replicationConfiguration,em);
 
-                        org.apache.juddi.model.ReplicationConfiguration model = new ReplicationConfiguration();
-                        MappingApiToModel.mapReplicationConfiguration(replicationConfiguration, model, em);
-                        em.persist(model);
+                        org.apache.juddi.model.ReplicationConfiguration model = null;
+                        try {
+                                model = (ReplicationConfiguration) em.createQuery("select c FROM ReplicationConfiguration c order by c.serialNumber desc").getSingleResult();
+                        } catch (Exception ex) {
+                        }
+                        if (model == null) {
+                                model = new ReplicationConfiguration();
+                                MappingApiToModel.mapReplicationConfiguration(replicationConfiguration, model, em);
+                                model.setSerialNumber(System.currentTimeMillis());
+                                em.persist(model);
+
+                        } else {
+                                //long oldid = model.getSerialNumber();
+                                em.remove(model);
+                                model = new ReplicationConfiguration();
+                                MappingApiToModel.mapReplicationConfiguration(replicationConfiguration, model, em);
+                                model.setSerialNumber(System.currentTimeMillis());
+                                em.persist(model);
+
+                        }
 
                         tx.commit();
                         long procTime = System.currentTimeMillis() - startTime;
                         serviceCounter.update(JUDDIQuery.SET_REPLICATION_NODES,
-                             QueryStatus.SUCCESS, procTime);
+                                QueryStatus.SUCCESS, procTime);
                 } catch (DispositionReportFaultMessage drfm) {
                         long procTime = System.currentTimeMillis() - startTime;
                         serviceCounter.update(JUDDIQuery.SET_REPLICATION_NODES,
-                             QueryStatus.FAILED, procTime);
+                                QueryStatus.FAILED, procTime);
                         throw drfm;
                 } finally {
                         if (tx.isActive()) {
@@ -1327,11 +1341,11 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
                         tx.commit();
                         long procTime = System.currentTimeMillis() - startTime;
                         serviceCounter.update(JUDDIQuery.GET_ALL_NODES,
-                             QueryStatus.SUCCESS, procTime);
+                                QueryStatus.SUCCESS, procTime);
                 } catch (DispositionReportFaultMessage drfm) {
                         long procTime = System.currentTimeMillis() - startTime;
                         serviceCounter.update(JUDDIQuery.GET_ALL_NODES,
-                             QueryStatus.FAILED, procTime);
+                                QueryStatus.FAILED, procTime);
                         throw drfm;
                 } finally {
                         if (tx.isActive()) {
@@ -1366,11 +1380,11 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
                         tx.commit();
                         long procTime = System.currentTimeMillis() - startTime;
                         serviceCounter.update(JUDDIQuery.ADMIN_SAVE_SUB,
-                             QueryStatus.SUCCESS, procTime);
+                                QueryStatus.SUCCESS, procTime);
                 } catch (DispositionReportFaultMessage drfm) {
                         long procTime = System.currentTimeMillis() - startTime;
                         serviceCounter.update(JUDDIQuery.ADMIN_SAVE_SUB,
-                             QueryStatus.FAILED, procTime);
+                                QueryStatus.FAILED, procTime);
                         throw drfm;
 
                 } finally {

http://git-wip-us.apache.org/repos/asf/juddi/blob/a975954b/juddi-core/src/main/java/org/apache/juddi/mapping/MappingApiToModel.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/java/org/apache/juddi/mapping/MappingApiToModel.java b/juddi-core/src/main/java/org/apache/juddi/mapping/MappingApiToModel.java
index 65739a4..b42cf81 100644
--- a/juddi-core/src/main/java/org/apache/juddi/mapping/MappingApiToModel.java
+++ b/juddi-core/src/main/java/org/apache/juddi/mapping/MappingApiToModel.java
@@ -35,7 +35,6 @@ import org.apache.juddi.model.Address;
 import org.apache.juddi.model.BindingTemplate;
 import org.apache.juddi.model.BusinessService;
 import org.apache.juddi.model.CanonicalizationMethod;
-import org.apache.juddi.model.CommunicationGraph;
 import org.apache.juddi.model.Contact;
 import org.apache.juddi.model.ControlMessage;
 import org.apache.juddi.model.Edge;
@@ -60,6 +59,7 @@ import org.uddi.api_v3.Description;
 import org.uddi.api_v3.OperationalInfo;
 import org.uddi.api_v3.SaveBinding;
 import org.uddi.repl_v3.ChangeRecord;
+import org.uddi.repl_v3.CommunicationGraph;
 import org.uddi.repl_v3.ReplicationConfiguration;
 import org.uddi.sub_v3.ObjectFactory;
 import org.uddi.v3_service.DispositionReportFaultMessage;
@@ -1425,7 +1425,7 @@ public class MappingApiToModel {
                 if (replicationConfiguration.getRegistryContact() != null) {
                         model.setContact(mapContact(replicationConfiguration.getRegistryContact().getContact()));
                 }
-                model.setCommunicationGraph(mapCommunicationGraph(replicationConfiguration.getCommunicationGraph(), em));
+                mapCommunicationGraph(model,replicationConfiguration.getCommunicationGraph(), em);
                 model.setOperator(mapOperators(replicationConfiguration.getOperator()));
                 if (replicationConfiguration.getSignature() != null) {
                         model.setSignatures(mapApiSignaturesToModelSignatures(replicationConfiguration.getSignature()));
@@ -1443,12 +1443,65 @@ public class MappingApiToModel {
                 return model;
         }
 
-        private static CommunicationGraph mapCommunicationGraph(org.uddi.repl_v3.CommunicationGraph communicationGraph, EntityManager em) throws DispositionReportFaultMessage {
-                if (communicationGraph == null) {
+       
+
+        private static List<Operator> mapOperators(List<org.uddi.repl_v3.Operator> api) throws DispositionReportFaultMessage {
+                if (api == null) {
                         return null;
                 }
-                CommunicationGraph model = new CommunicationGraph();
+                List<Operator> model = new ArrayList<Operator>();
+                for (int i = 0; i < api.size(); i++) {
+                        Operator op = new Operator();
+                        op.setSoapReplicationURL(api.get(i).getSoapReplicationURL());
 
+                        if (!api.get(i).getContact().isEmpty()) {
+                                op.setContact(new ArrayList<Contact>());
+                                for (int k = 0; k < api.get(i).getContact().size(); k++) {
+                                        op.getContact().add(mapContact(api.get(i).getContact().get(k)));
+                                }
+                        }
+                        op.setOperatorNodeID(api.get(i).getOperatorNodeID());
+                        op.setOperatorStatus(mapOperatorStatus(api.get(i).getOperatorStatus()));
+                        if (!api.get(i).getKeyInfo().isEmpty()) {
+                                op.setKeyInfo(new ArrayList<KeyInfo>());
+                                for (int k = 0; k < api.get(i).getKeyInfo().size(); k++) {
+                                        org.apache.juddi.model.KeyInfo modelKeyInfo = new KeyInfo();
+                                        modelKeyInfo.setXmlID(api.get(i).getKeyInfo().get(i).getId());
+                                        modelKeyInfo.setKeyDataValue(new ArrayList<KeyDataValue>());
+                                        if (api.get(i).getKeyInfo().get(i).getContent() != null) {
+                                                modelKeyInfo.setKeyDataValue(new ArrayList<KeyDataValue>());
+                                                for (int x = 0; x < api.get(i).getKeyInfo().get(k).getContent().size(); x++) {
+                                                        mapKeyValue((JAXBElement) api.get(i).getKeyInfo().get(k).getContent().get(x), modelKeyInfo.getKeyDataValue());
+                                                }
+                                        }
+                                        op.getKeyInfo().add(modelKeyInfo);
+                                }
+
+                        }
+                        model.add(op);
+
+                }
+                return model;
+        }
+
+        private static OperatorStatusType mapOperatorStatus(org.uddi.repl_v3.OperatorStatusType operatorStatus) {
+                switch (operatorStatus) {
+                        case NEW:
+                                return OperatorStatusType.NEW;
+                        case NORMAL:
+                                return OperatorStatusType.NORMAL;
+                        case RESIGNED:
+                                return OperatorStatusType.RESIGNED;
+                }
+                return null;
+        }
+
+    private static void mapCommunicationGraph(org.apache.juddi.model.ReplicationConfiguration model, CommunicationGraph communicationGraph, EntityManager em) throws ValueNotAllowedException {
+        
+    if (model == null) {
+                        return;
+                }
+           
                 /**
                  * Following the listing of nodes is the controlledMessage
                  * element that lists the set of messages over which this
@@ -1478,7 +1531,7 @@ public class MappingApiToModel {
                         List<Edge> ret = new ArrayList<Edge>();
                         for (int i = 0; i < communicationGraph.getEdge().size(); i++) {
                                 Edge e = new Edge();
-                                e.setCommunicationGraph(model);
+                                
                                 if (communicationGraph.getEdge().get(i).getMessageReceiver() == null) {
                                         throw new ValueNotAllowedException(new ErrorMessage("errors.replication.configNodeNotFound", communicationGraph.getEdge().get(i).getMessageReceiver()));
                                 }
@@ -1524,61 +1577,7 @@ public class MappingApiToModel {
                                 ret.add(e);
                         }
                         model.setEdge(ret);
-                }
-
-                return model;
-
-        }
-
-        private static List<Operator> mapOperators(List<org.uddi.repl_v3.Operator> api) throws DispositionReportFaultMessage {
-                if (api == null) {
-                        return null;
-                }
-                List<Operator> model = new ArrayList<Operator>();
-                for (int i = 0; i < api.size(); i++) {
-                        Operator op = new Operator();
-                        op.setSoapReplicationURL(api.get(i).getSoapReplicationURL());
+                }}            }
+    
 
-                        if (!api.get(i).getContact().isEmpty()) {
-                                op.setContact(new ArrayList<Contact>());
-                                for (int k = 0; k < api.get(i).getContact().size(); k++) {
-                                        op.getContact().add(mapContact(api.get(i).getContact().get(k)));
-                                }
-                        }
-                        op.setOperatorNodeID(api.get(i).getOperatorNodeID());
-                        op.setOperatorStatus(mapOperatorStatus(api.get(i).getOperatorStatus()));
-                        if (!api.get(i).getKeyInfo().isEmpty()) {
-                                op.setKeyInfo(new ArrayList<KeyInfo>());
-                                for (int k = 0; k < api.get(i).getKeyInfo().size(); k++) {
-                                        org.apache.juddi.model.KeyInfo modelKeyInfo = new KeyInfo();
-                                        modelKeyInfo.setXmlID(api.get(i).getKeyInfo().get(i).getId());
-                                        modelKeyInfo.setKeyDataValue(new ArrayList<KeyDataValue>());
-                                        if (api.get(i).getKeyInfo().get(i).getContent() != null) {
-                                                modelKeyInfo.setKeyDataValue(new ArrayList<KeyDataValue>());
-                                                for (int x = 0; x < api.get(i).getKeyInfo().get(k).getContent().size(); x++) {
-                                                        mapKeyValue((JAXBElement) api.get(i).getKeyInfo().get(k).getContent().get(x), modelKeyInfo.getKeyDataValue());
-                                                }
-                                        }
-                                        op.getKeyInfo().add(modelKeyInfo);
-                                }
-
-                        }
-                        model.add(op);
-
-                }
-                return model;
-        }
-
-        private static OperatorStatusType mapOperatorStatus(org.uddi.repl_v3.OperatorStatusType operatorStatus) {
-                switch (operatorStatus) {
-                        case NEW:
-                                return OperatorStatusType.NEW;
-                        case NORMAL:
-                                return OperatorStatusType.NORMAL;
-                        case RESIGNED:
-                                return OperatorStatusType.RESIGNED;
-                }
-                return null;
-        }
 
-}

http://git-wip-us.apache.org/repos/asf/juddi/blob/a975954b/juddi-core/src/main/java/org/apache/juddi/mapping/MappingModelToApi.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/java/org/apache/juddi/mapping/MappingModelToApi.java b/juddi-core/src/main/java/org/apache/juddi/mapping/MappingModelToApi.java
index 0b5d9a3..50535da 100644
--- a/juddi-core/src/main/java/org/apache/juddi/mapping/MappingModelToApi.java
+++ b/juddi-core/src/main/java/org/apache/juddi/mapping/MappingModelToApi.java
@@ -1220,7 +1220,7 @@ public class MappingModelToApi {
                 item.setTimeOfConfigurationUpdate(find.getTimeOfConfigurationUpdate());
                 CommunicationGraph xcom = new CommunicationGraph();
 
-                mapCommunicationGraph(find.getCommunicationGraph(), xcom);
+                mapCommunicationGraph(find, xcom);
                 item.setCommunicationGraph(xcom);
                 //(List<org.apache.juddi.model.Contact> modelContactList, 
                 //org.uddi.api_v3.Contacts apiContacts,
@@ -1263,7 +1263,7 @@ public class MappingModelToApi {
 
         }
 
-        private static void mapCommunicationGraph(org.apache.juddi.model.CommunicationGraph model,
+        private static void mapCommunicationGraph(org.apache.juddi.model.ReplicationConfiguration model,
              CommunicationGraph api) {
 
                 mapEdge(model.getEdge(), api.getEdge());

http://git-wip-us.apache.org/repos/asf/juddi/blob/a975954b/juddi-core/src/main/java/org/apache/juddi/model/CommunicationGraph.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/java/org/apache/juddi/model/CommunicationGraph.java b/juddi-core/src/main/java/org/apache/juddi/model/CommunicationGraph.java
deleted file mode 100644
index b2ec7d0..0000000
--- a/juddi-core/src/main/java/org/apache/juddi/model/CommunicationGraph.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Copyright 2001-2008 The Apache Software Foundation.
- * 
- * 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 org.apache.juddi.model;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import javax.persistence.CascadeType;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.OneToMany;
-import javax.persistence.Table;
-import javax.persistence.TableGenerator;
-
-@Entity
-@Table(name = "j3_chg_graph")
-public class CommunicationGraph implements Serializable {
-
-        private Long id;
-        private List<Node> node;
-        private List<ControlMessage> controlledMessage;
-        private List<Edge> edge;
-
-        
-        @OneToMany(targetEntity = Node.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL)
-        public List<Node> getNode() {
-                if (node == null) {
-                        node = new ArrayList<Node>();
-                }
-                return this.node;
-        }
-
-        public void setNode(List<Node> nodes) {
-
-                this.node = nodes;
-        }
-
-        @OneToMany(targetEntity = ControlMessage.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL)
-        public List<ControlMessage> getControlMessage() {
-                if (controlledMessage == null) {
-                        controlledMessage = new ArrayList<ControlMessage>();
-                }
-                return this.controlledMessage;
-        }
-
-        public void setControlMessage(List<ControlMessage> controlledMessages) {
-
-                this.controlledMessage = controlledMessages;
-        }
-
-        // @OneToMany( fetch = FetchType.LAZY,targetEntity = Edge.class, mappedBy = "Edge")
-        @OneToMany(targetEntity = Edge.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL)
-        public List<Edge> getEdge() {
-                return this.edge;
-        }
-        
-         public void setEdge( List<Edge> edges) {
-                this.edge=edges;
-        }
-
-        @Id
-        @Column(name = "j3_id")
-        @GeneratedValue(strategy = GenerationType.TABLE,
-             generator = "cfggrphGen")
-        @TableGenerator(name = "cfggrphGen",
-             table = "JPAGEN_CFGGRPH",
-             pkColumnName = "NAME",
-             pkColumnValue = "JPAGEN_PERSON_GEN",
-             valueColumnName = "VALUE")
-        public Long getId() {
-                return id;
-        }
-
-        public void setId(Long id) {
-                this.id = id;
-        }
-}
-
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/juddi/blob/a975954b/juddi-core/src/main/java/org/apache/juddi/model/Edge.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/java/org/apache/juddi/model/Edge.java b/juddi-core/src/main/java/org/apache/juddi/model/Edge.java
index 768bb23..bc25990 100644
--- a/juddi-core/src/main/java/org/apache/juddi/model/Edge.java
+++ b/juddi-core/src/main/java/org/apache/juddi/model/Edge.java
@@ -40,26 +40,9 @@ public class Edge {
         private Node messageSender;
         private Node messageReceiver;
         private Set<Node> messageReceiverAlternate;
-        private CommunicationGraph parent;
-
-         /**
-         * link the parent object
-         * @param val 
-         */
-        @OneToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY, targetEntity = CommunicationGraph.class)
-        //@JoinColumn(name = "OWNER_ID")
-        public CommunicationGraph getCommunicationGraph() {
-                return parent;
-        }
-
-        /**
-         * link the parent object
-         * @param val 
-         */
-        public void setCommunicationGraph(CommunicationGraph val) {
-                parent = val;
-        }
+        private ReplicationConfiguration parent;
 
+        
         /**
          * The message elements contain the local name of the Replication API message elements
          * @return 

http://git-wip-us.apache.org/repos/asf/juddi/blob/a975954b/juddi-core/src/main/java/org/apache/juddi/model/ReplicationConfiguration.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/java/org/apache/juddi/model/ReplicationConfiguration.java b/juddi-core/src/main/java/org/apache/juddi/model/ReplicationConfiguration.java
index a481412..72c717b 100644
--- a/juddi-core/src/main/java/org/apache/juddi/model/ReplicationConfiguration.java
+++ b/juddi-core/src/main/java/org/apache/juddi/model/ReplicationConfiguration.java
@@ -43,7 +43,6 @@ public class ReplicationConfiguration implements Serializable {
         private Long serialNumber;
         private String timeOfConfigurationUpdate;
         private List<Operator> operator = new ArrayList<Operator>(0);
-        private CommunicationGraph communicationGraph;
         private BigInteger maximumTimeToSyncRegistry;
         private BigInteger maximumTimeToGetChanges;
         private List<Signature> signatures = new ArrayList<Signature>(0);
@@ -77,13 +76,6 @@ public class ReplicationConfiguration implements Serializable {
         @Column(name = "serialnumb")
         @OrderBy(value = "SerialNumber DESC")
          @Id
-        @GeneratedValue(strategy = GenerationType.TABLE,
-             generator = "replcfgGen")
-        @TableGenerator(name = "replcfgGen",
-             table = "JPAGEN_REPLGEN",
-             pkColumnName = "NAME",
-             pkColumnValue = "JPAGEN_PERSON_GEN",
-             valueColumnName = "VALUE")
         public Long getSerialNumber() {
                 return serialNumber;
         }
@@ -131,26 +123,7 @@ public class ReplicationConfiguration implements Serializable {
                 this.operator=v;
         }
 
-        /**
-         * Gets the value of the communicationGraph property.
-         *
-         * @return possible object is {@link CommunicationGraph }
-         *
-         */
-        @OneToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY, targetEntity = CommunicationGraph.class)
-        public CommunicationGraph getCommunicationGraph() {
-                return communicationGraph;
-        }
-
-        /**
-         * Sets the value of the communicationGraph property.
-         *
-         * @param value allowed object is {@link CommunicationGraph }
-         *
-         */
-        public void setCommunicationGraph(CommunicationGraph value) {
-                this.communicationGraph = value;
-        }
+      
 
         /**
          * Gets the value of the maximumTimeToSyncRegistry property.
@@ -204,6 +177,47 @@ public class ReplicationConfiguration implements Serializable {
                 this.signatures = signatures;
         }
 
+        private List<Node> node;
+        private List<ControlMessage> controlledMessage;
+        private List<Edge> edge;
+
+        //To use a Node or a String reference...
+        //Node will give us strict ref integ but makes a change history of the replication config impossible
+        //Strig increases code logic for ref integ,but makes chage history possible
+        @OneToMany(targetEntity = Node.class, orphanRemoval = false,fetch = FetchType.LAZY, cascade = {CascadeType.MERGE, CascadeType.REFRESH, CascadeType.PERSIST})
+        public List<Node> getNode() {
+                if (node == null) {
+                        node = new ArrayList<Node>();
+                }
+                return this.node;
+        }
+
+        public void setNode(List<Node> nodes) {
+
+                this.node = nodes;
+        }
+
+        @OneToMany(targetEntity = ControlMessage.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL)
+        public List<ControlMessage> getControlMessage() {
+                if (controlledMessage == null) {
+                        controlledMessage = new ArrayList<ControlMessage>();
+                }
+                return this.controlledMessage;
+        }
+
+        public void setControlMessage(List<ControlMessage> controlledMessages) {
+
+                this.controlledMessage = controlledMessages;
+        }
+
+        // @OneToMany( fetch = FetchType.LAZY,targetEntity = Edge.class, mappedBy = "Edge")
+        @OneToMany(targetEntity = Edge.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL)
+        public List<Edge> getEdge() {
+                return this.edge;
+        }
         
+         public void setEdge( List<Edge> edges) {
+                this.edge=edges;
+        }
 }
 
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/juddi/blob/a975954b/juddi-core/src/main/java/org/apache/juddi/validation/ValidateReplication.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/java/org/apache/juddi/validation/ValidateReplication.java b/juddi-core/src/main/java/org/apache/juddi/validation/ValidateReplication.java
index 460c94d..6ede348 100644
--- a/juddi-core/src/main/java/org/apache/juddi/validation/ValidateReplication.java
+++ b/juddi-core/src/main/java/org/apache/juddi/validation/ValidateReplication.java
@@ -17,11 +17,15 @@
 package org.apache.juddi.validation;
 
 import java.math.BigInteger;
+import javax.persistence.EntityManager;
 import javax.xml.ws.WebServiceContext;
+import org.apache.juddi.model.Node;
 import org.apache.juddi.model.UddiEntityPublisher;
 import org.apache.juddi.v3.error.ErrorMessage;
 import org.apache.juddi.v3.error.FatalErrorException;
+import org.apache.juddi.v3.error.InvalidValueException;
 import org.apache.juddi.v3.error.ValueNotAllowedException;
+import org.uddi.repl_v3.CommunicationGraph.Edge;
 import org.uddi.repl_v3.HighWaterMarkVectorType;
 import org.uddi.repl_v3.NotifyChangeRecordsAvailable;
 import org.uddi.repl_v3.ReplicationConfiguration;
@@ -75,11 +79,11 @@ public class ValidateReplication extends ValidateUDDIApi {
                 if (responseLimitVector != null) {
                         for (int i = 0; i < responseLimitVector.getHighWaterMark().size(); i++) {
                                 if (responseLimitVector.getHighWaterMark().get(i).getOriginatingUSN() == null
-                                     || responseLimitVector.getHighWaterMark().get(i).getOriginatingUSN() <= 0) {
+                                        || responseLimitVector.getHighWaterMark().get(i).getOriginatingUSN() <= 0) {
                                         throw new FatalErrorException(new ErrorMessage("errors.replication.limitVectorNull"));
                                 }
-                                if (responseLimitVector.getHighWaterMark().get(i).getNodeID()== null
-                                     || responseLimitVector.getHighWaterMark().get(i).getNodeID().trim().equalsIgnoreCase("")) {
+                                if (responseLimitVector.getHighWaterMark().get(i).getNodeID() == null
+                                        || responseLimitVector.getHighWaterMark().get(i).getNodeID().trim().equalsIgnoreCase("")) {
                                         throw new FatalErrorException(new ErrorMessage("errors.replication.limitVectorNoNode"));
                                 }
                         }
@@ -111,8 +115,37 @@ public class ValidateReplication extends ValidateUDDIApi {
                 return false;
         }
 
-        public void validateSetReplicationNodes(ReplicationConfiguration replicationConfiguration) throws DispositionReportFaultMessage {
-                
+        public void validateSetReplicationNodes(ReplicationConfiguration replicationConfiguration, EntityManager em) throws DispositionReportFaultMessage {
+                if (replicationConfiguration == null) {
+                        throw new InvalidValueException(new ErrorMessage("errors.replication.configNull"));
+
+                }
+                if (replicationConfiguration.getCommunicationGraph() != null) {
+                        for (String s : replicationConfiguration.getCommunicationGraph().getNode()) {
+                                Node find = em.find(org.apache.juddi.model.Node.class, s);
+                                if (find == null) {
+                                        throw new InvalidValueException(new ErrorMessage("errors.replication.configNodeNotFound"));
+                                }
+                        }
+                        for (Edge s : replicationConfiguration.getCommunicationGraph().getEdge()) {
+                                Node find = em.find(org.apache.juddi.model.Node.class, s.getMessageReceiver());
+                                if (find == null) {
+                                        throw new InvalidValueException(new ErrorMessage("errors.replication.configNodeNotFound"));
+                                }
+                                find = null;
+                                find = em.find(org.apache.juddi.model.Node.class, s.getMessageSender());
+                                if (find == null) {
+                                        throw new InvalidValueException(new ErrorMessage("errors.replication.configNodeNotFound"));
+                                }
+                                for (String id : s.getMessageReceiverAlternate()) {
+                                        find = em.find(org.apache.juddi.model.Node.class, id);
+                                        if (find == null) {
+                                                throw new InvalidValueException(new ErrorMessage("errors.replication.configNodeNotFound"));
+                                        }
+                                }
+
+                        }
+                }
         }
 
 }

http://git-wip-us.apache.org/repos/asf/juddi/blob/a975954b/juddi-core/src/main/resources/messages.properties
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/resources/messages.properties b/juddi-core/src/main/resources/messages.properties
index 9665589..0a23c78 100644
--- a/juddi-core/src/main/resources/messages.properties
+++ b/juddi-core/src/main/resources/messages.properties
@@ -293,4 +293,4 @@ errors.replication.limitVectorNull=The high water mark vector limit specified Or
 errors.replication.limitVectorNoNode=No node name was specified
 errors.replication.configNodeNotFound=No specified node name is not currently registered as a node. Use the jUDDI Service API to register it. Node id: 
 errors.replication.configNull=No replication config was present in the message
-errors.deleteNode.InReplicationConfig=The node to be deleted is currently referenced in the replication configuration. You must revise the configuration before deleting the node, 
\ No newline at end of file
+errors.deleteNode.InReplicationConfig=The node to be deleted is currently referenced in the replication configuration. You must revise the configuration before deleting the node, 

http://git-wip-us.apache.org/repos/asf/juddi/blob/a975954b/juddi-core/src/test/java/org/apache/juddi/api/impl/API_160_ReplicationTest.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/test/java/org/apache/juddi/api/impl/API_160_ReplicationTest.java b/juddi-core/src/test/java/org/apache/juddi/api/impl/API_160_ReplicationTest.java
index d1719c2..f64512f 100644
--- a/juddi-core/src/test/java/org/apache/juddi/api/impl/API_160_ReplicationTest.java
+++ b/juddi-core/src/test/java/org/apache/juddi/api/impl/API_160_ReplicationTest.java
@@ -322,6 +322,26 @@ public class API_160_ReplicationTest {
                 Assert.assertNotNull(replicationNodes.getMaximumTimeToSyncRegistry());
                 Assert.assertNotNull(replicationNodes.getTimeOfConfigurationUpdate());
                 Assert.assertNotNull(replicationNodes.getSerialNumber());
+                long firstcommit = replicationNodes.getSerialNumber();
+                
+                
+                
+                 r = new ReplicationConfiguration();
+                r.setCommunicationGraph(new CommunicationGraph());
+              //  r.getCommunicationGraph().getEdge().add(new CommunicationGraph.Edge());
+                r.getCommunicationGraph().getNode().add("test_node");
+
+                 setReplicationNodes = juddi.setReplicationNodes(authInfoRoot, r);
+
+                 replicationNodes = juddi.getReplicationNodes(authInfoRoot);
+                Assert.assertNotNull(replicationNodes.getCommunicationGraph());
+                Assert.assertNotNull(replicationNodes.getCommunicationGraph().getNode());
+                Assert.assertEquals("test_node", replicationNodes.getCommunicationGraph().getNode().get(0));
+                Assert.assertNotNull(replicationNodes.getMaximumTimeToGetChanges());
+                Assert.assertNotNull(replicationNodes.getMaximumTimeToSyncRegistry());
+                Assert.assertNotNull(replicationNodes.getTimeOfConfigurationUpdate());
+                Assert.assertNotNull(replicationNodes.getSerialNumber());
+                Assert.assertTrue(firstcommit < replicationNodes.getSerialNumber());
 
         }
 }

http://git-wip-us.apache.org/repos/asf/juddi/blob/a975954b/juddi-core/src/test/resources/META-INF/persistence.xml
----------------------------------------------------------------------
diff --git a/juddi-core/src/test/resources/META-INF/persistence.xml b/juddi-core/src/test/resources/META-INF/persistence.xml
index afb2de7..adc4a7e 100644
--- a/juddi-core/src/test/resources/META-INF/persistence.xml
+++ b/juddi-core/src/test/resources/META-INF/persistence.xml
@@ -1,111 +1,101 @@
-<?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-unit name="juddiDatabase" transaction-type="RESOURCE_LOCAL">
-    <provider>org.hibernate.ejb.HibernatePersistence</provider>
-    
-    <!-- entity classes -->
-    <class>org.apache.juddi.model.Address</class>
-    <class>org.apache.juddi.model.AddressLine</class>
-    <class>org.apache.juddi.model.AuthToken</class>
-    <class>org.apache.juddi.model.BindingCategoryBag</class>
-    <class>org.apache.juddi.model.BindingDescr</class>
-    <class>org.apache.juddi.model.BindingTemplate</class>
-    <class>org.apache.juddi.model.BusinessCategoryBag</class>
-    <class>org.apache.juddi.model.BusinessDescr</class>
-    <class>org.apache.juddi.model.BusinessEntity</class>
-    <class>org.apache.juddi.model.BusinessIdentifier</class>
-    <class>org.apache.juddi.model.BusinessName</class>
-    <class>org.apache.juddi.model.BusinessService</class>
-    <class>org.apache.juddi.model.CanonicalizationMethod</class>
-    <class>org.apache.juddi.model.CategoryBag</class>
-    <class>org.apache.juddi.model.Clerk</class>
-    <class>org.apache.juddi.model.ClientSubscriptionInfo</class>
-    <class>org.apache.juddi.model.Contact</class>
-    <class>org.apache.juddi.model.ContactDescr</class>
-    <class>org.apache.juddi.model.DiscoveryUrl</class>
-    <class>org.apache.juddi.model.Email</class>
-    <class>org.apache.juddi.model.InstanceDetailsDescr</class>
-    <class>org.apache.juddi.model.InstanceDetailsDocDescr</class>
-    <class>org.apache.juddi.model.KeyedReference</class>
-    <class>org.apache.juddi.model.KeyedReferenceGroup</class>
-    <class>org.apache.juddi.model.KeyDataValue</class>
-    <class>org.apache.juddi.model.KeyInfo</class>
-    <class>org.apache.juddi.model.Node</class>
-    <class>org.apache.juddi.model.ObjectType</class>
-    <class>org.apache.juddi.model.ObjectTypeContent</class>
-    <class>org.apache.juddi.model.OverviewDoc</class>
-    <class>org.apache.juddi.model.OverviewDocDescr</class>
-    <class>org.apache.juddi.model.PersonName</class>
-    <class>org.apache.juddi.model.Phone</class>
-    <class>org.apache.juddi.model.Publisher</class>
-    <class>org.apache.juddi.model.PublisherAssertion</class>
-    <class>org.apache.juddi.model.PublisherAssertionId</class>
-    <class>org.apache.juddi.model.Reference</class>
-    <class>org.apache.juddi.model.ServiceCategoryBag</class>
-    <class>org.apache.juddi.model.ServiceDescr</class>
-    <class>org.apache.juddi.model.ServiceName</class>
-    <class>org.apache.juddi.model.ServiceProjection</class>
-    <class>org.apache.juddi.model.ServiceProjectionId</class>
-    <class>org.apache.juddi.model.Signature</class>
-    <class>org.apache.juddi.model.SignatureMethod</class>
-    <class>org.apache.juddi.model.SignatureTransform</class>
-    <class>org.apache.juddi.model.SignatureTransformDataValue</class>
-    <class>org.apache.juddi.model.SignatureValue</class>
-    <class>org.apache.juddi.model.SignedInfo</class>
-    <class>org.apache.juddi.model.Subscription</class>
-    <class>org.apache.juddi.model.SubscriptionChunkToken</class>
-    <class>org.apache.juddi.model.SubscriptionMatch</class>
-    <class>org.apache.juddi.model.TempKey</class>
-	<class>org.apache.juddi.model.TempKeyPK</class>
-    <class>org.apache.juddi.model.Tmodel</class>
-    <class>org.apache.juddi.model.TmodelCategoryBag</class>
-    <class>org.apache.juddi.model.TmodelDescr</class>
-    <class>org.apache.juddi.model.TmodelIdentifier</class>
-    <class>org.apache.juddi.model.TmodelInstanceInfo</class>
-    <class>org.apache.juddi.model.TmodelInstanceInfoDescr</class>
-    <class>org.apache.juddi.model.TransferToken</class>
-    <class>org.apache.juddi.model.TransferTokenKey</class>
-    <class>org.apache.juddi.model.UddiEntity</class>
-    <class>org.apache.juddi.model.UddiEntityPublisher</class>
-	<class>org.apache.juddi.model.ValueSetValues</class>
-
-	<class>org.apache.juddi.model.ChangeRecord</class>
-	<class>org.apache.juddi.model.CommunicationGraph</class>
-	<class>org.apache.juddi.model.Operator</class>
-	<class>org.apache.juddi.model.ReplicationConfiguration</class>
-	<class>org.apache.juddi.model.Edge</class>
-	<class>org.apache.juddi.model.ControlMessage</class>
-	<class>org.apache.juddi.model.ReplicationMessage</class>
-    
-    <properties>
-      <property name="hibernate.archive.autodetection" value="class"/>
-      <property name="hibernate.hbm2ddl.auto" value="update"/>
-      <property name="hibernate.show_sql" value="false"/>
-
-      <!-- derby connection properties -->
-      <property name="hibernate.dialect" value="org.hibernate.dialect.DerbyDialect"/>
-      <property name="hibernate.connection.driver_class" value="org.apache.derby.jdbc.EmbeddedDriver"/>
-      <property name="hibernate.connection.url" value="jdbc:derby:memory:juddi-derby-test-db;create=true"/>
-      <property name="hibernate.connection.username" value=""/>
-      <property name="hibernate.connection.password" value=""/>
-
- 	  <!--  mysql connection properties 
-
-      <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
-      <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" />
-      <property name="hibernate.connection.username" value="juddiv3" />
-      <property name="hibernate.connection.password" value="" />
-      <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/juddiv3" />
--->
-      
-      <!-- connection pool properties -->
-      <property name="hibernate.dbcp.maxActive" value="100"/>
-      <property name="hibernate.dbcp.maxIdle" value="30"/>
-      <property name="hibernate.dbcp.maxWait" value="10000"/>
-      
-    </properties>
-  </persistence-unit>
-</persistence>
+<?xml version="1.0" encoding="UTF-8"?>
+<persistence version="1.0" 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">
+  <persistence-unit name="juddiDatabase" transaction-type="RESOURCE_LOCAL">
+    <provider>org.hibernate.ejb.HibernatePersistence</provider>
+    <!-- entity classes -->
+    <class>org.apache.juddi.model.Address</class>
+    <class>org.apache.juddi.model.AddressLine</class>
+    <class>org.apache.juddi.model.AuthToken</class>
+    <class>org.apache.juddi.model.BindingCategoryBag</class>
+    <class>org.apache.juddi.model.BindingDescr</class>
+    <class>org.apache.juddi.model.BindingTemplate</class>
+    <class>org.apache.juddi.model.BusinessCategoryBag</class>
+    <class>org.apache.juddi.model.BusinessDescr</class>
+    <class>org.apache.juddi.model.BusinessEntity</class>
+    <class>org.apache.juddi.model.BusinessIdentifier</class>
+    <class>org.apache.juddi.model.BusinessName</class>
+    <class>org.apache.juddi.model.BusinessService</class>
+    <class>org.apache.juddi.model.CanonicalizationMethod</class>
+    <class>org.apache.juddi.model.CategoryBag</class>
+    <class>org.apache.juddi.model.Clerk</class>
+    <class>org.apache.juddi.model.ClientSubscriptionInfo</class>
+    <class>org.apache.juddi.model.Contact</class>
+    <class>org.apache.juddi.model.ContactDescr</class>
+    <class>org.apache.juddi.model.DiscoveryUrl</class>
+    <class>org.apache.juddi.model.Email</class>
+    <class>org.apache.juddi.model.InstanceDetailsDescr</class>
+    <class>org.apache.juddi.model.InstanceDetailsDocDescr</class>
+    <class>org.apache.juddi.model.KeyedReference</class>
+    <class>org.apache.juddi.model.KeyedReferenceGroup</class>
+    <class>org.apache.juddi.model.KeyDataValue</class>
+    <class>org.apache.juddi.model.KeyInfo</class>
+    <class>org.apache.juddi.model.Node</class>
+    <class>org.apache.juddi.model.ObjectType</class>
+    <class>org.apache.juddi.model.ObjectTypeContent</class>
+    <class>org.apache.juddi.model.OverviewDoc</class>
+    <class>org.apache.juddi.model.OverviewDocDescr</class>
+    <class>org.apache.juddi.model.PersonName</class>
+    <class>org.apache.juddi.model.Phone</class>
+    <class>org.apache.juddi.model.Publisher</class>
+    <class>org.apache.juddi.model.PublisherAssertion</class>
+    <class>org.apache.juddi.model.PublisherAssertionId</class>
+    <class>org.apache.juddi.model.Reference</class>
+    <class>org.apache.juddi.model.ServiceCategoryBag</class>
+    <class>org.apache.juddi.model.ServiceDescr</class>
+    <class>org.apache.juddi.model.ServiceName</class>
+    <class>org.apache.juddi.model.ServiceProjection</class>
+    <class>org.apache.juddi.model.ServiceProjectionId</class>
+    <class>org.apache.juddi.model.Signature</class>
+    <class>org.apache.juddi.model.SignatureMethod</class>
+    <class>org.apache.juddi.model.SignatureTransform</class>
+    <class>org.apache.juddi.model.SignatureTransformDataValue</class>
+    <class>org.apache.juddi.model.SignatureValue</class>
+    <class>org.apache.juddi.model.SignedInfo</class>
+    <class>org.apache.juddi.model.Subscription</class>
+    <class>org.apache.juddi.model.SubscriptionChunkToken</class>
+    <class>org.apache.juddi.model.SubscriptionMatch</class>
+    <class>org.apache.juddi.model.TempKey</class>
+    <class>org.apache.juddi.model.TempKeyPK</class>
+    <class>org.apache.juddi.model.Tmodel</class>
+    <class>org.apache.juddi.model.TmodelCategoryBag</class>
+    <class>org.apache.juddi.model.TmodelDescr</class>
+    <class>org.apache.juddi.model.TmodelIdentifier</class>
+    <class>org.apache.juddi.model.TmodelInstanceInfo</class>
+    <class>org.apache.juddi.model.TmodelInstanceInfoDescr</class>
+    <class>org.apache.juddi.model.TransferToken</class>
+    <class>org.apache.juddi.model.TransferTokenKey</class>
+    <class>org.apache.juddi.model.UddiEntity</class>
+    <class>org.apache.juddi.model.UddiEntityPublisher</class>
+    <class>org.apache.juddi.model.ValueSetValues</class>
+    <class>org.apache.juddi.model.ChangeRecord</class>
+    <class>org.apache.juddi.model.CommunicationGraph</class>
+    <class>org.apache.juddi.model.Operator</class>
+    <class>org.apache.juddi.model.ReplicationConfiguration</class>
+    <class>org.apache.juddi.model.Edge</class>
+    <class>org.apache.juddi.model.ControlMessage</class>
+    <properties>
+      <property name="hibernate.archive.autodetection" value="class"/>
+      <property name="hibernate.hbm2ddl.auto" value="update"/>
+      <property name="hibernate.show_sql" value="false"/>
+      <!-- derby connection properties -->
+      <property name="hibernate.dialect" value="org.hibernate.dialect.DerbyDialect"/>
+      <property name="hibernate.connection.driver_class" value="org.apache.derby.jdbc.EmbeddedDriver"/>
+      <property name="hibernate.connection.url" value="jdbc:derby:memory:juddi-derby-test-db;create=true"/>
+      <property name="hibernate.connection.username" value=""/>
+      <property name="hibernate.connection.password" value=""/>
+      <!--  mysql connection properties 
+
+      <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
+      <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" />
+      <property name="hibernate.connection.username" value="juddiv3" />
+      <property name="hibernate.connection.password" value="" />
+      <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/juddiv3" />
+-->
+      <!-- connection pool properties -->
+      <!--<property name = "hibernate.show_sql" value = "true" />-->
+      <property name="hibernate.dbcp.maxActive" value="100"/>
+      <property name="hibernate.dbcp.maxIdle" value="30"/>
+      <property name="hibernate.dbcp.maxWait" value="10000"/>
+    </properties>
+  </persistence-unit>
+</persistence>


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@juddi.apache.org
For additional commands, e-mail: commits-help@juddi.apache.org