Author: kstam
Date: Tue Apr 9 21:00:40 2013
New Revision: 1466229
URL: http://svn.apache.org/r1466229
Log:
JUDDI-572, OpenJPA can throw a ClassCastException if an invalid key is given.
Now catching this and sending out an InvalidKeyException.
Modified:
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/InquiryHelper.java
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIInquiryImpl.java
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISubscriptionListenerImpl.java
Modified:
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/InquiryHelper.java
URL:
http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/InquiryHelper.java?rev=1466229&r1=1466228&r2=1466229&view=diff
==============================================================================
---
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/InquiryHelper.java
(original)
+++
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/InquiryHelper.java
Tue Apr 9 21:00:40 2013
@@ -192,11 +192,11 @@ public class InquiryHelper {
keysFound = FindBusinessByTModelKeyQuery.select(em,
findQualifiers, body.getTModelBag(), keysFound);
keysFound = FindBusinessByIdentifierQuery.select(em,
findQualifiers, body.getIdentifierBag(), keysFound);
keysFound = FindBusinessByDiscoveryURLQuery.select(em,
findQualifiers, body.getDiscoveryURLs(), keysFound);
- if (findQualifiers.isCombineCategoryBags()) {
- keysFound = FindBusinessByCombinedCategoryQuery.select(em,
findQualifiers, body.getCategoryBag(), keysFound);
- } else {
- keysFound = FindBusinessByCategoryQuery.select(em,
findQualifiers, body.getCategoryBag(), keysFound);
- }
+ if (findQualifiers.isCombineCategoryBags()) {
+ keysFound = FindBusinessByCombinedCategoryQuery.select(em,
findQualifiers, body.getCategoryBag(), keysFound);
+ } else {
+ keysFound = FindBusinessByCategoryQuery.select(em, findQualifiers,
body.getCategoryBag(), keysFound);
+ }
keysFound = FindBusinessByCategoryGroupQuery.select(em,
findQualifiers, body.getCategoryBag(), keysFound);
keysFound = FindBusinessByNameQuery.select(em, findQualifiers,
body.getName(), keysFound);
@@ -470,8 +470,10 @@ public class InquiryHelper {
throws DispositionReportFaultMessage {
if (relatedBusinessInfos == null)
relatedBusinessInfos = new
org.uddi.api_v3.RelatedBusinessInfos();
-
- org.apache.juddi.model.BusinessEntity focalBusiness =
em.find(org.apache.juddi.model.BusinessEntity.class, focalKey);
+ org.apache.juddi.model.BusinessEntity focalBusiness = null;
+ try {
+ focalBusiness =
em.find(org.apache.juddi.model.BusinessEntity.class, focalKey);
+ } catch (ClassCastException e) {}
if (focalBusiness == null)
throw new InvalidKeyPassedException(new
ErrorMessage("errors.invalidkey.BusinessNotFound", focalKey));
Modified:
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java
URL:
http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java?rev=1466229&r1=1466228&r2=1466229&view=diff
==============================================================================
---
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java
(original)
+++
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java
Tue Apr 9 21:00:40 2013
@@ -175,9 +175,11 @@ public class JUDDIApiImpl extends Authen
List<String> publisherIdList = body.getPublisherId();
for (String publisherId : publisherIdList) {
-
- org.apache.juddi.model.Publisher modelPublisher
= em.find(org.apache.juddi.model.Publisher.class, publisherId);
- if (modelPublisher == null) {
+ org.apache.juddi.model.Publisher modelPublisher
= null;
+ try {
+ modelPublisher =
em.find(org.apache.juddi.model.Publisher.class, publisherId);
+ } catch (ClassCastException e) {}
+ if (modelPublisher == null) {
throw new InvalidKeyPassedException(new
ErrorMessage("errors.invalidkey.PublisherNotFound", publisherId));
}
@@ -388,8 +390,10 @@ public class JUDDIApiImpl extends Authen
List<String> subscriptionKeyList =
body.getClientSubscriptionKey();
for (String subscriptionKey : subscriptionKeyList) {
- org.apache.juddi.model.ClientSubscriptionInfo
modelClientSubscriptionInfo =
-
em.find(org.apache.juddi.model.ClientSubscriptionInfo.class, subscriptionKey);
+ org.apache.juddi.model.ClientSubscriptionInfo
modelClientSubscriptionInfo = null;
+ try {
+ modelClientSubscriptionInfo =
em.find(org.apache.juddi.model.ClientSubscriptionInfo.class, subscriptionKey);
+ } catch (ClassCastException e) {}
if (modelClientSubscriptionInfo == null) {
throw new InvalidKeyPassedException(new
ErrorMessage("errors.invalidkey.SubscripKeyNotFound", subscriptionKey));
}
@@ -523,8 +527,10 @@ public class JUDDIApiImpl extends Authen
this.getEntityPublisher(em, body.getAuthInfo());
for (GetSubscriptionResults getSubscriptionResult :
body.getGetSubscriptionResultsList()) {
String subscriptionKey =
getSubscriptionResult.getSubscriptionKey();
- org.apache.juddi.model.ClientSubscriptionInfo
modelClientSubscriptionInfo =
-
em.find(org.apache.juddi.model.ClientSubscriptionInfo.class, subscriptionKey);
+ org.apache.juddi.model.ClientSubscriptionInfo
modelClientSubscriptionInfo = null;
+ try {
+ modelClientSubscriptionInfo =
em.find(org.apache.juddi.model.ClientSubscriptionInfo.class, subscriptionKey);
+ } catch (ClassCastException e) {}
if (modelClientSubscriptionInfo == null) {
throw new InvalidKeyPassedException(new
ErrorMessage("errors.invalidkey.SubscripKeyNotFound", subscriptionKey));
}
Modified:
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIInquiryImpl.java
URL:
http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIInquiryImpl.java?rev=1466229&r1=1466228&r2=1466229&view=diff
==============================================================================
---
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIInquiryImpl.java
(original)
+++
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIInquiryImpl.java
Tue Apr 9 21:00:40 2013
@@ -108,9 +108,12 @@ public class UDDIInquiryImpl extends Aut
// Check that we were passed a valid serviceKey
per
// 5.1.12.4 of the UDDI v3 spec
String serviceKey = body.getServiceKey();
- org.apache.juddi.model.BusinessService
modelBusinessService = em.find(org.apache.juddi.model.BusinessService.class,
serviceKey);
- if (modelBusinessService == null)
- throw new InvalidKeyPassedException(new
ErrorMessage("errors.invalidkey.ServiceNotFound", serviceKey));
+ org.apache.juddi.model.BusinessService
modelBusinessService = null;
+ try {
+
em.find(org.apache.juddi.model.BusinessService.class, serviceKey);
+ } catch (ClassCastException e) {}
+ if (modelBusinessService == null)
+ throw new InvalidKeyPassedException(new
ErrorMessage("errors.invalidkey.ServiceNotFound", serviceKey));
}
}
@@ -236,12 +239,15 @@ public class UDDIInquiryImpl extends Aut
if (keysFound.size() == 0) {
if (body.getBusinessKey() != null) {
// Check that we were passed a valid
businessKey per
- // 5.1.12.4 of the UDDI v3 spec
- String businessKey = body.getBusinessKey();
- org.apache.juddi.model.BusinessEntity
modelBusinessEntity = em.find(org.apache.juddi.model.BusinessEntity.class,
businessKey);
- if (modelBusinessEntity == null) {
- throw new InvalidKeyPassedException(new
ErrorMessage("errors.invalidkey.BusinessNotFound", businessKey));
- }
+ // 5.1.12.4 of the UDDI v3 spec
+ String businessKey = body.getBusinessKey();
+ org.apache.juddi.model.BusinessEntity
modelBusinessEntity = null;
+ try {
+ modelBusinessEntity =
em.find(org.apache.juddi.model.BusinessEntity.class, businessKey);
+ } catch (ClassCastException e) {}
+ if (modelBusinessEntity == null) {
+ throw new InvalidKeyPassedException(new
ErrorMessage("errors.invalidkey.BusinessNotFound", businessKey));
+ }
}
}
@@ -324,8 +330,10 @@ public class UDDIInquiryImpl extends Aut
List<String> bindingKeyList = body.getBindingKey();
for (String bindingKey : bindingKeyList) {
-
- org.apache.juddi.model.BindingTemplate
modelBindingTemplate = em.find(org.apache.juddi.model.BindingTemplate.class,
bindingKey);
+ org.apache.juddi.model.BindingTemplate
modelBindingTemplate = null;
+ try {
+ modelBindingTemplate =
em.find(org.apache.juddi.model.BindingTemplate.class, bindingKey);
+ } catch (ClassCastException e) {}
if (modelBindingTemplate == null)
throw new InvalidKeyPassedException(new
ErrorMessage("errors.invalidkey.BindingTemplateNotFound", bindingKey));
@@ -373,8 +381,10 @@ public class UDDIInquiryImpl extends Aut
List<String> businessKeyList = body.getBusinessKey();
for (String businessKey : businessKeyList) {
-
- org.apache.juddi.model.BusinessEntity
modelBusinessEntity = em.find(org.apache.juddi.model.BusinessEntity.class,
businessKey);
+ org.apache.juddi.model.BusinessEntity
modelBusinessEntity = null;
+ try {
+ modelBusinessEntity =
em.find(org.apache.juddi.model.BusinessEntity.class, businessKey);
+ } catch (ClassCastException e) {}
if (modelBusinessEntity == null)
throw new InvalidKeyPassedException(new
ErrorMessage("errors.invalidkey.BusinessNotFound", businessKey));
@@ -422,8 +432,10 @@ public class UDDIInquiryImpl extends Aut
List<String> entityKeyList = body.getEntityKey();
for (String entityKey : entityKeyList) {
-
- org.apache.juddi.model.UddiEntity
modelUddiEntity = em.find(org.apache.juddi.model.UddiEntity.class, entityKey);
+ org.apache.juddi.model.UddiEntity
modelUddiEntity = null;
+ try {
+ modelUddiEntity =
em.find(org.apache.juddi.model.UddiEntity.class, entityKey);
+ } catch (ClassCastException e) {}
if (modelUddiEntity == null)
throw new InvalidKeyPassedException(new
ErrorMessage("errors.invalidkey.EntityNotFound", entityKey));
@@ -450,14 +462,14 @@ public class UDDIInquiryImpl extends Aut
public ServiceDetail getServiceDetail(GetServiceDetail body)
throws DispositionReportFaultMessage {
- long startTime = System.nanoTime();
- try {
- new ValidateInquiry(null).validateGetServiceDetail(body);
- } catch (DispositionReportFaultMessage drfm) {
- long procTime = System.nanoTime() - startTime;
- serviceCounter.update(InquiryQuery.GET_SERVICEDETAIL,
QueryStatus.FAILED, procTime);
- throw drfm;
- }
+ long startTime = System.nanoTime();
+ try {
+ new ValidateInquiry(null).validateGetServiceDetail(body);
+ } catch (DispositionReportFaultMessage drfm) {
+ long procTime = System.nanoTime() - startTime;
+ serviceCounter.update(InquiryQuery.GET_SERVICEDETAIL,
QueryStatus.FAILED, procTime);
+ throw drfm;
+ }
EntityManager em = PersistenceManager.getEntityManager();
EntityTransaction tx = em.getTransaction();
@@ -471,8 +483,10 @@ public class UDDIInquiryImpl extends Aut
List<String> serviceKeyList = body.getServiceKey();
for (String serviceKey : serviceKeyList) {
-
- org.apache.juddi.model.BusinessService
modelBusinessService = em.find(org.apache.juddi.model.BusinessService.class,
serviceKey);
+ org.apache.juddi.model.BusinessService
modelBusinessService = null;
+ try {
+ modelBusinessService =
em.find(org.apache.juddi.model.BusinessService.class, serviceKey);
+ } catch (ClassCastException e){}
if (modelBusinessService == null)
throw new InvalidKeyPassedException(new
ErrorMessage("errors.invalidkey.ServiceNotFound", serviceKey));
@@ -521,11 +535,12 @@ public class UDDIInquiryImpl extends Aut
List<String> tmodelKeyList = body.getTModelKey();
for (String tmodelKey : tmodelKeyList) {
-
- org.apache.juddi.model.Tmodel modelTModel =
em.find(org.apache.juddi.model.Tmodel.class, tmodelKey);
- if (modelTModel == null) {
+ org.apache.juddi.model.Tmodel modelTModel =
null;
+ try {
+ modelTModel =
em.find(org.apache.juddi.model.Tmodel.class, tmodelKey);
+ } catch (ClassCastException e) {}
+ if (modelTModel == null)
throw new InvalidKeyPassedException(new
ErrorMessage("errors.invalidkey.TModelNotFound", tmodelKey));
- }
org.uddi.api_v3.TModel apiTModel = new
org.uddi.api_v3.TModel();
Modified:
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISubscriptionListenerImpl.java
URL:
http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISubscriptionListenerImpl.java?rev=1466229&r1=1466228&r2=1466229&view=diff
==============================================================================
---
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISubscriptionListenerImpl.java
(original)
+++
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISubscriptionListenerImpl.java
Tue Apr 9 21:00:40 2013
@@ -75,8 +75,10 @@ public class UDDISubscriptionListenerImp
this.getEntityPublisher(em, body.getAuthInfo());
String subscriptionKey =
body.getSubscriptionResultsList().getSubscription().getSubscriptionKey();
- org.apache.juddi.model.ClientSubscriptionInfo
modelClientSubscriptionInfo =
-
em.find(org.apache.juddi.model.ClientSubscriptionInfo.class, subscriptionKey);
+ org.apache.juddi.model.ClientSubscriptionInfo
modelClientSubscriptionInfo = null;
+ try {
+ modelClientSubscriptionInfo =
em.find(org.apache.juddi.model.ClientSubscriptionInfo.class, subscriptionKey);
+ } catch (ClassCastException e) {}
if (modelClientSubscriptionInfo == null) {
throw new InvalidKeyPassedException(new
ErrorMessage("errors.invalidkey.SubscripKeyNotFound", subscriptionKey));
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]