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:37 UTC

[16/28] juddi git commit: JUDDI-241 get/set replication cfg now works for all sub elements. notify changes works, however getChangeRecords fails when called from within the tomcat container.

http://git-wip-us.apache.org/repos/asf/juddi/blob/22a846dd/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 b42cf81..83a1492 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
@@ -38,6 +38,7 @@ import org.apache.juddi.model.CanonicalizationMethod;
 import org.apache.juddi.model.Contact;
 import org.apache.juddi.model.ControlMessage;
 import org.apache.juddi.model.Edge;
+import org.apache.juddi.model.EdgeReceiverAlternate;
 import org.apache.juddi.model.KeyDataValue;
 import org.apache.juddi.model.KeyInfo;
 import org.apache.juddi.model.Node;
@@ -45,6 +46,7 @@ import org.apache.juddi.model.Operator;
 import org.apache.juddi.model.OperatorStatusType;
 import org.apache.juddi.model.Publisher;
 import org.apache.juddi.model.Reference;
+import org.apache.juddi.model.ReplicationConfigurationNode;
 import org.apache.juddi.model.Signature;
 import org.apache.juddi.model.SignatureMethod;
 import org.apache.juddi.model.SignatureTransform;
@@ -102,8 +104,8 @@ public class MappingApiToModel {
          * @throws DispositionReportFaultMessage
          */
         public static void mapPublisher(org.apache.juddi.api_v3.Publisher apiPublisher,
-             org.apache.juddi.model.Publisher modelPublisher)
-             throws DispositionReportFaultMessage {
+                org.apache.juddi.model.Publisher modelPublisher)
+                throws DispositionReportFaultMessage {
                 modelPublisher.setAuthorizedName(apiPublisher.getAuthorizedName());
                 modelPublisher.setPublisherName(apiPublisher.getPublisherName());
                 modelPublisher.setEmailAddress(apiPublisher.getEmailAddress());
@@ -123,8 +125,8 @@ public class MappingApiToModel {
          * @throws DispositionReportFaultMessage
          */
         public static void mapBusinessEntity(org.uddi.api_v3.BusinessEntity apiBusinessEntity,
-             org.apache.juddi.model.BusinessEntity modelBusinessEntity)
-             throws DispositionReportFaultMessage {
+                org.apache.juddi.model.BusinessEntity modelBusinessEntity)
+                throws DispositionReportFaultMessage {
 
                 modelBusinessEntity.setEntityKey(apiBusinessEntity.getBusinessKey());
 
@@ -139,15 +141,15 @@ public class MappingApiToModel {
                 }
 
                 mapBusinessServices(apiBusinessEntity.getBusinessServices(),
-                     modelBusinessEntity.getBusinessServices(),
-                     modelBusinessEntity.getServiceProjections(),
-                     modelBusinessEntity);
+                        modelBusinessEntity.getBusinessServices(),
+                        modelBusinessEntity.getServiceProjections(),
+                        modelBusinessEntity);
 
                 mapBusinessSignature(apiBusinessEntity.getSignature(), modelBusinessEntity);
         }
 
         private static List<Signature> mapApiSignaturesToModelSignatures(List<org.w3._2000._09.xmldsig_.SignatureType> apiSignatures)
-             throws DispositionReportFaultMessage {
+                throws DispositionReportFaultMessage {
                 List<Signature> modelSignatures = new ArrayList<Signature>();
                 modelSignatures.clear();
                 for (org.w3._2000._09.xmldsig_.SignatureType signatureType : apiSignatures) {
@@ -243,7 +245,7 @@ public class MappingApiToModel {
          * @throws DispositionReportFaultMessage
          */
         public static void mapBusinessServiceSignature(List<org.w3._2000._09.xmldsig_.SignatureType> apiSignatures, BusinessService modelBusinessService)
-             throws DispositionReportFaultMessage {
+                throws DispositionReportFaultMessage {
                 List<Signature> modelSignatures = mapApiSignaturesToModelSignatures(apiSignatures);
                 for (Signature modelSignature : modelSignatures) {
                         modelSignature.setBusinessService(modelBusinessService);
@@ -258,7 +260,7 @@ public class MappingApiToModel {
          * @throws DispositionReportFaultMessage
          */
         public static void mapTmodelSignatures(List<org.w3._2000._09.xmldsig_.SignatureType> apiSignatures, Tmodel modelTmodel)
-             throws DispositionReportFaultMessage {
+                throws DispositionReportFaultMessage {
                 List<Signature> modelSignatures = mapApiSignaturesToModelSignatures(apiSignatures);
                 for (Signature modelSignature : modelSignatures) {
                         modelSignature.setTmodel(modelTmodel);
@@ -273,7 +275,7 @@ public class MappingApiToModel {
          * @throws DispositionReportFaultMessage
          */
         public static void mapBindingTemplateSignatures(List<org.w3._2000._09.xmldsig_.SignatureType> apiSignatures, BindingTemplate modelBindingTemplate)
-             throws DispositionReportFaultMessage {
+                throws DispositionReportFaultMessage {
                 List<Signature> modelSignatures = mapApiSignaturesToModelSignatures(apiSignatures);
                 for (Signature modelSignature : modelSignatures) {
                         modelSignature.setBindingTemplate(modelBindingTemplate);
@@ -288,7 +290,7 @@ public class MappingApiToModel {
          * @throws DispositionReportFaultMessage
          */
         public static void mapPublisherSignatures(List<org.w3._2000._09.xmldsig_.SignatureType> apiSignatures, Publisher modelPublisher)
-             throws DispositionReportFaultMessage {
+                throws DispositionReportFaultMessage {
                 List<Signature> modelSignatures = mapApiSignaturesToModelSignatures(apiSignatures);
                 for (Signature modelSignature : modelSignatures) {
                         modelSignature.setPublisher(modelPublisher);
@@ -303,8 +305,8 @@ public class MappingApiToModel {
          * @throws DispositionReportFaultMessage
          */
         public static void mapBusinessSignature(List<org.w3._2000._09.xmldsig_.SignatureType> apiSignatures,
-             org.apache.juddi.model.BusinessEntity modelBusinessEntity)
-             throws DispositionReportFaultMessage {
+                org.apache.juddi.model.BusinessEntity modelBusinessEntity)
+                throws DispositionReportFaultMessage {
                 List<Signature> modelSignatures = mapApiSignaturesToModelSignatures(apiSignatures);
                 for (Signature modelSignature : modelSignatures) {
                         modelSignature.setBusinessEntity(modelBusinessEntity);
@@ -320,9 +322,9 @@ public class MappingApiToModel {
          * @throws DispositionReportFaultMessage
          */
         public static void mapBusinessNames(List<org.uddi.api_v3.Name> apiNameList,
-             List<org.apache.juddi.model.BusinessName> modelNameList,
-             org.apache.juddi.model.BusinessEntity modelBusinessEntity)
-             throws DispositionReportFaultMessage {
+                List<org.apache.juddi.model.BusinessName> modelNameList,
+                org.apache.juddi.model.BusinessEntity modelBusinessEntity)
+                throws DispositionReportFaultMessage {
                 modelNameList.clear();
 
                 for (org.uddi.api_v3.Name apiName : apiNameList) {
@@ -338,9 +340,9 @@ public class MappingApiToModel {
          * @throws DispositionReportFaultMessage
          */
         public static void mapBusinessDescriptions(List<org.uddi.api_v3.Description> apiDescList,
-             List<org.apache.juddi.model.BusinessDescr> modelDescList,
-             org.apache.juddi.model.BusinessEntity modelBusinessEntity)
-             throws DispositionReportFaultMessage {
+                List<org.apache.juddi.model.BusinessDescr> modelDescList,
+                org.apache.juddi.model.BusinessEntity modelBusinessEntity)
+                throws DispositionReportFaultMessage {
                 modelDescList.clear();
 
                 for (org.uddi.api_v3.Description apiDesc : apiDescList) {
@@ -356,9 +358,9 @@ public class MappingApiToModel {
          * @throws DispositionReportFaultMessage
          */
         public static void mapDiscoveryUrls(org.uddi.api_v3.DiscoveryURLs apiDiscUrls,
-             List<org.apache.juddi.model.DiscoveryUrl> modelDiscUrlList,
-             org.apache.juddi.model.BusinessEntity modelBusinessEntity)
-             throws DispositionReportFaultMessage {
+                List<org.apache.juddi.model.DiscoveryUrl> modelDiscUrlList,
+                org.apache.juddi.model.BusinessEntity modelBusinessEntity)
+                throws DispositionReportFaultMessage {
                 modelDiscUrlList.clear();
 
                 if (apiDiscUrls != null) {
@@ -377,9 +379,9 @@ public class MappingApiToModel {
          * @throws DispositionReportFaultMessage
          */
         public static void mapContacts(org.uddi.api_v3.Contacts apiContacts,
-             List<org.apache.juddi.model.Contact> modelContactList,
-             org.apache.juddi.model.BusinessEntity modelBusinessEntity)
-             throws DispositionReportFaultMessage {
+                List<org.apache.juddi.model.Contact> modelContactList,
+                org.apache.juddi.model.BusinessEntity modelBusinessEntity)
+                throws DispositionReportFaultMessage {
                 modelContactList.clear();
 
                 if (apiContacts != null) {
@@ -408,10 +410,10 @@ public class MappingApiToModel {
          * @throws DispositionReportFaultMessage
          */
         public static void mapContactDescriptions(List<org.uddi.api_v3.Description> apiDescList,
-             List<org.apache.juddi.model.ContactDescr> modelDescList,
-             org.apache.juddi.model.Contact modelContact,
-             String businessKey)
-             throws DispositionReportFaultMessage {
+                List<org.apache.juddi.model.ContactDescr> modelDescList,
+                org.apache.juddi.model.Contact modelContact,
+                String businessKey)
+                throws DispositionReportFaultMessage {
                 modelDescList.clear();
 
                 for (org.uddi.api_v3.Description apiDesc : apiDescList) {
@@ -428,10 +430,10 @@ public class MappingApiToModel {
          * @throws DispositionReportFaultMessage
          */
         public static void mapPersonNames(List<org.uddi.api_v3.PersonName> apiPersonNameList,
-             List<org.apache.juddi.model.PersonName> modelPersonNameList,
-             org.apache.juddi.model.Contact modelContact,
-             String businessKey)
-             throws DispositionReportFaultMessage {
+                List<org.apache.juddi.model.PersonName> modelPersonNameList,
+                org.apache.juddi.model.Contact modelContact,
+                String businessKey)
+                throws DispositionReportFaultMessage {
                 modelPersonNameList.clear();
 
                 for (org.uddi.api_v3.PersonName apiPersonName : apiPersonNameList) {
@@ -448,10 +450,10 @@ public class MappingApiToModel {
          * @throws DispositionReportFaultMessage
          */
         public static void mapContactEmails(List<org.uddi.api_v3.Email> apiEmailList,
-             List<org.apache.juddi.model.Email> modelEmailList,
-             org.apache.juddi.model.Contact modelContact,
-             String businessKey)
-             throws DispositionReportFaultMessage {
+                List<org.apache.juddi.model.Email> modelEmailList,
+                org.apache.juddi.model.Contact modelContact,
+                String businessKey)
+                throws DispositionReportFaultMessage {
                 modelEmailList.clear();
 
                 for (org.uddi.api_v3.Email apiEmail : apiEmailList) {
@@ -468,10 +470,10 @@ public class MappingApiToModel {
          * @throws DispositionReportFaultMessage
          */
         public static void mapContactPhones(List<org.uddi.api_v3.Phone> apiPhoneList,
-             List<org.apache.juddi.model.Phone> modelPhoneList,
-             org.apache.juddi.model.Contact modelContact,
-             String businessKey)
-             throws DispositionReportFaultMessage {
+                List<org.apache.juddi.model.Phone> modelPhoneList,
+                org.apache.juddi.model.Contact modelContact,
+                String businessKey)
+                throws DispositionReportFaultMessage {
                 modelPhoneList.clear();
 
                 for (org.uddi.api_v3.Phone apiPhone : apiPhoneList) {
@@ -488,10 +490,10 @@ public class MappingApiToModel {
          * @throws DispositionReportFaultMessage
          */
         public static void mapContactAddresses(List<org.uddi.api_v3.Address> apiAddressList,
-             List<org.apache.juddi.model.Address> modelAddressList,
-             org.apache.juddi.model.Contact modelContact
+                List<org.apache.juddi.model.Address> modelAddressList,
+                org.apache.juddi.model.Contact modelContact
         )
-             throws DispositionReportFaultMessage {
+                throws DispositionReportFaultMessage {
                 modelAddressList.clear();
 
                 for (org.uddi.api_v3.Address apiAddress : apiAddressList) {
@@ -516,10 +518,10 @@ public class MappingApiToModel {
          * @throws DispositionReportFaultMessage
          */
         public static void mapAddressLines(List<org.uddi.api_v3.AddressLine> apiAddressLineList,
-             List<org.apache.juddi.model.AddressLine> modelAddressLineList,
-             org.apache.juddi.model.Address modelAddress,
-             Long contactId)
-             throws DispositionReportFaultMessage {
+                List<org.apache.juddi.model.AddressLine> modelAddressLineList,
+                org.apache.juddi.model.Address modelAddress,
+                Long contactId)
+                throws DispositionReportFaultMessage {
                 modelAddressLineList.clear();
 
                 for (org.uddi.api_v3.AddressLine apiAddressLine : apiAddressLineList) {
@@ -535,9 +537,9 @@ public class MappingApiToModel {
          * @throws DispositionReportFaultMessage
          */
         public static void mapBusinessIdentifiers(org.uddi.api_v3.IdentifierBag apiIdentifierBag,
-             List<org.apache.juddi.model.BusinessIdentifier> modelIdentifierList,
-             org.apache.juddi.model.BusinessEntity modelBusinessEntity)
-             throws DispositionReportFaultMessage {
+                List<org.apache.juddi.model.BusinessIdentifier> modelIdentifierList,
+                org.apache.juddi.model.BusinessEntity modelBusinessEntity)
+                throws DispositionReportFaultMessage {
                 modelIdentifierList.clear();
 
                 if (apiIdentifierBag != null) {
@@ -557,10 +559,10 @@ public class MappingApiToModel {
          * @throws DispositionReportFaultMessage
          */
         public static void mapBusinessServices(org.uddi.api_v3.BusinessServices apiBusinessServices,
-             List<org.apache.juddi.model.BusinessService> modelBusinessServiceList,
-             List<org.apache.juddi.model.ServiceProjection> modelServiceProjectionList,
-             org.apache.juddi.model.BusinessEntity modelBusinessEntity)
-             throws DispositionReportFaultMessage {
+                List<org.apache.juddi.model.BusinessService> modelBusinessServiceList,
+                List<org.apache.juddi.model.ServiceProjection> modelServiceProjectionList,
+                org.apache.juddi.model.BusinessEntity modelBusinessEntity)
+                throws DispositionReportFaultMessage {
                 modelBusinessServiceList.clear();
                 if (apiBusinessServices != null) {
                         List<org.uddi.api_v3.BusinessService> apiBusinessServiceList = apiBusinessServices.getBusinessService();
@@ -569,7 +571,7 @@ public class MappingApiToModel {
 
                                 // If the parent businessEntity key and the service businessEntity key (if provided) do not match, it's a projection.
                                 if (apiBusinessService.getBusinessKey() != null && apiBusinessService.getBusinessKey().length() > 0
-                                     && !modelBusinessEntity.getEntityKey().equalsIgnoreCase(apiBusinessService.getBusinessKey())) {
+                                        && !modelBusinessEntity.getEntityKey().equalsIgnoreCase(apiBusinessService.getBusinessKey())) {
 
                                         modelBusinessService.setEntityKey(apiBusinessService.getServiceKey());
                                         org.apache.juddi.model.ServiceProjection modelServiceProjection = new org.apache.juddi.model.ServiceProjection(modelBusinessEntity, modelBusinessService);
@@ -591,9 +593,9 @@ public class MappingApiToModel {
          * @throws DispositionReportFaultMessage
          */
         public static void mapBusinessService(org.uddi.api_v3.BusinessService apiBusinessService,
-             org.apache.juddi.model.BusinessService modelBusinessService,
-             org.apache.juddi.model.BusinessEntity modelBusinessEntity)
-             throws DispositionReportFaultMessage {
+                org.apache.juddi.model.BusinessService modelBusinessService,
+                org.apache.juddi.model.BusinessEntity modelBusinessEntity)
+                throws DispositionReportFaultMessage {
 
                 modelBusinessService.setBusinessEntity(modelBusinessEntity);
                 modelBusinessService.setEntityKey(apiBusinessService.getServiceKey());
@@ -617,9 +619,9 @@ public class MappingApiToModel {
          * @throws DispositionReportFaultMessage
          */
         public static void mapServiceNames(List<org.uddi.api_v3.Name> apiNameList,
-             List<org.apache.juddi.model.ServiceName> modelNameList,
-             org.apache.juddi.model.BusinessService modelBusinessService)
-             throws DispositionReportFaultMessage {
+                List<org.apache.juddi.model.ServiceName> modelNameList,
+                org.apache.juddi.model.BusinessService modelBusinessService)
+                throws DispositionReportFaultMessage {
                 modelNameList.clear();
 
                 for (org.uddi.api_v3.Name apiName : apiNameList) {
@@ -635,9 +637,9 @@ public class MappingApiToModel {
          * @throws DispositionReportFaultMessage
          */
         public static void mapServiceDescriptions(List<org.uddi.api_v3.Description> apiDescList,
-             List<org.apache.juddi.model.ServiceDescr> modelDescList,
-             org.apache.juddi.model.BusinessService modelBusinessService)
-             throws DispositionReportFaultMessage {
+                List<org.apache.juddi.model.ServiceDescr> modelDescList,
+                org.apache.juddi.model.BusinessService modelBusinessService)
+                throws DispositionReportFaultMessage {
                 modelDescList.clear();
 
                 for (org.uddi.api_v3.Description apiDesc : apiDescList) {
@@ -653,9 +655,9 @@ public class MappingApiToModel {
          * @throws DispositionReportFaultMessage
          */
         public static void mapBindingTemplates(org.uddi.api_v3.BindingTemplates apiBindingTemplates,
-             List<org.apache.juddi.model.BindingTemplate> modelBindingTemplateList,
-             org.apache.juddi.model.BusinessService modelBusinessService)
-             throws DispositionReportFaultMessage {
+                List<org.apache.juddi.model.BindingTemplate> modelBindingTemplateList,
+                org.apache.juddi.model.BusinessService modelBusinessService)
+                throws DispositionReportFaultMessage {
                 modelBindingTemplateList.clear();
 
                 if (apiBindingTemplates != null) {
@@ -678,9 +680,9 @@ public class MappingApiToModel {
          * @throws DispositionReportFaultMessage
          */
         public static void mapBindingTemplate(org.uddi.api_v3.BindingTemplate apiBindingTemplate,
-             org.apache.juddi.model.BindingTemplate modelBindingTemplate,
-             org.apache.juddi.model.BusinessService modelBusinessService)
-             throws DispositionReportFaultMessage {
+                org.apache.juddi.model.BindingTemplate modelBindingTemplate,
+                org.apache.juddi.model.BusinessService modelBusinessService)
+                throws DispositionReportFaultMessage {
 
                 modelBindingTemplate.setBusinessService(modelBusinessService);
                 modelBindingTemplate.setEntityKey(apiBindingTemplate.getBindingKey());
@@ -709,9 +711,9 @@ public class MappingApiToModel {
          * @throws DispositionReportFaultMessage
          */
         public static void mapBindingDescriptions(List<org.uddi.api_v3.Description> apiDescList,
-             List<org.apache.juddi.model.BindingDescr> modelDescList,
-             org.apache.juddi.model.BindingTemplate modelBindingTemplate)
-             throws DispositionReportFaultMessage {
+                List<org.apache.juddi.model.BindingDescr> modelDescList,
+                org.apache.juddi.model.BindingTemplate modelBindingTemplate)
+                throws DispositionReportFaultMessage {
                 modelDescList.clear();
                 for (org.uddi.api_v3.Description apiDesc : apiDescList) {
                         modelDescList.add(new org.apache.juddi.model.BindingDescr(modelBindingTemplate, apiDesc.getLang(), apiDesc.getValue()));
@@ -725,8 +727,8 @@ public class MappingApiToModel {
          * @throws DispositionReportFaultMessage
          */
         public static void mapCategoryBag(org.uddi.api_v3.CategoryBag apiCategoryBag,
-             org.apache.juddi.model.CategoryBag modelCategoryBag)
-             throws DispositionReportFaultMessage {
+                org.apache.juddi.model.CategoryBag modelCategoryBag)
+                throws DispositionReportFaultMessage {
 
                 if (apiCategoryBag != null) {
                         List<org.uddi.api_v3.KeyedReference> krList = apiCategoryBag.getKeyedReference();
@@ -736,7 +738,7 @@ public class MappingApiToModel {
                                         //modelKeyedReferences.clear();
                                         org.uddi.api_v3.KeyedReference apiKeyedReference = (org.uddi.api_v3.KeyedReference) elem;
                                         modelKeyedReferences.add(new org.apache.juddi.model.KeyedReference(modelCategoryBag,
-                                             apiKeyedReference.getTModelKey(), apiKeyedReference.getKeyName(), apiKeyedReference.getKeyValue()));
+                                                apiKeyedReference.getTModelKey(), apiKeyedReference.getKeyName(), apiKeyedReference.getKeyValue()));
                                 }
                         }
                         List<org.uddi.api_v3.KeyedReferenceGroup> krgList = apiCategoryBag.getKeyedReferenceGroup();
@@ -764,9 +766,9 @@ public class MappingApiToModel {
          * @throws DispositionReportFaultMessage
          */
         public static void mapKeyedReferenceGroup(org.uddi.api_v3.KeyedReferenceGroup apiKeyedReferenceGroup,
-             org.apache.juddi.model.KeyedReferenceGroup modelKeyedReferenceGroup,
-             org.apache.juddi.model.CategoryBag modelCategoryBag)
-             throws DispositionReportFaultMessage {
+                org.apache.juddi.model.KeyedReferenceGroup modelKeyedReferenceGroup,
+                org.apache.juddi.model.CategoryBag modelCategoryBag)
+                throws DispositionReportFaultMessage {
                 if (apiKeyedReferenceGroup != null) {
                         modelKeyedReferenceGroup.setCategoryBag(modelCategoryBag);
                         modelKeyedReferenceGroup.setTmodelKey(apiKeyedReferenceGroup.getTModelKey());
@@ -775,7 +777,7 @@ public class MappingApiToModel {
                                 List<org.apache.juddi.model.KeyedReference> modelKeyedReferences = modelKeyedReferenceGroup.getKeyedReferences();
                                 for (org.uddi.api_v3.KeyedReference apiKeyedReference : apiKeyedReferenceGroup.getKeyedReference()) {
                                         modelKeyedReferences.add(new org.apache.juddi.model.KeyedReference(modelKeyedReferenceGroup,
-                                             apiKeyedReference.getTModelKey(), apiKeyedReference.getKeyName(), apiKeyedReference.getKeyValue()));
+                                                apiKeyedReference.getTModelKey(), apiKeyedReference.getKeyName(), apiKeyedReference.getKeyValue()));
                                 }
                         }
 
@@ -791,9 +793,9 @@ public class MappingApiToModel {
          * @throws DispositionReportFaultMessage
          */
         public static void mapTModelInstanceDetails(org.uddi.api_v3.TModelInstanceDetails apiTModelInstDetails,
-             List<org.apache.juddi.model.TmodelInstanceInfo> modelTModelInstInfoList,
-             org.apache.juddi.model.BindingTemplate modelBindingTemplate)
-             throws DispositionReportFaultMessage {
+                List<org.apache.juddi.model.TmodelInstanceInfo> modelTModelInstInfoList,
+                org.apache.juddi.model.BindingTemplate modelBindingTemplate)
+                throws DispositionReportFaultMessage {
                 modelTModelInstInfoList.clear();
 
                 if (apiTModelInstDetails != null) {
@@ -817,9 +819,9 @@ public class MappingApiToModel {
          * @throws DispositionReportFaultMessage
          */
         public static void mapTModelInstanceInfoDescriptions(List<org.uddi.api_v3.Description> apiDescList,
-             List<org.apache.juddi.model.TmodelInstanceInfoDescr> modelDescList,
-             org.apache.juddi.model.TmodelInstanceInfo modelTModelInstInfo)
-             throws DispositionReportFaultMessage {
+                List<org.apache.juddi.model.TmodelInstanceInfoDescr> modelDescList,
+                org.apache.juddi.model.TmodelInstanceInfo modelTModelInstInfo)
+                throws DispositionReportFaultMessage {
                 modelDescList.clear();
 
                 for (org.uddi.api_v3.Description apiDesc : apiDescList) {
@@ -834,8 +836,8 @@ public class MappingApiToModel {
          * @throws DispositionReportFaultMessage
          */
         public static void mapInstanceDetails(org.uddi.api_v3.InstanceDetails apiInstanceDetails,
-             org.apache.juddi.model.TmodelInstanceInfo modelTmodelInstInfo)
-             throws DispositionReportFaultMessage {
+                org.apache.juddi.model.TmodelInstanceInfo modelTmodelInstInfo)
+                throws DispositionReportFaultMessage {
                 modelTmodelInstInfo.getInstanceDetailsDescrs().clear();
 
                 if (apiInstanceDetails != null) {
@@ -843,8 +845,8 @@ public class MappingApiToModel {
                         List<org.uddi.api_v3.OverviewDoc> overviewdocs = apiInstanceDetails.getOverviewDoc();
                         for (org.uddi.api_v3.Description apiDesc : descriptions) {
                                 org.apache.juddi.model.InstanceDetailsDescr modelInstanceDetailsDescr
-                                     = new org.apache.juddi.model.InstanceDetailsDescr(
-                                          modelTmodelInstInfo, apiDesc.getLang(), apiDesc.getValue());
+                                        = new org.apache.juddi.model.InstanceDetailsDescr(
+                                                modelTmodelInstInfo, apiDesc.getLang(), apiDesc.getValue());
                                 modelTmodelInstInfo.getInstanceDetailsDescrs().add(modelInstanceDetailsDescr);
                         }
                         for (org.uddi.api_v3.OverviewDoc apiOverviewDoc : overviewdocs) {
@@ -863,8 +865,8 @@ public class MappingApiToModel {
          * @throws DispositionReportFaultMessage
          */
         public static void mapOverviewDoc(org.uddi.api_v3.OverviewDoc apiOverviewDoc,
-             org.apache.juddi.model.OverviewDoc modelOverviewDoc)
-             throws DispositionReportFaultMessage {
+                org.apache.juddi.model.OverviewDoc modelOverviewDoc)
+                throws DispositionReportFaultMessage {
                 if (apiOverviewDoc != null) {
 
                         List<Description> descContent = apiOverviewDoc.getDescription();
@@ -872,7 +874,7 @@ public class MappingApiToModel {
                                 org.uddi.api_v3.Description description = (org.uddi.api_v3.Description) elem;
                                 if (description != null) {
                                         org.apache.juddi.model.OverviewDocDescr modelOverviewDocDescr = new org.apache.juddi.model.OverviewDocDescr(
-                                             modelOverviewDoc, description.getLang(), description.getValue());
+                                                modelOverviewDoc, description.getLang(), description.getValue());
                                         modelOverviewDoc.getOverviewDocDescrs().add(modelOverviewDocDescr);
                                 }
                         }
@@ -894,8 +896,8 @@ public class MappingApiToModel {
          * @throws DispositionReportFaultMessage
          */
         public static void mapTModel(org.uddi.api_v3.TModel apiTModel,
-             org.apache.juddi.model.Tmodel modelTModel)
-             throws DispositionReportFaultMessage {
+                org.apache.juddi.model.Tmodel modelTModel)
+                throws DispositionReportFaultMessage {
 
                 modelTModel.setEntityKey(apiTModel.getTModelKey());
                 modelTModel.setName(apiTModel.getName().getValue());
@@ -920,9 +922,9 @@ public class MappingApiToModel {
          * @throws DispositionReportFaultMessage
          */
         public static void mapTModelDescriptions(List<org.uddi.api_v3.Description> apiDescList,
-             List<org.apache.juddi.model.TmodelDescr> modelDescList,
-             org.apache.juddi.model.Tmodel modelTModel)
-             throws DispositionReportFaultMessage {
+                List<org.apache.juddi.model.TmodelDescr> modelDescList,
+                org.apache.juddi.model.Tmodel modelTModel)
+                throws DispositionReportFaultMessage {
                 modelDescList.clear();
 
                 for (org.uddi.api_v3.Description apiDesc : apiDescList) {
@@ -938,9 +940,9 @@ public class MappingApiToModel {
          * @throws DispositionReportFaultMessage
          */
         public static void mapTModelIdentifiers(org.uddi.api_v3.IdentifierBag apiIdentifierBag,
-             List<org.apache.juddi.model.TmodelIdentifier> modelIdentifierList,
-             org.apache.juddi.model.Tmodel modelTModel)
-             throws DispositionReportFaultMessage {
+                List<org.apache.juddi.model.TmodelIdentifier> modelIdentifierList,
+                org.apache.juddi.model.Tmodel modelTModel)
+                throws DispositionReportFaultMessage {
                 modelIdentifierList.clear();
 
                 if (apiIdentifierBag != null) {
@@ -959,9 +961,9 @@ public class MappingApiToModel {
          * @throws DispositionReportFaultMessage
          */
         public static void mapTModelOverviewDocs(List<org.uddi.api_v3.OverviewDoc> apiOverviewDocList,
-             List<org.apache.juddi.model.OverviewDoc> modelOverviewDocList,
-             org.apache.juddi.model.Tmodel modelTmodel)
-             throws DispositionReportFaultMessage {
+                List<org.apache.juddi.model.OverviewDoc> modelOverviewDocList,
+                org.apache.juddi.model.Tmodel modelTmodel)
+                throws DispositionReportFaultMessage {
                 modelOverviewDocList.clear();
 
                 for (org.uddi.api_v3.OverviewDoc apiOverviewDoc : apiOverviewDocList) {
@@ -978,8 +980,8 @@ public class MappingApiToModel {
          * @throws DispositionReportFaultMessage
          */
         public static void mapPublisherAssertion(org.uddi.api_v3.PublisherAssertion apiPubAssertion,
-             org.apache.juddi.model.PublisherAssertion modelPubAssertion)
-             throws DispositionReportFaultMessage {
+                org.apache.juddi.model.PublisherAssertion modelPubAssertion)
+                throws DispositionReportFaultMessage {
 
                 modelPubAssertion.setId(new org.apache.juddi.model.PublisherAssertionId(apiPubAssertion.getFromKey(), apiPubAssertion.getToKey()));
 
@@ -1006,8 +1008,8 @@ public class MappingApiToModel {
          * @throws DispositionReportFaultMessage
          */
         public static void mapSubscription(org.uddi.sub_v3.Subscription apiSubscription,
-             org.apache.juddi.model.Subscription modelSubscription)
-             throws DispositionReportFaultMessage {
+                org.apache.juddi.model.Subscription modelSubscription)
+                throws DispositionReportFaultMessage {
 
                 modelSubscription.setSubscriptionKey(apiSubscription.getSubscriptionKey());
                 modelSubscription.setBindingKey(apiSubscription.getBindingKey());
@@ -1039,8 +1041,8 @@ public class MappingApiToModel {
          * @throws DispositionReportFaultMessage
          */
         public static void mapClientSubscriptionInfo(org.apache.juddi.api_v3.ClientSubscriptionInfo apiClientSubscriptionInfo,
-             org.apache.juddi.model.ClientSubscriptionInfo modelClientSubscriptionInfo)
-             throws DispositionReportFaultMessage {
+                org.apache.juddi.model.ClientSubscriptionInfo modelClientSubscriptionInfo)
+                throws DispositionReportFaultMessage {
 
                 modelClientSubscriptionInfo.setLastNotified(new Date());
                 modelClientSubscriptionInfo.setSubscriptionKey(apiClientSubscriptionInfo.getSubscriptionKey());
@@ -1416,48 +1418,52 @@ public class MappingApiToModel {
                 }
                 model.setMaximumTimeToGetChanges(replicationConfiguration.getMaximumTimeToGetChanges());
                 model.setMaximumTimeToSyncRegistry(replicationConfiguration.getMaximumTimeToSyncRegistry());
+                //this is set by the service when saving
                 model.setSerialNumber(null);
-
+               
                 //the spec doesn't specify what the format should be, however there was an example
                 //2002 03 04 1859Z
                 SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddkkmmZ");
                 model.setTimeOfConfigurationUpdate(sdf.format(new Date()));
                 if (replicationConfiguration.getRegistryContact() != null) {
-                        model.setContact(mapContact(replicationConfiguration.getRegistryContact().getContact()));
+                        model.setContact(mapContact(replicationConfiguration.getRegistryContact().getContact(), model));
                 }
-                mapCommunicationGraph(model,replicationConfiguration.getCommunicationGraph(), em);
-                model.setOperator(mapOperators(replicationConfiguration.getOperator()));
+                mapCommunicationGraph(model, replicationConfiguration.getCommunicationGraph(), em);
+                model.setOperator(mapOperators(replicationConfiguration,model));
                 if (replicationConfiguration.getSignature() != null) {
                         model.setSignatures(mapApiSignaturesToModelSignatures(replicationConfiguration.getSignature()));
                 }
 
         }
 
-        private static Contact mapContact(org.uddi.api_v3.Contact contact) throws DispositionReportFaultMessage {
-                Contact model = new Contact();
-                model.setAddresses(new ArrayList<Address>());
-                mapContactAddresses(contact.getAddress(), model.getAddresses(), model);
-                if (model.getAddresses().isEmpty()) {
-                        model.setAddresses(null);
+        private static Contact mapContact(org.uddi.api_v3.Contact contact, org.apache.juddi.model.ReplicationConfiguration model) throws DispositionReportFaultMessage {
+                Contact cmodel = new Contact();
+                cmodel.setReplicationConfigId(model);
+                cmodel.setAddresses(new ArrayList<Address>());
+                mapContactAddresses(contact.getAddress(), cmodel.getAddresses(), cmodel);
+                if (cmodel.getAddresses().isEmpty()) {
+                        cmodel.setAddresses(null);
                 }
-                return model;
+                return cmodel;
         }
 
-       
-
-        private static List<Operator> mapOperators(List<org.uddi.repl_v3.Operator> api) throws DispositionReportFaultMessage {
+        private static List<Operator> mapOperators(ReplicationConfiguration cfg, org.apache.juddi.model.ReplicationConfiguration modelparent) throws DispositionReportFaultMessage {
+                if (cfg==null) return null;
+                List<org.uddi.repl_v3.Operator> api = cfg.getOperator();
                 if (api == null) {
                         return null;
                 }
                 List<Operator> model = new ArrayList<Operator>();
                 for (int i = 0; i < api.size(); i++) {
                         Operator op = new Operator();
+                        op.setParent(modelparent);
+                       
                         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.getContact().add(mapContact(api.get(i).getContact().get(k), null));
                                 }
                         }
                         op.setOperatorNodeID(api.get(i).getOperatorNodeID());
@@ -1496,12 +1502,13 @@ public class MappingApiToModel {
                 return null;
         }
 
-    private static void mapCommunicationGraph(org.apache.juddi.model.ReplicationConfiguration model, CommunicationGraph communicationGraph, EntityManager em) throws ValueNotAllowedException {
-        
-    if (model == 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
@@ -1515,39 +1522,30 @@ public class MappingApiToModel {
                  */
                 if (communicationGraph.getControlledMessage() != null) {
                         model.setControlMessage(new ArrayList<ControlMessage>());
+
                         for (int k = 0; k < communicationGraph.getControlledMessage().size(); k++) {
-                                model.getControlMessage().add(new ControlMessage(communicationGraph.getControlledMessage().get(k)));
+                                ControlMessage BC = new ControlMessage(communicationGraph.getControlledMessage().get(k));
+                                BC.setReplicationConfiguration(model);
+                                
+                                model.getControlMessage().add(BC);
                         }
                 }
-                model.setNode(new ArrayList<Node>());
+                
                 for (int i = 0; i < communicationGraph.getNode().size(); i++) {
-                        Node find = em.find(org.apache.juddi.model.Node.class, communicationGraph.getNode().get(i));
-                        if (find == null) {
-                                throw new ValueNotAllowedException(new ErrorMessage("errors.replication.configNodeNotFound", communicationGraph.getNode().get(i)));
-                        }
-                        model.getNode().add(find);
+                        ReplicationConfigurationNode replicationConfigurationNode = new ReplicationConfigurationNode();
+
+                        replicationConfigurationNode.setNodeName(communicationGraph.getNode().get(i));
+                        replicationConfigurationNode.setParent(model);
+                        model.getNode().add(replicationConfigurationNode);
                 }
                 if (communicationGraph.getEdge() != null && !communicationGraph.getEdge().isEmpty()) {
                         List<Edge> ret = new ArrayList<Edge>();
                         for (int i = 0; i < communicationGraph.getEdge().size(); i++) {
                                 Edge e = new Edge();
+                                e.setReplicationConfiguration(model);
                                 
-                                if (communicationGraph.getEdge().get(i).getMessageReceiver() == null) {
-                                        throw new ValueNotAllowedException(new ErrorMessage("errors.replication.configNodeNotFound", communicationGraph.getEdge().get(i).getMessageReceiver()));
-                                }
-                                Node find = em.find(org.apache.juddi.model.Node.class, communicationGraph.getEdge().get(i).getMessageReceiver());
-                                if (find == null) {
-                                        throw new ValueNotAllowedException(new ErrorMessage("errors.replication.configNodeNotFound", communicationGraph.getEdge().get(i).getMessageReceiver()));
-                                }
-                                e.setMessageReceiver(find);
-                                if (communicationGraph.getEdge().get(i).getMessageSender() == null) {
-                                        throw new ValueNotAllowedException(new ErrorMessage("errors.replication.configNodeNotFound", communicationGraph.getEdge().get(i).getMessageReceiver()));
-                                }
-                                find = em.find(org.apache.juddi.model.Node.class, communicationGraph.getEdge().get(i).getMessageSender());
-                                if (find == null) {
-                                        throw new ValueNotAllowedException(new ErrorMessage("errors.replication.configNodeNotFound", communicationGraph.getEdge().get(i).getMessageSender()));
-                                }
-                                e.setMessageSender(find);
+                                e.setMessageReceiver(communicationGraph.getEdge().get(i).getMessageReceiver());
+                               e.setMessageSender(communicationGraph.getEdge().get(i).getMessageSender());
 
                                 /**
                                  * The message elements contain the local name
@@ -1560,24 +1558,29 @@ public class MappingApiToModel {
                                 if (communicationGraph.getEdge().get(i).getMessage() != null) {
                                         e.setMessage(new ArrayList<ControlMessage>());
                                         for (int k = 0; k < communicationGraph.getEdge().get(i).getMessage().size(); k++) {
-                                                e.getMessages().add(new ControlMessage(communicationGraph.getEdge().get(i).getMessage().get(k)));
+                                                ControlMessage controlMessage = new ControlMessage(communicationGraph.getEdge().get(i).getMessage().get(k));
+                                                controlMessage.setReplicationConfiguration(model);
+                                                controlMessage.setParentEdge(e);
+                                                e.getMessages().add(controlMessage);
                                         }
                                 }
                                 if (communicationGraph.getEdge().get(i).getMessageReceiverAlternate() != null) {
-                                        e.setMessageReceiverAlternate(new HashSet<Node>());
-                                        for (int k = 0; k < communicationGraph.getEdge().get(i).getMessageReceiverAlternate().size(); k++) {
-                                                find = em.find(org.apache.juddi.model.Node.class, communicationGraph.getEdge().get(i).getMessageSender());
-                                                if (find == null) {
-                                                        throw new ValueNotAllowedException(new ErrorMessage("errors.replication.configNodeNotFound", communicationGraph.getEdge().get(i).getMessageSender()));
-                                                }
-                                                e.getMessageReceiverAlternate().add(find);
+                                        List<EdgeReceiverAlternate> eras = new ArrayList<EdgeReceiverAlternate>();
+                                        for (String s: communicationGraph.getEdge().get(i).getMessageReceiverAlternate() ){
+                                                EdgeReceiverAlternate x = new EdgeReceiverAlternate();
+                                                x.setParent(e);
+                                                x.setReceiverAlternate(s);
+                                                eras.add(x);
                                         }
+                                        e.setMessageReceiverAlternate(eras);
+                                      
                                 }
 
                                 ret.add(e);
                         }
                         model.setEdge(ret);
-                }}            }
-    
-
+                }
+        }
 
+        
+}

http://git-wip-us.apache.org/repos/asf/juddi/blob/22a846dd/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 50535da..481df3d 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
@@ -48,6 +48,7 @@ import org.apache.juddi.jaxb.JAXBMarshaller;
 import org.apache.juddi.model.CanonicalizationMethod;
 import org.apache.juddi.model.ControlMessage;
 import org.apache.juddi.model.Edge;
+import org.apache.juddi.model.EdgeReceiverAlternate;
 import org.apache.juddi.model.KeyInfo;
 import org.apache.juddi.model.OverviewDoc;
 import org.apache.juddi.model.Reference;
@@ -58,14 +59,17 @@ import org.apache.juddi.model.UddiEntity;
 import org.apache.juddi.model.KeyDataValue;
 import org.apache.juddi.model.Node;
 import org.apache.juddi.model.ReplicationConfiguration;
+import org.apache.juddi.model.ReplicationConfigurationNode;
 import org.apache.juddi.model.SignatureTransformDataValue;
 import org.apache.juddi.subscription.TypeConvertor;
 import org.apache.juddi.v3.error.ErrorMessage;
 import org.apache.juddi.v3.error.FatalErrorException;
 import org.uddi.api_v3.BusinessEntity;
 import org.uddi.api_v3.CompletionStatus;
+import org.uddi.api_v3.Contact;
 import org.uddi.api_v3.Contacts;
 import org.uddi.api_v3.OperationalInfo;
+import org.uddi.api_v3.PersonName;
 import org.uddi.repl_v3.ChangeRecord;
 import org.uddi.repl_v3.ChangeRecordIDType;
 import org.uddi.repl_v3.CommunicationGraph;
@@ -1203,6 +1207,7 @@ public class MappingModelToApi {
                 item.setMaximumTimeToGetChanges(find.getMaximumTimeToGetChanges());
                 item.setMaximumTimeToSyncRegistry(find.getMaximumTimeToSyncRegistry());
                 item.setSerialNumber(find.getSerialNumber());
+                
                 List<SignatureType> sigs = new ArrayList<SignatureType>();
                 mapSignature(find.getSignatures(), sigs);
                 item.getSignature().addAll(sigs);
@@ -1213,10 +1218,16 @@ public class MappingModelToApi {
                 org.uddi.api_v3.Contacts cs = new Contacts();
 
                 mapContacts(modelContactList, cs, new BusinessEntity());
+                item.setRegistryContact(new org.uddi.repl_v3.ReplicationConfiguration.RegistryContact());
                 if (!cs.getContact().isEmpty()) {
-                        item.setRegistryContact(new org.uddi.repl_v3.ReplicationConfiguration.RegistryContact());
+                        
                         item.getRegistryContact().setContact(cs.getContact().get(0));
                 }
+                else
+                {
+                        item.getRegistryContact().setContact(new Contact());
+                        item.getRegistryContact().getContact().getPersonName().add(new PersonName("unknown", null));
+                }
                 item.setTimeOfConfigurationUpdate(find.getTimeOfConfigurationUpdate());
                 CommunicationGraph xcom = new CommunicationGraph();
 
@@ -1278,16 +1289,16 @@ public class MappingModelToApi {
                         Edge modelEdge = it.next();
 
                         CommunicationGraph.Edge apiEdge = new CommunicationGraph.Edge();
-                        apiEdge.setMessageReceiver(modelEdge.getMessageReceiver().getName());
-                        apiEdge.setMessageSender(modelEdge.getMessageSender().getName());
+                        apiEdge.setMessageReceiver(modelEdge.getMessageReceiver());
+                        apiEdge.setMessageSender(modelEdge.getMessageSender());
 
                         Iterator<ControlMessage> it2 = modelEdge.getMessages().iterator();
                         while (it2.hasNext()) {
                                 apiEdge.getMessage().add(it2.next().getMessage());
                         }
-                        Iterator<Node> it3 = modelEdge.getMessageReceiverAlternate().iterator();
+                        Iterator<EdgeReceiverAlternate> it3 = modelEdge.getMessageReceiverAlternate().iterator();
                         while (it3.hasNext()) {
-                                apiEdge.getMessageReceiverAlternate().add(it3.next().getName());
+                                apiEdge.getMessageReceiverAlternate().add(it3.next().getReceiverAlternate());
                         }
 
                         api.add(apiEdge);
@@ -1302,10 +1313,10 @@ public class MappingModelToApi {
                 }
         }
 
-        private static void mapEdgeNodes(List<Node> model, List<String> api) {
-                Iterator<Node> it = model.iterator();
+        private static void mapEdgeNodes(List<ReplicationConfigurationNode> model, List<String> api) {
+                Iterator<ReplicationConfigurationNode> it = model.iterator();
                 while (it.hasNext()) {
-                        api.add(it.next().getName());
+                        api.add(it.next().getNodeName());
                 }
         }
 

http://git-wip-us.apache.org/repos/asf/juddi/blob/22a846dd/juddi-core/src/main/java/org/apache/juddi/model/Contact.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/java/org/apache/juddi/model/Contact.java b/juddi-core/src/main/java/org/apache/juddi/model/Contact.java
index 4f8b62d..9dfc41e 100644
--- a/juddi-core/src/main/java/org/apache/juddi/model/Contact.java
+++ b/juddi-core/src/main/java/org/apache/juddi/model/Contact.java
@@ -28,6 +28,7 @@ import javax.persistence.Id;
 import javax.persistence.JoinColumn;
 import javax.persistence.ManyToOne;
 import javax.persistence.OneToMany;
+import javax.persistence.OneToOne;
 import javax.persistence.OrderBy;
 import javax.persistence.Table;
 
@@ -42,6 +43,7 @@ public class Contact implements java.io.Serializable {
 	private static final long serialVersionUID = 3350341195850056589L;
 	private Long id;
 	private BusinessEntity businessEntity;
+        private ReplicationConfiguration replicationConfigSerial;
 	private String useType;
 	private List<PersonName> personNames = new ArrayList<PersonName>(0);
 	private List<ContactDescr> contactDescrs = new ArrayList<ContactDescr>(0);
@@ -67,6 +69,15 @@ public class Contact implements java.io.Serializable {
 		this.addresses = addresses;
 	}
 
+        @OneToOne(fetch = FetchType.LAZY)
+	@JoinColumn(name = "replicationCfgId", nullable = true)
+        public ReplicationConfiguration getReplicationConfigId() {
+		return this.replicationConfigSerial;
+	}
+	public void setReplicationConfigId(ReplicationConfiguration id) {
+		this.replicationConfigSerial = id;
+	}
+        
 	@Id
 	@GeneratedValue(strategy=GenerationType.AUTO)
 	public Long getId() {

http://git-wip-us.apache.org/repos/asf/juddi/blob/22a846dd/juddi-core/src/main/java/org/apache/juddi/model/ControlMessage.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/java/org/apache/juddi/model/ControlMessage.java b/juddi-core/src/main/java/org/apache/juddi/model/ControlMessage.java
index ce79b8f..39ab63a 100644
--- a/juddi-core/src/main/java/org/apache/juddi/model/ControlMessage.java
+++ b/juddi-core/src/main/java/org/apache/juddi/model/ControlMessage.java
@@ -19,7 +19,13 @@ package org.apache.juddi.model;
 import java.io.Serializable;
 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.JoinColumn;
+import javax.persistence.ManyToOne;
+import org.uddi.repl_v3.CommunicationGraph;
 
 /**
  *
@@ -48,6 +54,7 @@ public class ControlMessage implements Serializable{
         }
 
         @Id
+        @GeneratedValue(strategy = GenerationType.AUTO)
         public Long getId() {
                 return id;
         }
@@ -55,4 +62,27 @@ public class ControlMessage implements Serializable{
         public void setId(Long id) {
                 this.id = id;
         }
+        
+       //  @JoinColumn( )
+       // @ManyToOne(targetEntity = ReplicationConfiguration.class)
+         @ManyToOne(fetch = FetchType.LAZY)
+	@JoinColumn(name = "ReplicationConfiguration", nullable = true)
+        public ReplicationConfiguration getReplicationConfiguration() {
+                return parent;
+        }
+        private ReplicationConfiguration parent;
+        public void setReplicationConfiguration(ReplicationConfiguration p){
+                parent = p;
+        }
+        
+         @ManyToOne(fetch = FetchType.LAZY)
+	@JoinColumn(name = "entity_key_ed", nullable = true)
+         public Edge getParentEdge(){
+                 return this.edge;
+         }
+         private Edge edge;
+         public void setParentEdge(Edge e){
+                 this.edge = e;
+         }
+         
 }

http://git-wip-us.apache.org/repos/asf/juddi/blob/22a846dd/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 bc25990..669a2a2 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
@@ -20,6 +20,7 @@ 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;
@@ -37,11 +38,20 @@ public class Edge {
 
         private Long id;
         private List<ControlMessage>  message;
-        private Node messageSender;
-        private Node messageReceiver;
-        private Set<Node> messageReceiverAlternate;
+        private String messageSender;
+        private String messageReceiver;
+        private List<EdgeReceiverAlternate> messageReceiverAlternate;
         private ReplicationConfiguration parent;
 
+         @ManyToOne(fetch = FetchType.LAZY)
+	@JoinColumn(name = "ReplicationConfiguration", nullable = false)
+        public ReplicationConfiguration getReplicationConfiguration() {
+                return parent;
+        }
+        
+        public void setReplicationConfiguration(ReplicationConfiguration p){
+                parent = p;
+        }
         
         /**
          * The message elements contain the local name of the Replication API message elements
@@ -58,13 +68,13 @@ public class Edge {
                 this.message = values;
         }
 
-        @JoinColumn(referencedColumnName ="name" )
-        @ManyToOne(targetEntity = Node.class)
-        public Node getMessageSender() {
+        
+        @Column
+        public String getMessageSender() {
                 return messageSender;
         }
 
-        public void setMessageSender(Node value) {
+        public void setMessageSender(String value) {
                 this.messageSender = value;
         }
 
@@ -73,13 +83,12 @@ public class Edge {
                  *
          * @return
          */
-        @JoinColumn(referencedColumnName ="name" )
-        @ManyToOne(targetEntity = Node.class)
-        public Node getMessageReceiver() {
+        @Column
+        public String getMessageReceiver() {
                 return messageReceiver;
         }
 
-        public void setMessageReceiver(Node value) {
+        public void setMessageReceiver(String value) {
                 this.messageReceiver = value;
         }
 
@@ -90,10 +99,12 @@ public class Edge {
          *
          * @return
          */
-        @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, targetEntity = Node.class)
-        public Set<Node> getMessageReceiverAlternate() {
+        @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, targetEntity = EdgeReceiverAlternate.class
+                //, mappedBy = "messageReceiverAlternate"
+        )
+        public List<EdgeReceiverAlternate> getMessageReceiverAlternate() {
                 if (messageReceiverAlternate == null) {
-                        messageReceiverAlternate = new HashSet<Node>();
+                        messageReceiverAlternate = new ArrayList<EdgeReceiverAlternate>();
                 }
                 return this.messageReceiverAlternate;
         }
@@ -108,7 +119,7 @@ public class Edge {
                 this.message = message;
         }
 
-        public void setMessageReceiverAlternate(Set<Node> messageReceiverAlternate) {
+        public void setMessageReceiverAlternate(List<EdgeReceiverAlternate> messageReceiverAlternate) {
                 this.messageReceiverAlternate = messageReceiverAlternate;
         }
 

http://git-wip-us.apache.org/repos/asf/juddi/blob/22a846dd/juddi-core/src/main/java/org/apache/juddi/model/EdgeReceiverAlternate.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/java/org/apache/juddi/model/EdgeReceiverAlternate.java b/juddi-core/src/main/java/org/apache/juddi/model/EdgeReceiverAlternate.java
new file mode 100644
index 0000000..b64a65f
--- /dev/null
+++ b/juddi-core/src/main/java/org/apache/juddi/model/EdgeReceiverAlternate.java
@@ -0,0 +1,68 @@
+/*
+ * Copyright 2014 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 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.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.Table;
+
+/**
+ *
+ * @author alex
+ */
+@Entity
+@Table(name = "j3_chg_replcfgear")
+public class EdgeReceiverAlternate implements Serializable{
+        private static final long serialVersionUID = -3199894835641632162L;
+       Long id;
+       String rx;
+       
+               @Id
+        @GeneratedValue(strategy = GenerationType.AUTO)
+        public Long getId() {
+                return id;
+        }
+
+        public void setId(Long id) {
+                this.id = id;
+        }
+        
+         @ManyToOne(fetch = FetchType.LAZY, targetEntity = Edge.class)
+	@JoinColumn(name = "entity_key_ed", nullable = false)
+         public Edge getParent(){
+                 return this.edge;
+         }
+         private Edge edge;
+         public void setParent(Edge e){
+                 this.edge = e;
+         }
+
+         @Column
+         public String getReceiverAlternate() {
+                return this.rx;
+        }
+         
+        public void setReceiverAlternate(String s) {
+                this.rx = s;
+        }
+}

http://git-wip-us.apache.org/repos/asf/juddi/blob/22a846dd/juddi-core/src/main/java/org/apache/juddi/model/Node.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/java/org/apache/juddi/model/Node.java b/juddi-core/src/main/java/org/apache/juddi/model/Node.java
index 53fbe12..d5d9df4 100644
--- a/juddi-core/src/main/java/org/apache/juddi/model/Node.java
+++ b/juddi-core/src/main/java/org/apache/juddi/model/Node.java
@@ -15,17 +15,9 @@ package org.apache.juddi.model;
  * limitations under the License.
  */
 
-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.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.OneToMany;
-import javax.persistence.OneToOne;
 import javax.persistence.Table;
 import javax.persistence.Transient;
 
@@ -36,168 +28,168 @@ import javax.persistence.Transient;
 @Table(name = "j3_node")
 public class Node implements java.io.Serializable {
 
-	@Transient
-	private static final long serialVersionUID = -893203927029468343L;
-	@Id
-	@Column(name="name", nullable = false, length=255)
-	private String name;
-	@Column(name="client_name", nullable = false, length=255)
-	private String clientName;
-	@Column(name="security_url", nullable = false, length=255)
-	private String securityUrl;
-	@Column(name="inquiry_url", nullable = false, length=255)
-	private String inquiryUrl;
-	@Column(name="publish_url", nullable = false, length=255)
-	private String publishUrl;
-	@Column(name="custody_transfer_url", nullable = false, length=255)
-	private String custodyTransferUrl;
-	@Column(name="subscription_url", nullable = false, length=255)
-	private String subscriptionUrl;
-        
-        @Column(name="subscriptionlist_url", nullable = false, length=255)
-	private String subscriptionListenerUrl;
-        @Column(name="replication_url", nullable = true, length=255)
-	private String replicationUrl;
-        @Column(name="proxy_transport", nullable = false, length=255)
-	private String proxyTransport;
-        
-	@Column(name="juddi_api_url", nullable = true, length=255)
-	private String juddiApiUrl;
-	@Column(name="factory_initial", nullable = true, length=255)
-	private String factoryInitial;
-	@Column(name="factory_url_pkgs", nullable = true, length=255)
-	private String factoryURLPkgs;
-	@Column(name="factory_naming_provider", nullable = true, length=255)
-	private String factoryNamingProvider;
-        
-	public Node() {}
-
-	public Node(String custodyTransferUrl, String inquiryUrl,
-			String juddiApiUrl, String name, String proxyTransport,
-			String publishUrl, String securityUrl, String subscriptionUrl, String replicationURL) {
-		super();
-		this.custodyTransferUrl = custodyTransferUrl;
-		this.inquiryUrl = inquiryUrl;
-		this.juddiApiUrl = juddiApiUrl;
-		this.name = name;
-		this.proxyTransport = proxyTransport;
-		this.publishUrl = publishUrl;
-		this.securityUrl = securityUrl;
-		this.subscriptionUrl = subscriptionUrl;
-                this.replicationUrl=replicationURL;
-	}
-
-	public String getName() {
-		return name;
-	}
-
-	public void setName(String name) {
-		this.name = name;
-	}
-
-	public String getClientName() {
-		return clientName;
-	}
-
-	public void setClientName(String clientName) {
-		this.clientName = clientName;
-	}
-
-	public String getProxyTransport() {
-		return proxyTransport;
-	}
-
-	public void setProxyTransport(String proxyTransport) {
-		this.proxyTransport = proxyTransport;
-	}
-
-	public String getSecurityUrl() {
-		return securityUrl;
-	}
-
-	public void setSecurityUrl(String securityUrl) {
-		this.securityUrl = securityUrl;
-	}
-
-	public String getInquiryUrl() {
-		return inquiryUrl;
-	}
-
-	public void setInquiryUrl(String inquiryUrl) {
-		this.inquiryUrl = inquiryUrl;
-	}
-
-	public String getPublishUrl() {
-		return publishUrl;
-	}
-
-	public void setPublishUrl(String publishUrl) {
-		this.publishUrl = publishUrl;
-	}
-
-	public String getCustodyTransferUrl() {
-		return custodyTransferUrl;
-	}
-
-	public void setCustodyTransferUrl(String custodyTransferUrl) {
-		this.custodyTransferUrl = custodyTransferUrl;
-	}
-
-	public String getSubscriptionUrl() {
-		return subscriptionUrl;
-	}
-
-	public void setSubscriptionUrl(String subscriptionUrl) {
-		this.subscriptionUrl = subscriptionUrl;
-	}
-        
+        @Transient
+        private static final long serialVersionUID = -893203927029468343L;
+        @Id
+        @Column(name = "name", nullable = false, length = 255)
+        private String name;
+        @Column(name = "client_name", nullable = false, length = 255)
+        private String clientName;
+        @Column(name = "security_url", nullable = true, length = 255)
+        private String securityUrl;
+        @Column(name = "inquiry_url", nullable = false, length = 255)
+        private String inquiryUrl;
+        @Column(name = "publish_url", nullable = false, length = 255)
+        private String publishUrl;
+        @Column(name = "custody_transfer_url", nullable = true, length = 255)
+        private String custodyTransferUrl;
+        @Column(name = "subscription_url", nullable = true, length = 255)
+        private String subscriptionUrl;
+
+        @Column(name = "subscriptionlist_url", nullable = true, length = 255)
+        private String subscriptionListenerUrl;
+        @Column(name = "replication_url", nullable = true, length = 255)
+        private String replicationUrl;
+        @Column(name = "proxy_transport", nullable = false, length = 255)
+        private String proxyTransport;
+
+        @Column(name = "juddi_api_url", nullable = true, length = 255)
+        private String juddiApiUrl;
+        @Column(name = "factory_initial", nullable = true, length = 255)
+        private String factoryInitial;
+        @Column(name = "factory_url_pkgs", nullable = true, length = 255)
+        private String factoryURLPkgs;
+        @Column(name = "factory_naming_provider", nullable = true, length = 255)
+        private String factoryNamingProvider;
+
+        public Node() {
+        }
+
+        public Node(String custodyTransferUrl, String inquiryUrl,
+                String juddiApiUrl, String name, String proxyTransport,
+                String publishUrl, String securityUrl, String subscriptionUrl, String replicationURL) {
+                super();
+                this.custodyTransferUrl = custodyTransferUrl;
+                this.inquiryUrl = inquiryUrl;
+                this.juddiApiUrl = juddiApiUrl;
+                this.name = name;
+                this.proxyTransport = proxyTransport;
+                this.publishUrl = publishUrl;
+                this.securityUrl = securityUrl;
+                this.subscriptionUrl = subscriptionUrl;
+                this.replicationUrl = replicationURL;
+        }
+
+        public String getName() {
+                return name;
+        }
+
+        public void setName(String name) {
+                this.name = name;
+        }
+
+        public String getClientName() {
+                return clientName;
+        }
+
+        public void setClientName(String clientName) {
+                this.clientName = clientName;
+        }
+
+        public String getProxyTransport() {
+                return proxyTransport;
+        }
+
+        public void setProxyTransport(String proxyTransport) {
+                this.proxyTransport = proxyTransport;
+        }
+
+        public String getSecurityUrl() {
+                return securityUrl;
+        }
+
+        public void setSecurityUrl(String securityUrl) {
+                this.securityUrl = securityUrl;
+        }
+
+        public String getInquiryUrl() {
+                return inquiryUrl;
+        }
+
+        public void setInquiryUrl(String inquiryUrl) {
+                this.inquiryUrl = inquiryUrl;
+        }
+
+        public String getPublishUrl() {
+                return publishUrl;
+        }
+
+        public void setPublishUrl(String publishUrl) {
+                this.publishUrl = publishUrl;
+        }
+
+        public String getCustodyTransferUrl() {
+                return custodyTransferUrl;
+        }
+
+        public void setCustodyTransferUrl(String custodyTransferUrl) {
+                this.custodyTransferUrl = custodyTransferUrl;
+        }
+
+        public String getSubscriptionUrl() {
+                return subscriptionUrl;
+        }
+
+        public void setSubscriptionUrl(String subscriptionUrl) {
+                this.subscriptionUrl = subscriptionUrl;
+        }
+
         public String getSubscriptionListenerUrl() {
-		return subscriptionListenerUrl;
-	}
+                return subscriptionListenerUrl;
+        }
+
+        public void setSubscriptionListenerUrl(String subscriptionUrl) {
+                this.subscriptionListenerUrl = subscriptionUrl;
+        }
 
-	public void setSubscriptionListenerUrl(String subscriptionUrl) {
-		this.subscriptionListenerUrl = subscriptionUrl;
-	}
         public String getReplicationUrl() {
-		return replicationUrl;
-	}
-
-	public void setReplicationUrl(String replicationUrl) {
-		this.replicationUrl = replicationUrl;
-	}
-
-	public String getJuddiApiUrl() {
-		return juddiApiUrl;
-	}
-
-	public void setJuddiApiUrl(String juddiApiUrl) {
-		this.juddiApiUrl = juddiApiUrl;
-	}
-
-	public String getFactoryInitial() {
-		return factoryInitial;
-	}
-
-	public void setFactoryInitial(String factoryInitial) {
-		this.factoryInitial = factoryInitial;
-	}
-
-	public String getFactoryURLPkgs() {
-		return factoryURLPkgs;
-	}
-
-	public void setFactoryURLPkgs(String factoryURLPkgs) {
-		this.factoryURLPkgs = factoryURLPkgs;
-	}
-
-	public String getFactoryNamingProvider() {
-		return factoryNamingProvider;
-	}
-
-	public void setFactoryNamingProvider(String factoryNamingProvider) {
-		this.factoryNamingProvider = factoryNamingProvider;
-	}
-        
-        
+                return replicationUrl;
+        }
+
+        public void setReplicationUrl(String replicationUrl) {
+                this.replicationUrl = replicationUrl;
+        }
+
+        public String getJuddiApiUrl() {
+                return juddiApiUrl;
+        }
+
+        public void setJuddiApiUrl(String juddiApiUrl) {
+                this.juddiApiUrl = juddiApiUrl;
+        }
+
+        public String getFactoryInitial() {
+                return factoryInitial;
+        }
+
+        public void setFactoryInitial(String factoryInitial) {
+                this.factoryInitial = factoryInitial;
+        }
+
+        public String getFactoryURLPkgs() {
+                return factoryURLPkgs;
+        }
+
+        public void setFactoryURLPkgs(String factoryURLPkgs) {
+                this.factoryURLPkgs = factoryURLPkgs;
+        }
+
+        public String getFactoryNamingProvider() {
+                return factoryNamingProvider;
+        }
+
+        public void setFactoryNamingProvider(String factoryNamingProvider) {
+                this.factoryNamingProvider = factoryNamingProvider;
+        }
 
 }

http://git-wip-us.apache.org/repos/asf/juddi/blob/22a846dd/juddi-core/src/main/java/org/apache/juddi/model/Operator.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/java/org/apache/juddi/model/Operator.java b/juddi-core/src/main/java/org/apache/juddi/model/Operator.java
index ef724fb..4420071 100644
--- a/juddi-core/src/main/java/org/apache/juddi/model/Operator.java
+++ b/juddi-core/src/main/java/org/apache/juddi/model/Operator.java
@@ -23,7 +23,11 @@ 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.JoinColumn;
+import javax.persistence.ManyToOne;
 import javax.persistence.OneToMany;
 import javax.persistence.Table;
 
@@ -37,8 +41,19 @@ public class Operator implements Serializable {
         private List<Contact> contact;
         private String soapReplicationURL;
         private List<KeyInfo> keyInfo;
+        Long id;
+        ReplicationConfiguration parent;
+        
+                  @Id
+        @GeneratedValue(strategy = GenerationType.AUTO)
+        public Long getId() {
+                return id;
+        }
 
-        @Id
+        public void setId(Long id) {
+                this.id = id;
+        }
+        @Column(name="operator_node")
         public String getOperatorNodeID() {
                 return operatorNodeID;
         }
@@ -88,5 +103,15 @@ public class Operator implements Serializable {
         public void setKeyInfo(List<KeyInfo> c) {
                 this.keyInfo=c;
         }
-}
-
\ No newline at end of file
+        
+         @ManyToOne(fetch = FetchType.LAZY)
+        @JoinColumn(name = "entity_key_ed", nullable = true)
+        public ReplicationConfiguration getParent() {
+                return this.parent;
+        }
+        
+
+        public void setParent(ReplicationConfiguration e) {
+                this.parent = e;
+        }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/juddi/blob/22a846dd/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 72c717b..93d0f73 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
@@ -19,27 +19,23 @@ package org.apache.juddi.model;
 import java.io.Serializable;
 import java.math.BigInteger;
 import java.util.ArrayList;
-import java.util.HashSet;
 import java.util.List;
 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.OneToOne;
 import javax.persistence.OrderBy;
 import javax.persistence.Table;
-import javax.persistence.TableGenerator;
 
 @Entity
 @Table(name = "j3_chg_replconf")
 public class ReplicationConfiguration implements Serializable {
 
         private static final long serialVersionUID = 1L;
-        
+
         private Long serialNumber;
         private String timeOfConfigurationUpdate;
         private List<Operator> operator = new ArrayList<Operator>(0);
@@ -47,6 +43,9 @@ public class ReplicationConfiguration implements Serializable {
         private BigInteger maximumTimeToGetChanges;
         private List<Signature> signatures = new ArrayList<Signature>(0);
         private Contact contact;
+        private List<ReplicationConfigurationNode> node;
+        private List<ControlMessage> controlledMessage;
+        private List<Edge> edge;
 
         /**
          * Gets the value of the contact property.
@@ -54,7 +53,8 @@ public class ReplicationConfiguration implements Serializable {
          * @return possible object is {@link Contact }
          *
          */
-        @OneToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY, targetEntity = Contact.class)
+        @OneToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "replicationConfigId")
+        //@OneToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY, targetEntity = Contact.class, mappedBy = "serialNumber")
         public Contact getContact() {
                 return contact;
         }
@@ -75,7 +75,7 @@ public class ReplicationConfiguration implements Serializable {
          */
         @Column(name = "serialnumb")
         @OrderBy(value = "SerialNumber DESC")
-         @Id
+        @Id
         public Long getSerialNumber() {
                 return serialNumber;
         }
@@ -116,14 +116,11 @@ public class ReplicationConfiguration implements Serializable {
                 }
                 return this.operator;
         }
-        
-        
-         public void setOperator(List<Operator> v) {
-                
-                this.operator=v;
-        }
 
-      
+        public void setOperator(List<Operator> v) {
+
+                this.operator = v;
+        }
 
         /**
          * Gets the value of the maximumTimeToSyncRegistry property.
@@ -177,26 +174,24 @@ 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() {
+        @OneToMany(targetEntity = ReplicationConfigurationNode.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL)
+       // @OneToMany(cascade = {CascadeType.ALL})
+        public List<ReplicationConfigurationNode> getNode() {
                 if (node == null) {
-                        node = new ArrayList<Node>();
+                        node = new ArrayList<ReplicationConfigurationNode>();
                 }
                 return this.node;
         }
 
-        public void setNode(List<Node> nodes) {
+        public void setNode(List<ReplicationConfigurationNode> nodes) {
 
                 this.node = nodes;
         }
 
+        //@javax.persistence.Transient
         @OneToMany(targetEntity = ControlMessage.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL)
         public List<ControlMessage> getControlMessage() {
                 if (controlledMessage == null) {
@@ -215,9 +210,8 @@ public class ReplicationConfiguration implements Serializable {
         public List<Edge> getEdge() {
                 return this.edge;
         }
-        
-         public void setEdge( List<Edge> edges) {
-                this.edge=edges;
+
+        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/22a846dd/juddi-core/src/main/java/org/apache/juddi/model/ReplicationConfigurationNode.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/java/org/apache/juddi/model/ReplicationConfigurationNode.java b/juddi-core/src/main/java/org/apache/juddi/model/ReplicationConfigurationNode.java
new file mode 100644
index 0000000..e146375
--- /dev/null
+++ b/juddi-core/src/main/java/org/apache/juddi/model/ReplicationConfigurationNode.java
@@ -0,0 +1,72 @@
+/*
+ * Copyright 2014 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 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.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.Table;
+
+/**
+ *
+ * @author alex
+ */
+@Entity
+@Table(name = "j3_chg_replconfn")
+public class ReplicationConfigurationNode implements Serializable {
+
+        private static final long serialVersionUID = 1L;
+        private Long id;
+        private ReplicationConfiguration parent;
+        String rx;
+
+        @Id
+        @GeneratedValue(strategy = GenerationType.AUTO)
+        public Long getId() {
+                return id;
+        }
+
+        public void setId(Long id) {
+                this.id = id;
+        }
+
+        @ManyToOne(fetch = FetchType.LAZY)
+        @JoinColumn(name = "entity_key_ed", nullable = false)
+        public ReplicationConfiguration getParent() {
+                return this.parent;
+        }
+        private Edge edge;
+
+        public void setParent(ReplicationConfiguration e) {
+                this.parent = e;
+        }
+
+        @Column
+        public String getNodeName() {
+                return this.rx;
+        }
+
+        public void setNodeName(String s) {
+                this.rx = s;
+        }
+
+}


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