Author: alexoree
Date: Sat Nov 30 18:38:37 2013
New Revision: 1546763

URL: http://svn.apache.org/r1546763
Log:
JUDDI-727 reverting a number of changes from the previous commit, they were 
unnecessary. test case added

Modified:
    
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/AuthenticatedService.java
    
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIPublicationImpl.java
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/config/Install.java
    
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/mapping/MappingApiToModel.java
    
juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_030_BusinessEntityTest.java
    
juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/UDDIPublicationImplExt.java

Modified: 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/AuthenticatedService.java
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/AuthenticatedService.java?rev=1546763&r1=1546762&r2=1546763&view=diff
==============================================================================
--- 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/AuthenticatedService.java
 (original)
+++ 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/AuthenticatedService.java
 Sat Nov 30 18:38:37 2013
@@ -181,34 +181,4 @@ public abstract class AuthenticatedServi
             }
             return null;
         }
-        
-        /**
-         * Returns the current node id for multi-node UDDI registries via 
replication
-         * @return 
-         */
-    public String getThisNodeID() {
-        try {
-            AppConfig.getInstance();
-           return 
AppConfig.getConfiguration().getString(Property.JUDDI_NODE_ID, GetHostname());
-        } catch (Exception ex) {
-            logger.error("Unable to determine the current node id, check 
juddiv3.xml config file! Defaulting to " + UNKNOWN,ex);
-        }
-        return UNKNOWN;
-    }
-    
-    public static final String UNKNOWN="UNKNOWN";
-    
-    /**
-     * Gets the current hostname
-     * @return 
-     */
-    public static String GetHostname(){
-            try {
-                return InetAddress.getLocalHost().getHostName();
-            } catch (Exception ex) {
-                logger.info("Unable to determine hostname, defaulting to " + 
UNKNOWN);
-                logger.debug("Unable to determine hostname, defaulting to 
"+UNKNOWN,ex);
-            }
-            return UNKNOWN;
-    }
 }

Modified: 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIPublicationImpl.java
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIPublicationImpl.java?rev=1546763&r1=1546762&r2=1546763&view=diff
==============================================================================
--- 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIPublicationImpl.java
 (original)
+++ 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIPublicationImpl.java
 Sat Nov 30 18:38:37 2013
@@ -536,7 +536,7 @@ public class UDDIPublicationImpl extends
                                org.apache.juddi.model.BusinessService 
modelBusinessService = new org.apache.juddi.model.BusinessService();
                                
modelBusinessService.setEntityKey(apiBindingTemplate.getServiceKey());
                                
-                               
MappingApiToModel.mapBindingTemplate(apiBindingTemplate, modelBindingTemplate, 
modelBusinessService,this.getThisNodeID());
+                               
MappingApiToModel.mapBindingTemplate(apiBindingTemplate, modelBindingTemplate, 
modelBusinessService);
        
                                setOperationalInfo(em, modelBindingTemplate, 
publisher, false);
        
@@ -590,7 +590,7 @@ public class UDDIPublicationImpl extends
                                
                                org.apache.juddi.model.BusinessEntity 
modelBusinessEntity = new org.apache.juddi.model.BusinessEntity();
                                
-                               
MappingApiToModel.mapBusinessEntity(apiBusinessEntity, 
modelBusinessEntity,this.getThisNodeID());
+                               
MappingApiToModel.mapBusinessEntity(apiBusinessEntity, modelBusinessEntity);
 
                                setOperationalInfo(em, modelBusinessEntity, 
publisher);
        
@@ -645,7 +645,7 @@ public class UDDIPublicationImpl extends
                                org.apache.juddi.model.BusinessEntity 
modelBusinessEntity = new org.apache.juddi.model.BusinessEntity();
                                
modelBusinessEntity.setEntityKey(apiBusinessService.getBusinessKey());
                                
-                               
MappingApiToModel.mapBusinessService(apiBusinessService, modelBusinessService, 
modelBusinessEntity, this.getThisNodeID());
+                               
MappingApiToModel.mapBusinessService(apiBusinessService, modelBusinessService, 
modelBusinessEntity);
        
                                setOperationalInfo(em, modelBusinessService, 
publisher, false);
 
@@ -697,7 +697,7 @@ public class UDDIPublicationImpl extends
                                
                                org.apache.juddi.model.Tmodel modelTModel = new 
org.apache.juddi.model.Tmodel();
                                
-                               MappingApiToModel.mapTModel(apiTModel, 
modelTModel,this.getThisNodeID());
+                               MappingApiToModel.mapTModel(apiTModel, 
modelTModel);
        
                                setOperationalInfo(em, modelTModel, publisher);
        
@@ -921,8 +921,5 @@ public class UDDIPublicationImpl extends
                
        }
 
-    private void setNodeID(UddiEntity e) {
-        e.setNodeId(this.getThisNodeID());
-    }
        
 }

Modified: 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/config/Install.java
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/config/Install.java?rev=1546763&r1=1546762&r2=1546763&view=diff
==============================================================================
--- juddi/trunk/juddi-core/src/main/java/org/apache/juddi/config/Install.java 
(original)
+++ juddi/trunk/juddi-core/src/main/java/org/apache/juddi/config/Install.java 
Sat Nov 30 18:38:37 2013
@@ -269,10 +269,10 @@ public class Install {
                if (isRoot) validateRootBusinessEntity(rootBusinessEntity, 
rootPublisher, rootPartition, config);
                
                org.apache.juddi.model.BusinessEntity modelBusinessEntity = new 
org.apache.juddi.model.BusinessEntity();
-               MappingApiToModel.mapBusinessEntity(rootBusinessEntity, 
modelBusinessEntity, nodeId);
+               MappingApiToModel.mapBusinessEntity(rootBusinessEntity, 
modelBusinessEntity);
                
                
modelBusinessEntity.setAuthorizedName(rootPublisher.getAuthorizedName());
-               
+               modelBusinessEntity.setNodeId(nodeId);
                Date now = new Date();
                modelBusinessEntity.setCreated(now);
                modelBusinessEntity.setModified(now);
@@ -284,22 +284,22 @@ public class Install {
                
                for (org.apache.juddi.model.BusinessService service : 
modelBusinessEntity.getBusinessServices()) {
                        
service.setAuthorizedName(rootPublisher.getAuthorizedName());
-                       
+                       service.setNodeId(nodeId);
                        service.setCreated(now);
                        service.setModified(now);
                        service.setModifiedIncludingChildren(now);
                         //JUDDI-645
-                        
service.setNodeId(config.getString(Property.JUDDI_NODE_ID,modelBusinessEntity.getEntityKey()));
+                        
//service.setNodeId(config.getString(Property.JUDDI_NODE_ID,modelBusinessEntity.getEntityKey()));
                        //service.setNodeId(modelBusinessEntity.getEntityKey());
                        
                        for (org.apache.juddi.model.BindingTemplate binding : 
service.getBindingTemplates()) {
                                
binding.setAuthorizedName(rootPublisher.getAuthorizedName());
-                               
+                                binding.setNodeId(nodeId);
                                binding.setCreated(now);
                                binding.setModified(now);
                                binding.setModifiedIncludingChildren(now);
                                
//binding.setNodeId(modelBusinessEntity.getEntityKey());
-                                
binding.setNodeId(config.getString(Property.JUDDI_NODE_ID,modelBusinessEntity.getEntityKey()));
+                                
//binding.setNodeId(config.getString(Property.JUDDI_NODE_ID,modelBusinessEntity.getEntityKey()));
                                 //JUDDI-645
                                 
                        }
@@ -469,7 +469,7 @@ public class Install {
                                        org.apache.juddi.model.Tmodel 
modelTModel = new org.apache.juddi.model.Tmodel();
                                        
apiTModel.setTModelKey(apiTModel.getTModelKey().toLowerCase());
                                        
-                                       MappingApiToModel.mapTModel(apiTModel, 
modelTModel,nodeId);
+                                       MappingApiToModel.mapTModel(apiTModel, 
modelTModel);
 
                                        
modelTModel.setAuthorizedName(publisher.getAuthorizedName());
                                        
@@ -498,7 +498,7 @@ public class Install {
        private static void installPublisherKeyGen(EntityManager em, TModel 
apiTModel, UddiEntityPublisher publisher, String nodeId) throws 
DispositionReportFaultMessage {
 
                org.apache.juddi.model.Tmodel modelTModel = new 
org.apache.juddi.model.Tmodel();
-               MappingApiToModel.mapTModel(apiTModel, modelTModel,nodeId);
+               MappingApiToModel.mapTModel(apiTModel, modelTModel);
                
                modelTModel.setAuthorizedName(publisher.getAuthorizedName());
 

Modified: 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/mapping/MappingApiToModel.java
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/mapping/MappingApiToModel.java?rev=1546763&r1=1546762&r2=1546763&view=diff
==============================================================================
--- 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/mapping/MappingApiToModel.java
 (original)
+++ 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/mapping/MappingApiToModel.java
 Sat Nov 30 18:38:37 2013
@@ -104,7 +104,7 @@ public class MappingApiToModel {
          * @throws DispositionReportFaultMessage
          */
         public static void mapBusinessEntity(org.uddi.api_v3.BusinessEntity 
apiBusinessEntity,
-                org.apache.juddi.model.BusinessEntity modelBusinessEntity, 
String node)
+                org.apache.juddi.model.BusinessEntity modelBusinessEntity)
                 throws DispositionReportFaultMessage {
 
                 
modelBusinessEntity.setEntityKey(apiBusinessEntity.getBusinessKey());
@@ -122,9 +122,9 @@ public class MappingApiToModel {
                 mapBusinessServices(apiBusinessEntity.getBusinessServices(),
                         modelBusinessEntity.getBusinessServices(),
                         modelBusinessEntity.getServiceProjections(),
-                        modelBusinessEntity, node);
+                        modelBusinessEntity);
 
-                mapBusinessSignature(apiBusinessEntity.getSignature(), 
modelBusinessEntity, node);
+                mapBusinessSignature(apiBusinessEntity.getSignature(), 
modelBusinessEntity);
         }
 
         private static List<Signature> 
mapApiSignaturesToModelSignatures(List<org.w3._2000._09.xmldsig_.SignatureType> 
apiSignatures)
@@ -285,7 +285,7 @@ public class MappingApiToModel {
          * @throws DispositionReportFaultMessage
          */
         public static void 
mapBusinessSignature(List<org.w3._2000._09.xmldsig_.SignatureType> 
apiSignatures,
-                org.apache.juddi.model.BusinessEntity modelBusinessEntity, 
String node)
+                org.apache.juddi.model.BusinessEntity modelBusinessEntity)
                 throws DispositionReportFaultMessage {
                 List<Signature> modelSignatures = 
mapApiSignaturesToModelSignatures(apiSignatures);
                 for (Signature modelSignature : modelSignatures) {
@@ -543,15 +543,13 @@ public class MappingApiToModel {
         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, 
String node)
+                org.apache.juddi.model.BusinessEntity modelBusinessEntity)
                 throws DispositionReportFaultMessage {
                 modelBusinessServiceList.clear();
-                modelBusinessEntity.setNodeId(node);
                 if (apiBusinessServices != null) {
                         List<org.uddi.api_v3.BusinessService> 
apiBusinessServiceList = apiBusinessServices.getBusinessService();
                         for (org.uddi.api_v3.BusinessService 
apiBusinessService : apiBusinessServiceList) {
                                 org.apache.juddi.model.BusinessService 
modelBusinessService = new org.apache.juddi.model.BusinessService();
-                                modelBusinessService.setNodeId(node);
 
                                 // 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
@@ -562,7 +560,7 @@ public class MappingApiToModel {
 
                                         
modelServiceProjectionList.add(modelServiceProjection);
                                 } else {
-                                        mapBusinessService(apiBusinessService, 
modelBusinessService, modelBusinessEntity, node);
+                                        mapBusinessService(apiBusinessService, 
modelBusinessService, modelBusinessEntity);
                                         
modelBusinessServiceList.add(modelBusinessService);
                                 }
                         }
@@ -579,11 +577,9 @@ public class MappingApiToModel {
          */
         public static void mapBusinessService(org.uddi.api_v3.BusinessService 
apiBusinessService,
                 org.apache.juddi.model.BusinessService modelBusinessService,
-                org.apache.juddi.model.BusinessEntity modelBusinessEntity, 
String node)
+                org.apache.juddi.model.BusinessEntity modelBusinessEntity)
                 throws DispositionReportFaultMessage {
 
-                modelBusinessService.setNodeId(node);
-                modelBusinessEntity.setNodeId(node);
                 modelBusinessService.setBusinessEntity(modelBusinessEntity);
                 
modelBusinessService.setEntityKey(apiBusinessService.getServiceKey());
 
@@ -594,7 +590,7 @@ public class MappingApiToModel {
                         mapCategoryBag(apiBusinessService.getCategoryBag(), 
modelBusinessService.getCategoryBag());
                 }
 
-                mapBindingTemplates(apiBusinessService.getBindingTemplates(), 
modelBusinessService.getBindingTemplates(), modelBusinessService, node);
+                mapBindingTemplates(apiBusinessService.getBindingTemplates(), 
modelBusinessService.getBindingTemplates(), modelBusinessService);
                 mapBusinessServiceSignature(apiBusinessService.getSignature(), 
modelBusinessService);
         }
 
@@ -644,7 +640,7 @@ public class MappingApiToModel {
          */
         public static void 
mapBindingTemplates(org.uddi.api_v3.BindingTemplates apiBindingTemplates,
                 List<org.apache.juddi.model.BindingTemplate> 
modelBindingTemplateList,
-                org.apache.juddi.model.BusinessService modelBusinessService, 
String node)
+                org.apache.juddi.model.BusinessService modelBusinessService)
                 throws DispositionReportFaultMessage {
                 modelBindingTemplateList.clear();
 
@@ -653,7 +649,7 @@ public class MappingApiToModel {
                         for (org.uddi.api_v3.BindingTemplate 
apiBindingTemplate : apiBindingTemplateList) {
                                 org.apache.juddi.model.BindingTemplate 
modelBindingTemplate = new org.apache.juddi.model.BindingTemplate();
 
-                                mapBindingTemplate(apiBindingTemplate, 
modelBindingTemplate, modelBusinessService, node);
+                                mapBindingTemplate(apiBindingTemplate, 
modelBindingTemplate, modelBusinessService);
 
                                 
modelBindingTemplateList.add(modelBindingTemplate);
                         }
@@ -670,7 +666,7 @@ public class MappingApiToModel {
          */
         public static void mapBindingTemplate(org.uddi.api_v3.BindingTemplate 
apiBindingTemplate,
                 org.apache.juddi.model.BindingTemplate modelBindingTemplate,
-                org.apache.juddi.model.BusinessService modelBusinessService, 
String node)
+                org.apache.juddi.model.BusinessService modelBusinessService)
                 throws DispositionReportFaultMessage {
 
                 modelBindingTemplate.setBusinessService(modelBusinessService);
@@ -886,14 +882,13 @@ public class MappingApiToModel {
          * @throws DispositionReportFaultMessage
          */
         public static void mapTModel(org.uddi.api_v3.TModel apiTModel,
-                org.apache.juddi.model.Tmodel modelTModel, String node)
+                org.apache.juddi.model.Tmodel modelTModel)
                 throws DispositionReportFaultMessage {
 
                 modelTModel.setEntityKey(apiTModel.getTModelKey());
                 modelTModel.setName(apiTModel.getName().getValue());
                 modelTModel.setLangCode(apiTModel.getName().getLang());
                 modelTModel.setDeleted(apiTModel.isDeleted());
-                modelTModel.setNodeId(node);
 
                 mapTModelDescriptions(apiTModel.getDescription(), 
modelTModel.getTmodelDescrs(), modelTModel);
                 mapTModelIdentifiers(apiTModel.getIdentifierBag(), 
modelTModel.getTmodelIdentifiers(), modelTModel);

Modified: 
juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_030_BusinessEntityTest.java
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_030_BusinessEntityTest.java?rev=1546763&r1=1546762&r2=1546763&view=diff
==============================================================================
--- 
juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_030_BusinessEntityTest.java
 (original)
+++ 
juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_030_BusinessEntityTest.java
 Sat Nov 30 18:38:37 2013
@@ -15,11 +15,13 @@
 package org.apache.juddi.api.impl;
 
 import java.rmi.RemoteException;
+import java.util.UUID;
 
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.juddi.Registry;
+import org.apache.juddi.auth.MockWebServiceContext;
 import org.apache.juddi.v3.tck.TckBusiness;
 import org.apache.juddi.v3.tck.TckFindEntity;
 import org.apache.juddi.v3.tck.TckPublisher;
@@ -29,93 +31,128 @@ import org.junit.AfterClass;
 import org.junit.Assert;
 import org.junit.BeforeClass;
 import org.junit.Test;
+import org.uddi.api_v3.BusinessDetail;
+import org.uddi.api_v3.BusinessEntity;
+import org.uddi.api_v3.Name;
+import org.uddi.api_v3.SaveBusiness;
 import org.uddi.v3_service.UDDISecurityPortType;
 
 /**
  * @author <a href="mailto:[email protected]";>Jeff Faath</a>
  * @author <a href="mailto:[email protected]";>Kurt T Stam</a>
+ * @author <a href="mailto:[email protected]";>Alex O'Ree</a>
  */
 public class API_030_BusinessEntityTest {
-       
-       private static Log logger                   = 
LogFactory.getLog(API_030_BusinessEntityTest.class);
-       
-       private static API_010_PublisherTest api010 = new 
API_010_PublisherTest();
-       private static TckTModel tckTModel          = new TckTModel(new 
UDDIPublicationImpl(), new UDDIInquiryImpl());
-       private static TckBusiness tckBusiness      = new TckBusiness(new 
UDDIPublicationImpl(), new UDDIInquiryImpl());
-       private static TckFindEntity tckFindEntity  = new TckFindEntity(new 
UDDIInquiryImpl());
-       private static String authInfoJoe           = null;
-       private static String authInfoSam           = null;
-       
-       @BeforeClass
-       public static void setup() throws ConfigurationException {
-               Registry.start();
-               logger.debug("Getting auth token..");
-               try {
-                       api010.saveJoePublisher();
-                       api010.saveSamSyndicator();
-                       UDDISecurityPortType security      = new 
UDDISecurityImpl();
-                       authInfoJoe = TckSecurity.getAuthToken(security, 
TckPublisher.getJoePublisherId(),  TckPublisher.getJoePassword());
-                       authInfoSam = TckSecurity.getAuthToken(security, 
TckPublisher.getSamPublisherId(),  TckPublisher.getSamPassword());
-                       String authInfoUDDI  = 
TckSecurity.getAuthToken(security, TckPublisher.getUDDIPublisherId(),  
TckPublisher.getUDDIPassword());
-                       tckTModel.saveUDDIPublisherTmodel(authInfoUDDI);
-                       tckTModel.saveTModels(authInfoUDDI, 
TckTModel.TMODELS_XML);
-               } catch (RemoteException e) {
-                       logger.error(e.getMessage(), e);
-                       Assert.fail("Could not obtain authInfo token.");
-               }
-       }
-       
-       @AfterClass
-       public static void stopRegistry() throws ConfigurationException {
-               Registry.stop();
-       }
-       
-       @Test
-       public void testJoePublisherBusinessEntity() {
-               try {
-                       tckTModel.saveJoePublisherTmodel(authInfoJoe);
-                       
-                       tckBusiness.saveJoePublisherBusiness(authInfoJoe);
-                       tckBusiness.deleteJoePublisherBusiness(authInfoJoe);
-               } catch (Exception e) {
-                       e.printStackTrace();
-                       
-               } finally {
-                       tckTModel.deleteJoePublisherTmodel(authInfoJoe);
-               }
-       }       
-       
-       @Test
-       public void testSamSyndicatorBusiness() {
-               try {
-                       tckTModel.saveSamSyndicatorTmodel(authInfoSam);
-                       tckBusiness.saveSamSyndicatorBusiness(authInfoSam);
-                       tckBusiness.deleteSamSyndicatorBusiness(authInfoSam);
-               } finally {
-                       tckTModel.deleteSamSyndicatorTmodel(authInfoSam);
-               }
-       }
-       
-       @Test
-       public void testJoePublisherBusinessEntitySignature() {
-               try {
-                       tckTModel.saveJoePublisherTmodel(authInfoJoe);
-                       
tckBusiness.saveJoePublisherBusinessX509Signature(authInfoJoe);
-                       tckFindEntity.findAllBusiness();
-                       tckTModel.saveSamSyndicatorTmodel(authInfoSam);
-                       tckBusiness.saveSamSyndicatorBusiness(authInfoSam);
-                       
-                       //find the signed business
-                       tckFindEntity.findAllSignedBusiness();
-                       
-                       tckBusiness.deleteSamSyndicatorBusiness(authInfoSam);
-                       tckBusiness.deleteJoePublisherBusiness(authInfoJoe);
-                       
-               } finally {
-                       tckTModel.deleteJoePublisherTmodel(authInfoJoe);
-                       tckTModel.deleteSamSyndicatorTmodel(authInfoSam);
-               }
-       }
-       
-       
+
+        private static Log logger = 
LogFactory.getLog(API_030_BusinessEntityTest.class);
+        private static API_010_PublisherTest api010 = new 
API_010_PublisherTest();
+        private static TckTModel tckTModel = new TckTModel(new 
UDDIPublicationImpl(), new UDDIInquiryImpl());
+        private static TckBusiness tckBusiness = new TckBusiness(new 
UDDIPublicationImpl(), new UDDIInquiryImpl());
+        private static TckFindEntity tckFindEntity = new TckFindEntity(new 
UDDIInquiryImpl());
+        private static String authInfoJoe = null;
+        private static String authInfoSam = null;
+
+        @BeforeClass
+        public static void setup() throws ConfigurationException {
+                Registry.start();
+                logger.debug("Getting auth token..");
+                try {
+                        api010.saveJoePublisher();
+                        api010.saveSamSyndicator();
+                        UDDISecurityPortType security = new UDDISecurityImpl();
+                        authInfoJoe = TckSecurity.getAuthToken(security, 
TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
+                        authInfoSam = TckSecurity.getAuthToken(security, 
TckPublisher.getSamPublisherId(), TckPublisher.getSamPassword());
+                        String authInfoUDDI = 
TckSecurity.getAuthToken(security, TckPublisher.getUDDIPublisherId(), 
TckPublisher.getUDDIPassword());
+                        tckTModel.saveUDDIPublisherTmodel(authInfoUDDI);
+                        tckTModel.saveTModels(authInfoUDDI, 
TckTModel.TMODELS_XML);
+                } catch (RemoteException e) {
+                        logger.error(e.getMessage(), e);
+                        Assert.fail("Could not obtain authInfo token.");
+                }
+        }
+
+        @AfterClass
+        public static void stopRegistry() throws ConfigurationException {
+                Registry.stop();
+        }
+
+        @Test
+        public void testJoePublisherBusinessEntity() {
+                try {
+                        tckTModel.saveJoePublisherTmodel(authInfoJoe);
+
+                        tckBusiness.saveJoePublisherBusiness(authInfoJoe);
+                        tckBusiness.deleteJoePublisherBusiness(authInfoJoe);
+                } catch (Exception e) {
+                        e.printStackTrace();
+
+                } finally {
+                        tckTModel.deleteJoePublisherTmodel(authInfoJoe);
+                }
+        }
+
+        @Test
+        public void testSamSyndicatorBusiness() {
+                try {
+                        tckTModel.saveSamSyndicatorTmodel(authInfoSam);
+                        tckBusiness.saveSamSyndicatorBusiness(authInfoSam);
+                        tckBusiness.deleteSamSyndicatorBusiness(authInfoSam);
+                } finally {
+                        tckTModel.deleteSamSyndicatorTmodel(authInfoSam);
+                }
+        }
+
+        @Test
+        public void testJoePublisherBusinessEntitySignature() {
+                try {
+                        tckTModel.saveJoePublisherTmodel(authInfoJoe);
+                        
tckBusiness.saveJoePublisherBusinessX509Signature(authInfoJoe);
+                        tckFindEntity.findAllBusiness();
+                        tckTModel.saveSamSyndicatorTmodel(authInfoSam);
+                        tckBusiness.saveSamSyndicatorBusiness(authInfoSam);
+
+                        //find the signed business
+                        tckFindEntity.findAllSignedBusiness();
+
+                        tckBusiness.deleteSamSyndicatorBusiness(authInfoSam);
+                        tckBusiness.deleteJoePublisherBusiness(authInfoJoe);
+
+                } finally {
+                        tckTModel.deleteJoePublisherTmodel(authInfoJoe);
+                        tckTModel.deleteSamSyndicatorTmodel(authInfoSam);
+                }
+        }
+
+        /**
+         * simulates a multinode registry via replication and attempts to save
+         * content that is owned by another node.
+         *
+         * @throws Exception
+         */
+        @Test
+        public void testJIRA727() throws Exception {
+                UDDIPublicationImplExt pubRemoteNode = new 
UDDIPublicationImplExt(new MockWebServiceContext(null));
+                UDDIPublicationImpl pubLocalNode = new UDDIPublicationImpl();
+                UDDISecurityPortType security = new UDDISecurityImpl();
+                authInfoJoe = TckSecurity.getAuthToken(security, 
TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
+                SaveBusiness sb = new SaveBusiness();
+                sb.setAuthInfo(authInfoJoe);
+                BusinessEntity be = new BusinessEntity();
+                be.getName().add(new Name("testJIRA727", "en"));
+                String node = "testJIRA727Node" + UUID.randomUUID().toString();
+                sb.getBusinessEntity().add(be);
+                BusinessDetail saveBusinessFudge = 
pubRemoteNode.saveBusinessFudge(sb, node);
+
+                sb = new SaveBusiness();
+                sb.setAuthInfo(authInfoJoe);
+                
sb.getBusinessEntity().add(saveBusinessFudge.getBusinessEntity().get(0));
+                try {
+                        saveBusinessFudge = pubLocalNode.saveBusiness(sb);
+                        Assert.fail("unexpected success");
+                } catch (Exception ex) {
+                        logger.warn(ex.getMessage());
+                        logger.debug(ex);
+                }
+
+        }
 }

Modified: 
juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/UDDIPublicationImplExt.java
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/UDDIPublicationImplExt.java?rev=1546763&r1=1546762&r2=1546763&view=diff
==============================================================================
--- 
juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/UDDIPublicationImplExt.java
 (original)
+++ 
juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/UDDIPublicationImplExt.java
 Sat Nov 30 18:38:37 2013
@@ -15,25 +15,203 @@
  */
 package org.apache.juddi.api.impl;
 
+import java.util.Date;
+import java.util.List;
+import javax.persistence.EntityManager;
+import javax.persistence.EntityTransaction;
 import javax.xml.ws.WebServiceContext;
-import org.apache.juddi.api.impl.ServiceCounterLifecycleResource;
-import org.apache.juddi.api.impl.UDDIPublicationImpl;
-import org.apache.juddi.api.impl.UDDIPublicationImpl;
-import org.apache.juddi.api.impl.UDDISecurityImpl;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.juddi.config.PersistenceManager;
+import org.apache.juddi.mapping.MappingApiToModel;
+import org.apache.juddi.model.UddiEntityPublisher;
+import org.apache.juddi.validation.ValidatePublish;
+import org.uddi.api_v3.BusinessDetail;
+import org.uddi.api_v3.SaveBusiness;
+import org.uddi.v3_service.DispositionReportFaultMessage;
 
 /**
+ * This class is for testing purposes only and enables you to override the
+ * requestor's ip address
  *
  * @author Alex O'Ree
  */
 public class UDDIPublicationImplExt extends UDDIPublicationImpl {
 
-    /**
-     * used for unit tests only
-     *
-     * @param ctx
-     */
-    protected UDDIPublicationImplExt(WebServiceContext ctx) {
-        super();
-        this.ctx = ctx;
-    }
+        /**
+         * used for unit tests only
+         *
+         * @param ctx
+         */
+        protected UDDIPublicationImplExt(WebServiceContext ctx) {
+                super();
+                this.ctx = ctx;
+        }
+        Log log = LogFactory.getLog(UDDIPublicationImplExt.class);
+
+        private String nodeId="";
+        public BusinessDetail saveBusinessFudge(SaveBusiness body, String 
nodeID)
+                throws DispositionReportFaultMessage {
+
+                if (!body.getBusinessEntity().isEmpty()) {
+                        log.debug("Inbound save business Fudger request for 
key " + body.getBusinessEntity().get(0).getBusinessKey());
+                }
+                EntityManager em = PersistenceManager.getEntityManager();
+                EntityTransaction tx = em.getTransaction();
+                try {
+                        tx.begin();
+
+                        UddiEntityPublisher publisher = 
this.getEntityPublisher(em, body.getAuthInfo());
+
+                        ValidatePublish validator = new 
ValidatePublish(publisher);
+                        validator.validateSaveBusiness(em, body, null);
+
+                        BusinessDetail result = new BusinessDetail();
+
+                        List<org.uddi.api_v3.BusinessEntity> 
apiBusinessEntityList = body.getBusinessEntity();
+                        for (org.uddi.api_v3.BusinessEntity apiBusinessEntity 
: apiBusinessEntityList) {
+
+                                org.apache.juddi.model.BusinessEntity 
modelBusinessEntity = new org.apache.juddi.model.BusinessEntity();
+
+                                
+                                
MappingApiToModel.mapBusinessEntity(apiBusinessEntity, modelBusinessEntity);
+                                nodeId = nodeID;
+
+                                setOperationalInfo(em, modelBusinessEntity, 
publisher);
+
+                                em.persist(modelBusinessEntity);
+
+                                
result.getBusinessEntity().add(apiBusinessEntity);
+                        }
+
+                        //check how many business this publisher owns.
+                        validator.validateSaveBusinessMax(em);
+
+                        tx.commit();
+
+                        return result;
+                } catch (DispositionReportFaultMessage drfm) {
+
+                        throw drfm;
+                } finally {
+                        if (tx.isActive()) {
+                                tx.rollback();
+                        }
+                        em.close();
+                }
+        }
+        
+        private void setOperationalInfo(EntityManager em, 
org.apache.juddi.model.BusinessEntity uddiEntity, UddiEntityPublisher 
publisher) throws DispositionReportFaultMessage {
+
+               uddiEntity.setAuthorizedName(publisher.getAuthorizedName());
+
+               Date now = new Date();
+               uddiEntity.setModified(now);
+               uddiEntity.setModifiedIncludingChildren(now);
+
+
+               uddiEntity.setNodeId(nodeId);
+               
+               org.apache.juddi.model.BusinessEntity existingUddiEntity = 
em.find(uddiEntity.getClass(), uddiEntity.getEntityKey());
+               if (existingUddiEntity != null)
+                       uddiEntity.setCreated(existingUddiEntity.getCreated());
+               else
+                       uddiEntity.setCreated(now);
+               
+               List<org.apache.juddi.model.BusinessService> serviceList = 
uddiEntity.getBusinessServices();
+               for (org.apache.juddi.model.BusinessService service : 
serviceList)
+                       setOperationalInfo(em, service, publisher, true);
+               
+               
+               if (existingUddiEntity != null)
+                       em.remove(existingUddiEntity);
+               
+       }
+
+       private void setOperationalInfo(EntityManager em, 
org.apache.juddi.model.BusinessService uddiEntity, UddiEntityPublisher 
publisher, boolean isChild) throws DispositionReportFaultMessage {
+
+               uddiEntity.setAuthorizedName(publisher.getAuthorizedName());
+
+               Date now = new Date();
+               uddiEntity.setModified(now);
+               uddiEntity.setModifiedIncludingChildren(now);
+               
+               if(!isChild) {
+                       org.apache.juddi.model.BusinessEntity parent = 
em.find(org.apache.juddi.model.BusinessEntity.class, 
uddiEntity.getBusinessEntity().getEntityKey());
+                       parent.setModifiedIncludingChildren(now);
+                       em.persist(parent);
+               }
+
+               uddiEntity.setNodeId(nodeId);
+               
+               org.apache.juddi.model.BusinessService existingUddiEntity = 
em.find(uddiEntity.getClass(), uddiEntity.getEntityKey());
+               if (existingUddiEntity != null) {
+                       uddiEntity.setCreated(existingUddiEntity.getCreated());
+               }
+               else
+                       uddiEntity.setCreated(now);
+               
+               List<org.apache.juddi.model.BindingTemplate> bindingList = 
uddiEntity.getBindingTemplates();
+               for (org.apache.juddi.model.BindingTemplate binding : 
bindingList)
+                       setOperationalInfo(em, binding, publisher, true);
+               
+               
+               if (existingUddiEntity != null)
+                       em.remove(existingUddiEntity);
+               
+       }
+
+       private void setOperationalInfo(EntityManager em, 
org.apache.juddi.model.BindingTemplate uddiEntity, UddiEntityPublisher 
publisher, boolean isChild) throws DispositionReportFaultMessage {
+
+               uddiEntity.setAuthorizedName(publisher.getAuthorizedName());
+
+               Date now = new Date();
+               uddiEntity.setModified(now);
+               uddiEntity.setModifiedIncludingChildren(now);
+
+               if(!isChild) {
+                       org.apache.juddi.model.BusinessService parent = 
em.find(org.apache.juddi.model.BusinessService.class, 
uddiEntity.getBusinessService().getEntityKey());
+                       parent.setModifiedIncludingChildren(now);
+                       em.persist(parent);
+                       
+                       // JUDDI-421:  now the businessEntity parent will have 
it's modifiedIncludingChildren set
+                       org.apache.juddi.model.BusinessEntity businessParent = 
em.find(org.apache.juddi.model.BusinessEntity.class, 
parent.getBusinessEntity().getEntityKey());
+                       businessParent.setModifiedIncludingChildren(now);
+                       em.persist(businessParent);
+               }
+
+               uddiEntity.setNodeId(nodeId);
+               
+               org.apache.juddi.model.BindingTemplate existingUddiEntity = 
em.find(uddiEntity.getClass(), uddiEntity.getEntityKey());
+               if (existingUddiEntity != null)
+                       uddiEntity.setCreated(existingUddiEntity.getCreated());
+               else
+                       uddiEntity.setCreated(now);
+               
+               if (existingUddiEntity != null)
+                       em.remove(existingUddiEntity);
+               
+       }
+       
+       private void setOperationalInfo(EntityManager em, 
org.apache.juddi.model.Tmodel uddiEntity, UddiEntityPublisher publisher) throws 
DispositionReportFaultMessage {
+
+               uddiEntity.setAuthorizedName(publisher.getAuthorizedName());
+               
+               Date now = new Date();
+               uddiEntity.setModified(now);
+               uddiEntity.setModifiedIncludingChildren(now);
+
+               uddiEntity.setNodeId(nodeId);
+               
+               org.apache.juddi.model.Tmodel existingUddiEntity = 
em.find(uddiEntity.getClass(), uddiEntity.getEntityKey());
+               if (existingUddiEntity != null)
+                       uddiEntity.setCreated(existingUddiEntity.getCreated());
+               else
+                       uddiEntity.setCreated(now);
+               
+               if (existingUddiEntity != null)
+                       em.remove(existingUddiEntity);
+               
+       }
+
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to