You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juddi.apache.org by ks...@apache.org on 2010/03/11 21:20:40 UTC

svn commit: r922005 - in /webservices/juddi/trunk: juddi-client/src/main/java/org/apache/juddi/v3/client/config/XRegistration.java juddi-core/src/main/java/org/apache/juddi/api/impl/XRegisterHelper.java

Author: kstam
Date: Thu Mar 11 20:20:39 2010
New Revision: 922005

URL: http://svn.apache.org/viewvc?rev=922005&view=rev
Log:
JUDDI-370, only adding the business if it is not already found.

Modified:
    webservices/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/XRegistration.java
    webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/XRegisterHelper.java

Modified: webservices/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/XRegistration.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/XRegistration.java?rev=922005&r1=922004&r2=922005&view=diff
==============================================================================
--- webservices/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/XRegistration.java (original)
+++ webservices/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/XRegistration.java Thu Mar 11 20:20:39 2010
@@ -57,16 +57,18 @@ public class XRegistration {
 		this.entityKey = entityKey;
 	}
 	
-	
+	/**
+	 * Copies the BusinessInformation from one UDDI to another UDDI. Note that no services are being
+	 * copied over by this service. Use xRegisterService to copy over services.
+	 */
 	public void xRegisterBusiness() {
 		BusinessEntity businessEntity;
 		try {
 			businessEntity = fromClerk.findBusiness(entityKey,fromClerk.getUDDINode().getApiNode());
 			log.info("xregister business " + businessEntity.getName().get(0).getValue() + " + from "
 					+ fromClerk.getName() + " to " + toClerk.getName());
-			if (businessEntity.getBusinessServices()==null || businessEntity.getBusinessServices().getBusinessService().size()==0) {
-				businessEntity.setBusinessServices(null);
-			}
+			//not bringing over the services. They need to be explicitly copied using xRegisterService.
+			businessEntity.setBusinessServices(null);
 			toClerk.register(businessEntity,toClerk.getUDDINode().getApiNode());
 		} catch (Exception e) {
 			log.error("Could not " + toString() + ". " + e.getMessage() + " " + e.getCause(),e);

Modified: webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/XRegisterHelper.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/XRegisterHelper.java?rev=922005&r1=922004&r2=922005&view=diff
==============================================================================
--- webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/XRegisterHelper.java (original)
+++ webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/XRegisterHelper.java Thu Mar 11 20:20:39 2010
@@ -19,6 +19,8 @@ package org.apache.juddi.api.impl;
 import org.apache.juddi.api_v3.Clerk;
 import org.apache.juddi.v3.client.config.UDDIClerk;
 import org.apache.juddi.v3.client.config.XRegistration;
+import org.apache.log4j.Logger;
+import org.uddi.api_v3.BusinessEntity;
 import org.uddi.api_v3.ServiceInfo;
 import org.uddi.sub_v3.SubscriptionResultsList;
 
@@ -30,13 +32,25 @@ import org.uddi.sub_v3.SubscriptionResul
  */
 public class XRegisterHelper {
 
+	private static Logger log = Logger.getLogger(XRegisterHelper.class);
+	
 	public static void handle(Clerk fromClerk, Clerk toClerk, SubscriptionResultsList list) {
 		
 		if (list.getServiceList()!=null) {
+			
 			for (ServiceInfo serviceInfo : list.getServiceList().getServiceInfos().getServiceInfo() ) {
-				serviceInfo.getBusinessKey();
-				new XRegistration(serviceInfo.getBusinessKey(), new UDDIClerk(fromClerk), new UDDIClerk(toClerk)).xRegisterBusiness();
-				new XRegistration(serviceInfo.getServiceKey(), new UDDIClerk(fromClerk), new UDDIClerk(toClerk)).xRegisterService();
+				
+				UDDIClerk uddiToClerk = new UDDIClerk(toClerk);
+				try {
+					BusinessEntity existingEntity = uddiToClerk.findBusiness(serviceInfo.getBusinessKey(), toClerk.getNode());
+				    if (existingEntity==null) {
+				    	log.info("Business was not found in the destination UDDI " + toClerk.getNode().getName() 
+				    			+ ", going to add it in.");
+				    	new XRegistration(serviceInfo.getBusinessKey(), new UDDIClerk(fromClerk), new UDDIClerk(toClerk)).xRegisterBusiness();
+				    }
+				    new XRegistration(serviceInfo.getServiceKey(), new UDDIClerk(fromClerk), new UDDIClerk(toClerk)).xRegisterService();
+				} catch (Exception e) {
+					log.error(e.getMessage(),e);				}
 			}
 		}
 		



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