Author: alexoree
Date: Fri Sep 27 00:22:01 2013
New Revision: 1526759
URL: http://svn.apache.org/r1526759
Log:
JUDDI-655 fixed
Modified:
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISubscriptionImpl.java
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/subscription/SubscriptionNotifier.java
juddi/trunk/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckSubscription.java
Modified:
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISubscriptionImpl.java
URL:
http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISubscriptionImpl.java?rev=1526759&r1=1526758&r2=1526759&view=diff
==============================================================================
---
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISubscriptionImpl.java
(original)
+++
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISubscriptionImpl.java
Fri Sep 27 00:22:01 2013
@@ -175,6 +175,8 @@ public class UDDISubscriptionImpl extend
if (logger.isDebugEnabled()) logger.debug("filter=" +
modelSubscription.getSubscriptionFilter());
SubscriptionResultsList result = new
SubscriptionResultsList();
+ result.setChunkToken("0");
+ //chunkToken: Optional element used to retrieve
subsequent groups of data when the first invocation of this API indicates more
data is available. This occurs when a chunkToken is returned whose value is
not "0" in the validValuesList structure described in the next section. To
retrieve the next chunk of data, the chunkToken returned should be used as an
argument to the next invocation of this API.
result.setCoveragePeriod(body.getCoveragePeriod());
// The subscription structure is required output for
the results
Modified:
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/subscription/SubscriptionNotifier.java
URL:
http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/subscription/SubscriptionNotifier.java?rev=1526759&r1=1526758&r2=1526759&view=diff
==============================================================================
---
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/subscription/SubscriptionNotifier.java
(original)
+++
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/subscription/SubscriptionNotifier.java
Fri Sep 27 00:22:01 2013
@@ -160,17 +160,32 @@ public class SubscriptionNotifier extend
GetSubscriptionResults
getSubscriptionResults =
buildGetSubscriptionResults(subscription, notificationDate);
if
(getSubscriptionResults!=null) {
- //TODO chunking
getSubscriptionResults.setSubscriptionKey(subscription.getSubscriptionKey());
UddiEntityPublisher
publisher = new UddiEntityPublisher();
publisher.setAuthorizedName(subscription.getAuthorizedName());
SubscriptionResultsList
resultList = subscriptionImpl.getSubscriptionResults(getSubscriptionResults,
publisher);
+ String token =
resultList.getChunkToken();
if
(resultListContainsChanges(resultList)) {
log.debug("We
have a change and need to notify " + subscription.getSubscriptionKey());
+
resultList.setChunkToken(null);
+ //Note that the
chunkToken is not returned with this structure for this API.
notify(getSubscriptionResults,resultList, notificationDate);
} else {
log.debug("No
changes where recorded, no need to notify.");
}
+ while
(!token.equalsIgnoreCase("0"))
+ {
+ resultList =
subscriptionImpl.getSubscriptionResults(getSubscriptionResults, publisher);
+ if
(resultListContainsChanges(resultList)) {
+
log.debug("We have a change and need to notify " +
subscription.getSubscriptionKey());
+
resultList.setChunkToken(null);
+ //Note that
the chunkToken is not returned with this structure for this API.
+
notify(getSubscriptionResults,resultList, notificationDate);
+ } else {
+
log.debug("No changes where recorded, no need to notify.");
+ }
+ }
+
}
} catch (Exception e) {
log.error("Could not obtain
subscriptionResult for subscriptionKey "
Modified:
juddi/trunk/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckSubscription.java
URL:
http://svn.apache.org/viewvc/juddi/trunk/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckSubscription.java?rev=1526759&r1=1526758&r2=1526759&view=diff
==============================================================================
---
juddi/trunk/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckSubscription.java
(original)
+++
juddi/trunk/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckSubscription.java
Fri Sep 27 00:22:01 2013
@@ -198,14 +198,15 @@ public class TckSubscription
String chunkToken = "";
int iterations = 0;
- while (chunkToken != null) {
+ //JUDDI-655
+ while (chunkToken != null &&
!chunkToken.equalsIgnoreCase("0")) {
iterations++;
-
+
getSubResultsIn.setChunkToken(chunkToken);
SubscriptionResultsList result =
subscription.getSubscriptionResults(getSubResultsIn);
if (result == null)
Assert.fail("Null result from
getSubscriptionResults operation");
-
+ Assert.assertNotNull("Chunk token should either
be not null or '0'",result.getChunkToken());
TModelList tmodelList = result.getTModelList();
if (tmodelList == null)
Assert.fail("No result from
getSubscriptionResults operation on chunk attempt " + iterations);
@@ -247,14 +248,14 @@ public class TckSubscription
String chunkToken = "";
int iterations = 0;
- while (chunkToken != null) {
+ while (chunkToken != null &&
!chunkToken.equalsIgnoreCase("0")) {
iterations++;
getSubResultsIn.setChunkToken(chunkToken);
SubscriptionResultsList result =
subscription.getSubscriptionResults(getSubResultsIn);
if (result == null)
Assert.fail("Null result from
getSubscriptionResults operation");
-
+ Assert.assertNotNull("Chunk token should either
be not null or '0'",result.getChunkToken());
TModelDetail tmodelDetail =
result.getTModelDetail();
if (tmodelDetail == null)
Assert.fail("No result from
getSubscriptionResults operation on chunk attempt " + iterations);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]