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 2013/11/30 19:43:51 UTC

svn commit: r1546766 - in /juddi/branches/juddi-3.3.x/juddi-core/src: main/java/org/apache/juddi/api/impl/ main/java/org/apache/juddi/config/ main/java/org/apache/juddi/mapping/ test/java/org/apache/juddi/api/impl/

Author: alexoree
Date: Sat Nov 30 18:43:51 2013
New Revision: 1546766

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

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

Modified: juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/api/impl/AuthenticatedService.java
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/api/impl/AuthenticatedService.java?rev=1546766&r1=1546765&r2=1546766&view=diff
==============================================================================
--- juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/api/impl/AuthenticatedService.java (original)
+++ juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/api/impl/AuthenticatedService.java Sat Nov 30 18:43:51 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/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIPublicationImpl.java
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIPublicationImpl.java?rev=1546766&r1=1546765&r2=1546766&view=diff
==============================================================================
--- juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIPublicationImpl.java (original)
+++ juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIPublicationImpl.java Sat Nov 30 18:43:51 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/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/config/Install.java
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/config/Install.java?rev=1546766&r1=1546765&r2=1546766&view=diff
==============================================================================
--- juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/config/Install.java (original)
+++ juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/config/Install.java Sat Nov 30 18:43:51 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/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/mapping/MappingApiToModel.java
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/mapping/MappingApiToModel.java?rev=1546766&r1=1546765&r2=1546766&view=diff
==============================================================================
--- juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/mapping/MappingApiToModel.java (original)
+++ juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/mapping/MappingApiToModel.java Sat Nov 30 18:43:51 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/branches/juddi-3.3.x/juddi-core/src/test/java/org/apache/juddi/api/impl/API_030_BusinessEntityTest.java
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.3.x/juddi-core/src/test/java/org/apache/juddi/api/impl/API_030_BusinessEntityTest.java?rev=1546766&r1=1546765&r2=1546766&view=diff
==============================================================================
--- juddi/branches/juddi-3.3.x/juddi-core/src/test/java/org/apache/juddi/api/impl/API_030_BusinessEntityTest.java (original)
+++ juddi/branches/juddi-3.3.x/juddi-core/src/test/java/org/apache/juddi/api/impl/API_030_BusinessEntityTest.java Sat Nov 30 18:43:51 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:jfaath@apache.org">Jeff Faath</a>
  * @author <a href="mailto:kstam@apache.org">Kurt T Stam</a>
+ * @author <a href="mailto:alexoree@apache.org">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/branches/juddi-3.3.x/juddi-core/src/test/java/org/apache/juddi/api/impl/UDDIPublicationImplExt.java
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.3.x/juddi-core/src/test/java/org/apache/juddi/api/impl/UDDIPublicationImplExt.java?rev=1546766&r1=1546765&r2=1546766&view=diff
==============================================================================
--- juddi/branches/juddi-3.3.x/juddi-core/src/test/java/org/apache/juddi/api/impl/UDDIPublicationImplExt.java (original)
+++ juddi/branches/juddi-3.3.x/juddi-core/src/test/java/org/apache/juddi/api/impl/UDDIPublicationImplExt.java Sat Nov 30 18:43:51 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: commits-unsubscribe@juddi.apache.org
For additional commands, e-mail: commits-help@juddi.apache.org