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 <[email protected]> Authored: Fri Feb 21 11:52:04 2014 -0500 Committer: Kurt Stam <[email protected]> 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:[email protected]">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: [email protected] For additional commands, e-mail: [email protected]
