You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juddi.apache.org by jf...@apache.org on 2009/04/24 04:47:04 UTC
svn commit: r768132 - in
/webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/api/impl:
InquiryHelper.java UDDIInquiryImpl.java UDDISubscriptionImpl.java
Author: jfaath
Date: Fri Apr 24 02:47:03 2009
New Revision: 768132
URL: http://svn.apache.org/viewvc?rev=768132&view=rev
Log:
JUDDI-210, JUDDI-213: completed the get_subscriptionResults method and handled "virtually" deleted entities
Modified:
webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/InquiryHelper.java
webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIInquiryImpl.java
webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISubscriptionImpl.java
Modified: webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/InquiryHelper.java
URL: http://svn.apache.org/viewvc/webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/InquiryHelper.java?rev=768132&r1=768131&r2=768132&view=diff
==============================================================================
--- webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/InquiryHelper.java (original)
+++ webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/InquiryHelper.java Fri Apr 24 02:47:03 2009
@@ -56,6 +56,7 @@
import org.uddi.api_v3.FindService;
import org.uddi.api_v3.FindTModel;
import org.uddi.api_v3.ListDescription;
+import org.uddi.api_v3.RelatedBusinessesList;
import org.uddi.api_v3.ServiceList;
import org.uddi.api_v3.TModelBag;
import org.uddi.api_v3.TModelList;
@@ -289,11 +290,22 @@
* structure.
*/
public static void getRelatedBusinesses(EntityManager em,
- Direction direction,
- String focalKey,
- org.uddi.api_v3.KeyedReference keyedRef,
- org.uddi.api_v3.RelatedBusinessInfos relatedBusinessInfos)
- throws DispositionReportFaultMessage {
+ Direction direction,
+ String focalKey,
+ org.uddi.api_v3.KeyedReference keyedRef,
+ org.uddi.api_v3.RelatedBusinessInfos relatedBusinessInfos)
+ throws DispositionReportFaultMessage {
+ getRelatedBusinesses(em, direction, focalKey, keyedRef, relatedBusinessInfos, null, null);
+ }
+
+ public static void getRelatedBusinesses(EntityManager em,
+ Direction direction,
+ String focalKey,
+ org.uddi.api_v3.KeyedReference keyedRef,
+ org.uddi.api_v3.RelatedBusinessInfos relatedBusinessInfos,
+ Date modifiedAfter,
+ Date modifiedBefore)
+ throws DispositionReportFaultMessage {
if (relatedBusinessInfos == null)
relatedBusinessInfos = new org.uddi.api_v3.RelatedBusinessInfos();
@@ -324,6 +336,12 @@
else
modelRelatedBusiness = em.find(org.apache.juddi.model.BusinessEntity.class, modelPublisherAssertion.getId().getFromKey());
+ if (modifiedAfter != null && modifiedAfter.after(modelRelatedBusiness.getModifiedIncludingChildren()))
+ continue;
+
+ if (modifiedBefore != null && modifiedBefore.before(modelRelatedBusiness.getModifiedIncludingChildren()))
+ continue;
+
org.uddi.api_v3.RelatedBusinessInfo apiRelatedBusinessInfo = new org.uddi.api_v3.RelatedBusinessInfo();
MappingModelToApi.mapRelatedBusinessInfo(modelPublisherAssertion, modelRelatedBusiness, direction, apiRelatedBusinessInfo);
@@ -334,6 +352,39 @@
}
}
+
+ public static RelatedBusinessesList getRelatedBusinessesList(FindRelatedBusinesses body, EntityManager em) throws DispositionReportFaultMessage {
+ return getRelatedBusinessesList(body, em, null, null);
+ }
+
+ public static RelatedBusinessesList getRelatedBusinessesList(FindRelatedBusinesses body, EntityManager em, Date modifiedAfter, Date modifiedBefore) throws DispositionReportFaultMessage {
+ RelatedBusinessesList result = new RelatedBusinessesList();
+ ListDescription listDesc = new ListDescription();
+ result.setListDescription(listDesc);
+
+ // Either one of the businessKey, fromKey or toKey will be passed. This is considered the "focal" business to which related businesses must be
+ // found. Rather than use a query, it seems simpler to take advantage of the model's publisher assertion collections.
+ org.uddi.api_v3.RelatedBusinessInfos relatedBusinessInfos = new org.uddi.api_v3.RelatedBusinessInfos();
+ if (body.getBusinessKey() != null ) {
+ InquiryHelper.getRelatedBusinesses(em, Direction.FROM_KEY, body.getBusinessKey(), body.getKeyedReference(), relatedBusinessInfos, modifiedAfter, modifiedBefore);
+ InquiryHelper.getRelatedBusinesses(em, Direction.TO_KEY, body.getBusinessKey(), body.getKeyedReference(), relatedBusinessInfos, modifiedAfter, modifiedBefore);
+ }
+ else if (body.getFromKey() != null)
+ InquiryHelper.getRelatedBusinesses(em, Direction.FROM_KEY, body.getFromKey(), body.getKeyedReference(), relatedBusinessInfos, modifiedAfter, modifiedBefore);
+ else if (body.getToKey() != null)
+ InquiryHelper.getRelatedBusinesses(em, Direction.TO_KEY, body.getToKey(), body.getKeyedReference(), relatedBusinessInfos, modifiedAfter, modifiedBefore);
+
+ if (relatedBusinessInfos.getRelatedBusinessInfo().size() > 0) {
+ // TODO: Do proper pagination!
+ listDesc.setActualCount(relatedBusinessInfos.getRelatedBusinessInfo().size());
+ listDesc.setIncludeCount(relatedBusinessInfos.getRelatedBusinessInfo().size());
+ listDesc.setListHead(1);
+
+ result.setRelatedBusinessInfos(relatedBusinessInfos);
+ }
+
+ return result;
+ }
/*
* Performs the necessary queries for the find_tModel search and adds resulting tModel keys to the tModelBag provided.
Modified: webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIInquiryImpl.java
URL: http://svn.apache.org/viewvc/webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIInquiryImpl.java?rev=768132&r1=768131&r2=768132&view=diff
==============================================================================
--- webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIInquiryImpl.java (original)
+++ webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIInquiryImpl.java Fri Apr 24 02:47:03 2009
@@ -49,8 +49,6 @@
import org.uddi.api_v3.ServiceList;
import org.uddi.api_v3.TModelDetail;
import org.uddi.api_v3.TModelList;
-import org.uddi.api_v3.ListDescription;
-import org.uddi.api_v3.Direction;
import org.uddi.v3_service.DispositionReportFaultMessage;
import org.uddi.v3_service.UDDIInquiryPortType;
import org.apache.juddi.api.datatype.GetPublisherDetail;
@@ -135,30 +133,7 @@
org.apache.juddi.query.util.FindQualifiers findQualifiers = new org.apache.juddi.query.util.FindQualifiers();
findQualifiers.mapApiFindQualifiers(body.getFindQualifiers());
- RelatedBusinessesList result = new RelatedBusinessesList();
- ListDescription listDesc = new ListDescription();
- result.setListDescription(listDesc);
-
- // Either one of the businessKey, fromKey or toKey will be passed. This is considered the "focal" business to which related businesses must be
- // found. Rather than use a query, it seems simpler to take advantage of the model's publisher assertion collections.
- org.uddi.api_v3.RelatedBusinessInfos relatedBusinessInfos = new org.uddi.api_v3.RelatedBusinessInfos();
- if (body.getBusinessKey() != null ) {
- InquiryHelper.getRelatedBusinesses(em, Direction.FROM_KEY, body.getBusinessKey(), body.getKeyedReference(), relatedBusinessInfos);
- InquiryHelper.getRelatedBusinesses(em, Direction.TO_KEY, body.getBusinessKey(), body.getKeyedReference(), relatedBusinessInfos);
- }
- else if (body.getFromKey() != null)
- InquiryHelper.getRelatedBusinesses(em, Direction.FROM_KEY, body.getFromKey(), body.getKeyedReference(), relatedBusinessInfos);
- else if (body.getToKey() != null)
- InquiryHelper.getRelatedBusinesses(em, Direction.TO_KEY, body.getToKey(), body.getKeyedReference(), relatedBusinessInfos);
-
- if (relatedBusinessInfos.getRelatedBusinessInfo().size() > 0) {
- // TODO: Do proper pagination!
- listDesc.setActualCount(relatedBusinessInfos.getRelatedBusinessInfo().size());
- listDesc.setIncludeCount(relatedBusinessInfos.getRelatedBusinessInfo().size());
- listDesc.setListHead(1);
-
- result.setRelatedBusinessInfos(relatedBusinessInfos);
- }
+ RelatedBusinessesList result = InquiryHelper.getRelatedBusinessesList(body, em);
tx.commit();
em.close();
Modified: webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISubscriptionImpl.java
URL: http://svn.apache.org/viewvc/webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISubscriptionImpl.java?rev=768132&r1=768131&r2=768132&view=diff
==============================================================================
--- webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISubscriptionImpl.java (original)
+++ webservices/juddi/branches/v3_trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISubscriptionImpl.java Fri Apr 24 02:47:03 2009
@@ -30,17 +30,22 @@
import javax.xml.datatype.DatatypeFactory;
import javax.xml.ws.Holder;
+import org.uddi.api_v3.AssertionStatusItem;
+import org.uddi.api_v3.AssertionStatusReport;
import org.uddi.api_v3.BindingDetail;
import org.uddi.api_v3.BusinessDetail;
import org.uddi.api_v3.BusinessList;
import org.uddi.api_v3.FindBinding;
import org.uddi.api_v3.FindBusiness;
+import org.uddi.api_v3.FindRelatedBusinesses;
import org.uddi.api_v3.FindService;
import org.uddi.api_v3.FindTModel;
+import org.uddi.api_v3.GetAssertionStatusReport;
import org.uddi.api_v3.GetBindingDetail;
import org.uddi.api_v3.GetBusinessDetail;
import org.uddi.api_v3.GetServiceDetail;
import org.uddi.api_v3.GetTModelDetail;
+import org.uddi.api_v3.RelatedBusinessesList;
import org.uddi.api_v3.ServiceDetail;
import org.uddi.api_v3.ServiceList;
import org.uddi.api_v3.TModelDetail;
@@ -258,6 +263,9 @@
}
if (subscriptionFilter.getFindRelatedBusinesses() != null) {
+ FindRelatedBusinesses findRelatedBusiness = subscriptionFilter.getFindRelatedBusinesses();
+ RelatedBusinessesList relatedBusinessList = InquiryHelper.getRelatedBusinessesList(findRelatedBusiness, em, startPointDate, endPointDate);
+ result.setRelatedBusinessesList(relatedBusinessList);
}
if (subscriptionFilter.getGetBindingDetail() != null) {
GetBindingDetail getDetail = subscriptionFilter.getGetBindingDetail();
@@ -378,6 +386,17 @@
result.getKeyBag().add(missingKeyBag);
}
if (subscriptionFilter.getGetAssertionStatusReport() != null) {
+ // The coverage period doesn't apply here (basically because publisher assertions don't keep operational info).
+
+ GetAssertionStatusReport getAssertionStatusReport = subscriptionFilter.getGetAssertionStatusReport();
+
+ List<AssertionStatusItem> assertionList = PublicationHelper.getAssertionStatusItemList(publisher, getAssertionStatusReport.getCompletionStatus(), em);
+
+ AssertionStatusReport assertionStatusReport = new AssertionStatusReport();
+ for(AssertionStatusItem asi : assertionList)
+ assertionStatusReport.getAssertionStatusItem().add(asi);
+
+ result.setAssertionStatusReport(assertionStatusReport);
}
tx.commit();
---------------------------------------------------------------------
To unsubscribe, e-mail: juddi-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: juddi-cvs-help@ws.apache.org