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 2014/02/21 17:53:13 UTC

[1/3] git commit: https://issues.apache.org/jira/browse/JUDDI-841 fixing generated key so it uses the publisher's domain

Repository: juddi
Updated Branches:
  refs/heads/master 8ecfc7ff4 -> 161d03c06


https://issues.apache.org/jira/browse/JUDDI-841 fixing generated key so it uses the publisher's domain


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

Branch: refs/heads/master
Commit: 034954fca5c5e6fef2b1fcd9b1c1b13809dd51cd
Parents: c1a7f8c
Author: Kurt Stam <ks...@apache.org>
Authored: Fri Feb 21 11:52:04 2014 -0500
Committer: Kurt Stam <ks...@apache.org>
Committed: Fri Feb 21 11:52:04 2014 -0500

----------------------------------------------------------------------
 .gitignore                                      |  3 ++
 juddi-core-openjpa/src/.gitignore               |  1 +
 juddi-core-openjpa/src/test/.gitignore          |  1 +
 .../juddi/api/impl/PublicationHelper.java       |  3 ++
 .../juddi/api/impl/UDDIPublicationImpl.java     | 19 ++++----
 .../juddi/api/impl/UDDISubscriptionImpl.java    |  5 +-
 .../juddi/keygen/DefaultKeyGenerator.java       | 51 +++++++++++++++++---
 .../org/apache/juddi/keygen/KeyGenerator.java   |  3 +-
 .../juddi/validation/ValidatePublish.java       | 48 +++++++++---------
 .../juddi/validation/ValidateSubscription.java  | 10 ++--
 .../juddi/api/impl/UDDIPublicationImplExt.java  |  5 +-
 .../apache/juddi/keygen/KeyGeneratorTest.java   | 16 +++++-
 12 files changed, 114 insertions(+), 51 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/juddi/blob/034954fc/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..ea87317
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+target
+*/target/*
+*/derby.log

http://git-wip-us.apache.org/repos/asf/juddi/blob/034954fc/juddi-core-openjpa/src/.gitignore
----------------------------------------------------------------------
diff --git a/juddi-core-openjpa/src/.gitignore b/juddi-core-openjpa/src/.gitignore
new file mode 100644
index 0000000..95811e0
--- /dev/null
+++ b/juddi-core-openjpa/src/.gitignore
@@ -0,0 +1 @@
+/main

http://git-wip-us.apache.org/repos/asf/juddi/blob/034954fc/juddi-core-openjpa/src/test/.gitignore
----------------------------------------------------------------------
diff --git a/juddi-core-openjpa/src/test/.gitignore b/juddi-core-openjpa/src/test/.gitignore
new file mode 100644
index 0000000..34dbc45
--- /dev/null
+++ b/juddi-core-openjpa/src/test/.gitignore
@@ -0,0 +1 @@
+java/

http://git-wip-us.apache.org/repos/asf/juddi/blob/034954fc/juddi-core/src/main/java/org/apache/juddi/api/impl/PublicationHelper.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/java/org/apache/juddi/api/impl/PublicationHelper.java b/juddi-core/src/main/java/org/apache/juddi/api/impl/PublicationHelper.java
index eb99196..d2589ab 100644
--- a/juddi-core/src/main/java/org/apache/juddi/api/impl/PublicationHelper.java
+++ b/juddi-core/src/main/java/org/apache/juddi/api/impl/PublicationHelper.java
@@ -17,6 +17,7 @@
 package org.apache.juddi.api.impl;
 
 import java.util.ArrayList;
+import java.util.Iterator;
 import java.util.List;
 
 import javax.persistence.EntityManager;
@@ -55,5 +56,7 @@ public class PublicationHelper {
 		
 		return result;
 	}
+	
+
 
 }

http://git-wip-us.apache.org/repos/asf/juddi/blob/034954fc/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIPublicationImpl.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIPublicationImpl.java b/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIPublicationImpl.java
index 946becc..2f896ce 100644
--- a/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIPublicationImpl.java
+++ b/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIPublicationImpl.java
@@ -18,6 +18,7 @@
 package org.apache.juddi.api.impl;
 
 import java.util.Date;
+import java.util.Iterator;
 import java.util.List;
 import java.util.ArrayList;
 
@@ -48,7 +49,6 @@ import org.uddi.api_v3.ServiceDetail;
 import org.uddi.api_v3.TModelDetail;
 import org.uddi.v3_service.DispositionReportFaultMessage;
 import org.uddi.v3_service.UDDIPublicationPortType;
-
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -521,9 +521,9 @@ public class UDDIPublicationImpl extends AuthenticatedService implements UDDIPub
 			tx.begin();
 			
 			UddiEntityPublisher publisher = this.getEntityPublisher(em, body.getAuthInfo());
-			
+			publisher.populateKeyGeneratorKeys(em);
 			ValidatePublish validator = new ValidatePublish(publisher);
-			validator.validateSaveBinding(em, body, null);
+			validator.validateSaveBinding(em, body, null, publisher);
 	
 			BindingDetail result = new BindingDetail();
                         result.setListDescription(new ListDescription());
@@ -579,9 +579,9 @@ public class UDDIPublicationImpl extends AuthenticatedService implements UDDIPub
 			tx.begin();
 			
 			UddiEntityPublisher publisher = this.getEntityPublisher(em, body.getAuthInfo());
-			
+			publisher.populateKeyGeneratorKeys(em);
 			ValidatePublish validator = new ValidatePublish(publisher);
-			validator.validateSaveBusiness(em, body, null);
+			validator.validateSaveBusiness(em, body, null, publisher);
 	
 			BusinessDetail result = new BusinessDetail();
 			
@@ -632,9 +632,9 @@ public class UDDIPublicationImpl extends AuthenticatedService implements UDDIPub
 			tx.begin();
 	
 			UddiEntityPublisher publisher = this.getEntityPublisher(em, body.getAuthInfo());
-			
+			publisher.populateKeyGeneratorKeys(em);
 			ValidatePublish validator = new ValidatePublish(publisher);
-			validator.validateSaveService(em, body, null);
+			validator.validateSaveService(em, body, null, publisher);
 			
 			ServiceDetail result = new ServiceDetail();
 	
@@ -687,8 +687,8 @@ public class UDDIPublicationImpl extends AuthenticatedService implements UDDIPub
 			tx.begin();
 	
 			UddiEntityPublisher publisher = this.getEntityPublisher(em, body.getAuthInfo());
-	
-			new ValidatePublish(publisher).validateSaveTModel(em, body, null);
+			publisher.populateKeyGeneratorKeys(em);
+			new ValidatePublish(publisher).validateSaveTModel(em, body, null, publisher);
 	
 			TModelDetail result = new TModelDetail();
 	
@@ -920,6 +920,5 @@ public class UDDIPublicationImpl extends AuthenticatedService implements UDDIPub
 			em.remove(existingUddiEntity);
 		
 	}
-
 	
 }

http://git-wip-us.apache.org/repos/asf/juddi/blob/034954fc/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISubscriptionImpl.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISubscriptionImpl.java b/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISubscriptionImpl.java
index 9936d08..435d236 100644
--- a/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISubscriptionImpl.java
+++ b/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISubscriptionImpl.java
@@ -22,6 +22,7 @@ import java.util.Date;
 import java.util.GregorianCalendar;
 import java.util.List;
 import java.util.UUID;
+
 import javax.jws.WebService;
 import javax.persistence.EntityManager;
 import javax.persistence.EntityTransaction;
@@ -29,6 +30,7 @@ import javax.xml.bind.JAXBException;
 import javax.xml.datatype.DatatypeConfigurationException;
 import javax.xml.datatype.DatatypeFactory;
 import javax.xml.ws.Holder;
+
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -838,7 +840,8 @@ public class UDDISubscriptionImpl extends AuthenticatedService implements UDDISu
 			tx.begin();
 	
 			UddiEntityPublisher publisher = this.getEntityPublisher(em, authInfo);
-			new ValidateSubscription(publisher).validateSubscriptions(em, subscription.value);
+			publisher.populateKeyGeneratorKeys(em);
+			new ValidateSubscription(publisher).validateSubscriptions(em, subscription.value, publisher);
 			
 			List<org.uddi.sub_v3.Subscription> apiSubscriptionList = subscription.value;
 			for (org.uddi.sub_v3.Subscription apiSubscription : apiSubscriptionList) {

http://git-wip-us.apache.org/repos/asf/juddi/blob/034954fc/juddi-core/src/main/java/org/apache/juddi/keygen/DefaultKeyGenerator.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/java/org/apache/juddi/keygen/DefaultKeyGenerator.java b/juddi-core/src/main/java/org/apache/juddi/keygen/DefaultKeyGenerator.java
index 9ca875a..80c61d0 100644
--- a/juddi-core/src/main/java/org/apache/juddi/keygen/DefaultKeyGenerator.java
+++ b/juddi-core/src/main/java/org/apache/juddi/keygen/DefaultKeyGenerator.java
@@ -17,11 +17,14 @@
 
 package org.apache.juddi.keygen;
 
+import java.util.Iterator;
+import java.util.List;
 import java.util.UUID;
 
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.juddi.config.AppConfig;
 import org.apache.juddi.config.Property;
+import org.apache.juddi.model.UddiEntityPublisher;
 import org.apache.juddi.v3.error.ErrorMessage;
 import org.apache.juddi.v3.error.FatalErrorException;
 import org.uddi.v3_service.DispositionReportFaultMessage;
@@ -29,19 +32,51 @@ import org.uddi.v3_service.DispositionReportFaultMessage;
 /**
  * The default jUDDI key generator.  Generates a key like this:
  * 
+ * uddiScheme : domain : UUID
+ * 
+ * where domain is the shortest keyGenerator domain. 
+ * 
+ * If no domain is set for this publihser, or the publisher is 'uddi' then
+ * it defaults to the RootDomain:
+ * 
  * uddiScheme : RootDomain : UUID
  * 
  * @author <a href="mailto:jfaath@apache.org">Jeff Faath</a>
  */
 public class DefaultKeyGenerator implements KeyGenerator {
 
-	public String generate() throws DispositionReportFaultMessage {
-		String rootPartition = "";
-		try 
-		{ rootPartition = AppConfig.getConfiguration().getString(Property.JUDDI_ROOT_PARTITION); }
-		catch(ConfigurationException ce) 
-		{ throw new FatalErrorException(new ErrorMessage("errors.configuration.Retrieval", Property.JUDDI_ROOT_PARTITION));}
-		
-		return rootPartition + PARTITION_SEPARATOR + UUID.randomUUID();
+	public String generate(UddiEntityPublisher publisher) throws DispositionReportFaultMessage {
+		String domain = getDomain(publisher);
+		if (domain==null) {
+			String rootPartition = "";
+			try 
+			{ rootPartition = AppConfig.getConfiguration().getString(Property.JUDDI_ROOT_PARTITION); }
+			catch(ConfigurationException ce) 
+			{ throw new FatalErrorException(new ErrorMessage("errors.configuration.Retrieval", Property.JUDDI_ROOT_PARTITION));}
+			domain = rootPartition;
+		}
+		return domain + PARTITION_SEPARATOR + UUID.randomUUID();
 	}
+	
+	public static String getDomain(UddiEntityPublisher publisher) {
+		String domain = null;
+		if (publisher==null || "uddi".equalsIgnoreCase(publisher.getAuthorizedName())) return domain; //default to the rootPartition
+		List<String> domains = publisher.getKeyGeneratorKeys();
+		if (domains!=null && !domains.isEmpty()) {
+			Iterator<String> iter = domains.iterator();
+			int partsMax = 1000;
+			//pick the KeyGenerator with the fewest amount of parts, ignoring the subdomain keys. 
+			while (iter.hasNext()) {
+				String thisDomain = iter.next();
+				String[] parts = thisDomain.split(":");
+				if (domain == null || (2 <= parts.length && parts.length < partsMax)) {
+					partsMax = parts.length;
+					domain = thisDomain;
+				}
+			}
+			domain = domain.substring(0, domain.lastIndexOf(":"));
+		}
+		return domain;
+	}
+
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/juddi/blob/034954fc/juddi-core/src/main/java/org/apache/juddi/keygen/KeyGenerator.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/java/org/apache/juddi/keygen/KeyGenerator.java b/juddi-core/src/main/java/org/apache/juddi/keygen/KeyGenerator.java
index 4e6073c..f9705fa 100644
--- a/juddi-core/src/main/java/org/apache/juddi/keygen/KeyGenerator.java
+++ b/juddi-core/src/main/java/org/apache/juddi/keygen/KeyGenerator.java
@@ -17,6 +17,7 @@
 
 package org.apache.juddi.keygen;
 
+import org.apache.juddi.model.UddiEntityPublisher;
 import org.uddi.v3_service.DispositionReportFaultMessage;
 
 /**
@@ -30,5 +31,5 @@ public interface KeyGenerator {
 	/*
 	 * Generates a key that is used to save a UDDI entity.
 	 */
-	public String generate() throws DispositionReportFaultMessage;
+	public String generate(UddiEntityPublisher publisher) throws DispositionReportFaultMessage;
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/juddi/blob/034954fc/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java b/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java
index c6e4c3b..be89d4d 100644
--- a/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java
+++ b/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java
@@ -326,7 +326,7 @@ public class ValidatePublish extends ValidateUDDIApi {
                 }
         }
 
-        public void validateSaveBusiness(EntityManager em, SaveBusiness body, Configuration config) throws DispositionReportFaultMessage {
+        public void validateSaveBusiness(EntityManager em, SaveBusiness body, Configuration config, UddiEntityPublisher publisher) throws DispositionReportFaultMessage {
 
                 if (config == null) {
                         try {
@@ -347,7 +347,7 @@ public class ValidatePublish extends ValidateUDDIApi {
                 }
 
                 for (org.uddi.api_v3.BusinessEntity entity : entityList) {
-                        validateBusinessEntity(em, entity, config);
+                        validateBusinessEntity(em, entity, config, publisher);
                 }
         }
 
@@ -379,7 +379,7 @@ public class ValidatePublish extends ValidateUDDIApi {
 
         }
 
-        public void validateSaveService(EntityManager em, SaveService body, Configuration config) throws DispositionReportFaultMessage {
+        public void validateSaveService(EntityManager em, SaveService body, Configuration config, UddiEntityPublisher publisher) throws DispositionReportFaultMessage {
 
                 if (config == null) {
                         try {
@@ -401,7 +401,7 @@ public class ValidatePublish extends ValidateUDDIApi {
 
                 for (org.uddi.api_v3.BusinessService entity : entityList) {
                         // Entity specific data validation
-                        validateBusinessService(em, entity, null, config);
+                        validateBusinessService(em, entity, null, config, publisher);
                 }
         }
 
@@ -432,7 +432,7 @@ public class ValidatePublish extends ValidateUDDIApi {
                 }
         }
 
-        public void validateSaveBinding(EntityManager em, SaveBinding body, Configuration config) throws DispositionReportFaultMessage {
+        public void validateSaveBinding(EntityManager em, SaveBinding body, Configuration config, UddiEntityPublisher publisher) throws DispositionReportFaultMessage {
 
                 if (config == null) {
                         try {
@@ -453,7 +453,7 @@ public class ValidatePublish extends ValidateUDDIApi {
                 }
 
                 for (org.uddi.api_v3.BindingTemplate entity : entityList) {
-                        validateBindingTemplate(em, entity, null, config);
+                        validateBindingTemplate(em, entity, null, config, publisher);
                 }
         }
 
@@ -484,7 +484,7 @@ public class ValidatePublish extends ValidateUDDIApi {
                 }
         }
 
-        public void validateSaveTModel(EntityManager em, SaveTModel body, Configuration config) throws DispositionReportFaultMessage {
+        public void validateSaveTModel(EntityManager em, SaveTModel body, Configuration config, UddiEntityPublisher publisher) throws DispositionReportFaultMessage {
 
                 if (config == null) {
                         try {
@@ -505,7 +505,7 @@ public class ValidatePublish extends ValidateUDDIApi {
                 }
 
                 for (org.uddi.api_v3.TModel entity : entityList) {
-                        validateTModel(em, entity, config);
+                        validateTModel(em, entity, config, publisher);
                 }
         }
 
@@ -642,7 +642,8 @@ public class ValidatePublish extends ValidateUDDIApi {
                 }
         }
 
-        public void validateBusinessEntity(EntityManager em, org.uddi.api_v3.BusinessEntity businessEntity, Configuration config) throws DispositionReportFaultMessage {
+        public void validateBusinessEntity(EntityManager em, org.uddi.api_v3.BusinessEntity businessEntity, 
+        		Configuration config, UddiEntityPublisher publisher) throws DispositionReportFaultMessage {
 
                 // A supplied businessEntity can't be null
                 if (businessEntity == null) {
@@ -654,7 +655,7 @@ public class ValidatePublish extends ValidateUDDIApi {
                 String entityKey = businessEntity.getBusinessKey();
                 if (entityKey == null || entityKey.length() == 0) {
                         KeyGenerator keyGen = KeyGeneratorFactory.getKeyGenerator();
-                        entityKey = keyGen.generate();
+                        entityKey = keyGen.generate(publisher);
                         businessEntity.setBusinessKey(entityKey);
                 } else {
                         // Per section 4.4: keys must be case-folded
@@ -696,11 +697,12 @@ public class ValidatePublish extends ValidateUDDIApi {
                 validateCategoryBag(businessEntity.getCategoryBag(), config, false);
                 validateIdentifierBag(businessEntity.getIdentifierBag(), config, false);
                 validateDescriptions(businessEntity.getDescription());
-                validateBusinessServices(em, businessEntity.getBusinessServices(), businessEntity, config);
+                validateBusinessServices(em, businessEntity.getBusinessServices(), businessEntity, config, publisher);
 
         }
 
-        public void validateBusinessServices(EntityManager em, org.uddi.api_v3.BusinessServices businessServices, org.uddi.api_v3.BusinessEntity parent, Configuration config)
+        public void validateBusinessServices(EntityManager em, org.uddi.api_v3.BusinessServices businessServices, 
+        		org.uddi.api_v3.BusinessEntity parent, Configuration config, UddiEntityPublisher publisher)
                 throws DispositionReportFaultMessage {
                 // Business services is optional
                 if (businessServices == null) {
@@ -712,12 +714,13 @@ public class ValidatePublish extends ValidateUDDIApi {
                 }
 
                 for (org.uddi.api_v3.BusinessService businessService : businessServiceList) {
-                        validateBusinessService(em, businessService, parent, config);
+                        validateBusinessService(em, businessService, parent, config, publisher);
                 }
 
         }
 
-        public void validateBusinessService(EntityManager em, org.uddi.api_v3.BusinessService businessService, org.uddi.api_v3.BusinessEntity parent, Configuration config)
+        public void validateBusinessService(EntityManager em, org.uddi.api_v3.BusinessService businessService, 
+        		org.uddi.api_v3.BusinessEntity parent, Configuration config, UddiEntityPublisher publisher)
                 throws DispositionReportFaultMessage {
 
                 // A supplied businessService can't be null
@@ -781,7 +784,7 @@ public class ValidatePublish extends ValidateUDDIApi {
                         boolean entityExists = false;
                         if (entityKey == null || entityKey.length() == 0) {
                                 KeyGenerator keyGen = KeyGeneratorFactory.getKeyGenerator();
-                                entityKey = keyGen.generate();
+                                entityKey = keyGen.generate(publisher);
                                 businessService.setServiceKey(entityKey);
                         } else {
 
@@ -866,12 +869,13 @@ public class ValidatePublish extends ValidateUDDIApi {
                         validateNames(businessService.getName());
                         validateCategoryBag(businessService.getCategoryBag(), config, false);
                         validateDescriptions(businessService.getDescription());
-                        validateBindingTemplates(em, businessService.getBindingTemplates(), businessService, config);
+                        validateBindingTemplates(em, businessService.getBindingTemplates(), businessService, config, publisher);
                 }
 
         }
 
-        public void validateBindingTemplates(EntityManager em, org.uddi.api_v3.BindingTemplates bindingTemplates, org.uddi.api_v3.BusinessService parent, Configuration config)
+        public void validateBindingTemplates(EntityManager em, org.uddi.api_v3.BindingTemplates bindingTemplates, 
+        		org.uddi.api_v3.BusinessService parent, Configuration config, UddiEntityPublisher publisher)
                 throws DispositionReportFaultMessage {
                 // Binding templates is optional
                 if (bindingTemplates == null) {
@@ -884,13 +888,13 @@ public class ValidatePublish extends ValidateUDDIApi {
                 }
 
                 for (org.uddi.api_v3.BindingTemplate bindingTemplate : bindingTemplateList) {
-                        validateBindingTemplate(em, bindingTemplate, parent, config);
+                        validateBindingTemplate(em, bindingTemplate, parent, config, publisher);
                 }
 
         }
 
         public void validateBindingTemplate(EntityManager em, org.uddi.api_v3.BindingTemplate bindingTemplate,
-                org.uddi.api_v3.BusinessService parent, Configuration config)
+                org.uddi.api_v3.BusinessService parent, Configuration config, UddiEntityPublisher publisher)
                 throws DispositionReportFaultMessage {
 
                 // A supplied bindingTemplate can't be null
@@ -930,7 +934,7 @@ public class ValidatePublish extends ValidateUDDIApi {
                 if (entityKey == null || entityKey.length() == 0) {
                         validateNotSigned(bindingTemplate);
                         KeyGenerator keyGen = KeyGeneratorFactory.getKeyGenerator();
-                        entityKey = keyGen.generate();
+                        entityKey = keyGen.generate(publisher);
                         bindingTemplate.setBindingKey(entityKey);
                 } else {
 
@@ -1024,7 +1028,7 @@ public class ValidatePublish extends ValidateUDDIApi {
 
         }
 
-        public void validateTModel(EntityManager em, org.uddi.api_v3.TModel tModel, Configuration config) throws DispositionReportFaultMessage {
+        public void validateTModel(EntityManager em, org.uddi.api_v3.TModel tModel, Configuration config, UddiEntityPublisher publisher) throws DispositionReportFaultMessage {
                 // A supplied tModel can't be null
                 if (tModel == null) {
                         throw new ValueNotAllowedException(new ErrorMessage("errors.tmodel.NullInput"));
@@ -1034,7 +1038,7 @@ public class ValidatePublish extends ValidateUDDIApi {
                 String entityKey = tModel.getTModelKey();
                 if (entityKey == null || entityKey.length() == 0) {
                         KeyGenerator keyGen = KeyGeneratorFactory.getKeyGenerator();
-                        entityKey = keyGen.generate();
+                        entityKey = keyGen.generate(publisher);
                         validateNotSigned(tModel);
                         tModel.setTModelKey(entityKey);
                 } else {

http://git-wip-us.apache.org/repos/asf/juddi/blob/034954fc/juddi-core/src/main/java/org/apache/juddi/validation/ValidateSubscription.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/java/org/apache/juddi/validation/ValidateSubscription.java b/juddi-core/src/main/java/org/apache/juddi/validation/ValidateSubscription.java
index 17f41f4..f334f78 100644
--- a/juddi-core/src/main/java/org/apache/juddi/validation/ValidateSubscription.java
+++ b/juddi-core/src/main/java/org/apache/juddi/validation/ValidateSubscription.java
@@ -20,8 +20,6 @@ import java.util.Date;
 import java.util.GregorianCalendar;
 import java.util.HashSet;
 import java.util.List;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 
 import javax.persistence.EntityManager;
 import javax.xml.datatype.DatatypeConfigurationException;
@@ -56,7 +54,7 @@ public class ValidateSubscription extends ValidateUDDIApi {
     }
     private DatatypeFactory df = null;
 
-    public void validateSubscriptions(EntityManager em, List<org.uddi.sub_v3.Subscription> entityList) throws DispositionReportFaultMessage {
+    public void validateSubscriptions(EntityManager em, List<org.uddi.sub_v3.Subscription> entityList, UddiEntityPublisher publisher) throws DispositionReportFaultMessage {
 
         // No null or empty list
         if (entityList == null || entityList.size() == 0) {
@@ -64,11 +62,11 @@ public class ValidateSubscription extends ValidateUDDIApi {
         }
 
         for (org.uddi.sub_v3.Subscription entity : entityList) {
-            validateSubscription(em, entity);
+            validateSubscription(em, entity, publisher);
         }
     }
 
-    private void validateSubscription(EntityManager em, org.uddi.sub_v3.Subscription subscription) throws DispositionReportFaultMessage {
+    private void validateSubscription(EntityManager em, org.uddi.sub_v3.Subscription subscription, UddiEntityPublisher publisher) throws DispositionReportFaultMessage {
 
         // A supplied subscription can't be null
         if (subscription == null) {
@@ -86,7 +84,7 @@ public class ValidateSubscription extends ValidateUDDIApi {
         //no key specified, make a new one
         if (entityKey == null || entityKey.length() == 0) {
             KeyGenerator keyGen = KeyGeneratorFactory.getKeyGenerator();
-            entityKey = keyGen.generate();
+            entityKey = keyGen.generate(publisher);
             subscription.setSubscriptionKey(entityKey);
         } else {
             //key specified, validate it

http://git-wip-us.apache.org/repos/asf/juddi/blob/034954fc/juddi-core/src/test/java/org/apache/juddi/api/impl/UDDIPublicationImplExt.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/test/java/org/apache/juddi/api/impl/UDDIPublicationImplExt.java b/juddi-core/src/test/java/org/apache/juddi/api/impl/UDDIPublicationImplExt.java
index 0209aeb..44e0c6d 100644
--- a/juddi-core/src/test/java/org/apache/juddi/api/impl/UDDIPublicationImplExt.java
+++ b/juddi-core/src/test/java/org/apache/juddi/api/impl/UDDIPublicationImplExt.java
@@ -17,9 +17,11 @@ 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.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.juddi.config.PersistenceManager;
@@ -62,9 +64,8 @@ public class UDDIPublicationImplExt extends UDDIPublicationImpl {
                         tx.begin();
 
                         UddiEntityPublisher publisher = this.getEntityPublisher(em, body.getAuthInfo());
-
                         ValidatePublish validator = new ValidatePublish(publisher);
-                        validator.validateSaveBusiness(em, body, null);
+                        validator.validateSaveBusiness(em, body, null, publisher);
 
                         BusinessDetail result = new BusinessDetail();
 

http://git-wip-us.apache.org/repos/asf/juddi/blob/034954fc/juddi-core/src/test/java/org/apache/juddi/keygen/KeyGeneratorTest.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/test/java/org/apache/juddi/keygen/KeyGeneratorTest.java b/juddi-core/src/test/java/org/apache/juddi/keygen/KeyGeneratorTest.java
index e8f2336..9a33ff1 100644
--- a/juddi-core/src/test/java/org/apache/juddi/keygen/KeyGeneratorTest.java
+++ b/juddi-core/src/test/java/org/apache/juddi/keygen/KeyGeneratorTest.java
@@ -14,10 +14,14 @@
  */
 package org.apache.juddi.keygen;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.juddi.config.Property;
+import org.apache.juddi.model.UddiEntityPublisher;
 import org.junit.Assert;
 import org.junit.Test;
 
@@ -70,8 +74,18 @@ public class KeyGeneratorTest
 		try {
 			KeyGenerator keyGenerator = KeyGeneratorFactory.forceNewKeyGenerator();
 			Assert.assertEquals(org.apache.juddi.keygen.DefaultKeyGenerator.class, keyGenerator.getClass());
-			String key = keyGenerator.generate();
+			String key = keyGenerator.generate(null);
 			Assert.assertNotNull(key);
+			Assert.assertTrue(key.startsWith("uddi:juddi.apache.org"));
+			UddiEntityPublisher publisher = new UddiEntityPublisher();
+			
+			List<String> keyGeneratorKeys = new ArrayList<String>();
+			keyGeneratorKeys.add("uddi:mydomain.org:keyGenerator");
+			publisher.setKeyGeneratorKeys(keyGeneratorKeys);
+			String key2 = keyGenerator.generate(publisher);
+			Assert.assertNotNull(key2);
+			Assert.assertTrue(key2.startsWith("uddi:mydomain.org"));
+			
 		} catch (Exception e) {
 			logger.error(e.getMessage(),e);
 			Assert.fail("unexpected");


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


[3/3] git commit: merge

Posted by ks...@apache.org.
merge


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

Branch: refs/heads/master
Commit: 161d03c069483fc188382fa241efed4e3535e982
Parents: 471a3a6 8ecfc7f
Author: Kurt Stam <ks...@apache.org>
Authored: Fri Feb 21 11:53:01 2014 -0500
Committer: Kurt Stam <ks...@apache.org>
Committed: Fri Feb 21 11:53:01 2014 -0500

----------------------------------------------------------------------
 .../main/java/org/apache/juddi/validation/ValidatePublish.java    | 3 +++
 1 file changed, 3 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/juddi/blob/161d03c0/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java
----------------------------------------------------------------------


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


[2/3] git commit: adding to ignore

Posted by ks...@apache.org.
adding to ignore


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

Branch: refs/heads/master
Commit: 471a3a6f0fe4a09902c09ad0dc084f552db0ec4e
Parents: 034954f
Author: Kurt Stam <ks...@apache.org>
Authored: Fri Feb 21 11:52:35 2014 -0500
Committer: Kurt Stam <ks...@apache.org>
Committed: Fri Feb 21 11:52:35 2014 -0500

----------------------------------------------------------------------
 .gitignore | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/juddi/blob/471a3a6f/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
index ea87317..c1a69fd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,6 @@
 target
-*/target/*
-*/derby.log
+**/target/*
+**/derby.log
+**/.project
+**/.classpath
+**/.settings/*


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