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 2009/10/19 18:40:45 UTC

svn commit: r826718 - in /webservices/juddi/trunk: docs/ juddi-core/src/main/java/org/apache/juddi/api/impl/ juddi-core/src/main/java/org/apache/juddi/model/ juddi-core/src/main/java/org/apache/juddi/subscription/ juddi-core/src/main/resources/ juddi-c...

Author: kstam
Date: Mon Oct 19 16:40:45 2009
New Revision: 826718

URL: http://svn.apache.org/viewvc?rev=826718&view=rev
Log:
JUDDI-240 fixing date handling

Added:
    webservices/juddi/trunk/juddiv3-samples/src/test/
    webservices/juddi/trunk/juddiv3-samples/src/test/xml/
    webservices/juddi/trunk/juddiv3-samples/src/test/xml/finder.xml
Modified:
    webservices/juddi/trunk/docs/jUDDI-UserGuide.odt
    webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/InquiryHelper.java
    webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/model/Subscription.java
    webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/subscription/SubscriptionNotifier.java
    webservices/juddi/trunk/juddi-core/src/main/resources/messages.properties
    webservices/juddi/trunk/juddi-core/src/test/java/org/apache/juddi/subscription/SubscriptionNotifierTest.java
    webservices/juddi/trunk/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationTest.java

Modified: webservices/juddi/trunk/docs/jUDDI-UserGuide.odt
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/docs/jUDDI-UserGuide.odt?rev=826718&r1=826717&r2=826718&view=diff
==============================================================================
Binary files - no diff available.

Modified: webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/InquiryHelper.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/InquiryHelper.java?rev=826718&r1=826717&r2=826718&view=diff
==============================================================================
--- webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/InquiryHelper.java (original)
+++ webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/InquiryHelper.java Mon Oct 19 16:40:45 2009
@@ -276,6 +276,7 @@
 		keysFound = FindServiceByCategoryGroupQuery.select(em, findQualifiers, body.getCategoryBag(), body.getBusinessKey(), keysFound);
 		keysFound = FindServiceByNameQuery.select(em, findQualifiers, body.getName(), body.getBusinessKey(), keysFound);
 		
+		if (body.getTModelBag().getTModelKey().size()==0) body.setTModelBag(null);
 		return keysFound;
 	}
 	
@@ -343,6 +344,10 @@
 				subscriptionStartIndex.value = null;
 		}
 		
+		if (result.getServiceInfos()==null || result.getServiceInfos().getServiceInfo().size()==0) {
+			return null;
+		}
+		
 		return result;
 	}
 

Modified: webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/model/Subscription.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/model/Subscription.java?rev=826718&r1=826717&r2=826718&view=diff
==============================================================================
--- webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/model/Subscription.java (original)
+++ webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/model/Subscription.java Mon Oct 19 16:40:45 2009
@@ -95,7 +95,7 @@
 		this.bindingKey = bindingKey;
 	}
 
-	@Column(name = "notification_interval", nullable = false)
+	@Column(name = "notification_interval")
 	public String getNotificationInterval() {
 		return this.notificationInterval;
 	}

Modified: webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/subscription/SubscriptionNotifier.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/subscription/SubscriptionNotifier.java?rev=826718&r1=826717&r2=826718&view=diff
==============================================================================
--- webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/subscription/SubscriptionNotifier.java (original)
+++ webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/subscription/SubscriptionNotifier.java Mon Oct 19 16:40:45 2009
@@ -59,16 +59,17 @@
 public class SubscriptionNotifier extends TimerTask {
 
 	private Logger log = Logger.getLogger(this.getClass());
-	private Timer timer = new Timer();
+	private Timer timer = null;
 	private long startBuffer = AppConfig.getConfiguration().getLong(Property.JUDDI_NOTIFICATION_START_BUFFER, 20000l); // 20s startup delay default 
 	private long interval = AppConfig.getConfiguration().getLong(Property.JUDDI_NOTIFICATION_INTERVAL, 300000l); //5 min default
 	private UDDISubscriptionImpl subscriptionImpl = new UDDISubscriptionImpl();
-	private static long ACCEPTABLE_LAG_TIME = 500l; //20 milliseconds
+	private static long ACCEPTABLE_LAG_TIME = 500l; //500 milliseconds
 	private static String SUBR_V3_NAMESPACE = "urn:uddi-org:subr_v3_portType";
 	private static String SUBSCRIPTION_LISTENER = "UDDISubscriptionListenerService";
 	
 	public SubscriptionNotifier() throws ConfigurationException {
 		super();
+		timer = new Timer();
 		timer.scheduleAtFixedRate(this, startBuffer, interval);
 	}
 
@@ -78,11 +79,11 @@
 			long startTime = System.currentTimeMillis();
 			log.debug("Start Notification background task; checking if subscription notifications need to be send out..");
 			
-			Collection<Subscription> subscriptions = getAllSubscriptions();
+			Collection<Subscription> subscriptions = getAllAsyncSubscriptions();
 			for (Subscription subscription : subscriptions) {
 				if (subscription.getExpiresAfter()==null || subscription.getExpiresAfter().getTime() > startTime) {
 					try {
-						GetSubscriptionResults getSubscriptionResults = buildGetSubscriptionResults(subscription);
+						GetSubscriptionResults getSubscriptionResults = buildGetSubscriptionResults(subscription, new Date(scheduledExecutionTime()));
 						getSubscriptionResults.setSubscriptionKey(subscription.getSubscriptionKey());
 						UddiEntityPublisher publisher = new UddiEntityPublisher();
 						publisher.setAuthorizedName(subscription.getAuthorizedName());
@@ -129,16 +130,15 @@
 			return false;
 		}
 	}
-	protected GetSubscriptionResults buildGetSubscriptionResults(Subscription subscription) 
+	protected GetSubscriptionResults buildGetSubscriptionResults(Subscription subscription, Date endPoint) 
 		throws DispositionReportFaultMessage, DatatypeConfigurationException {
 		
 		GetSubscriptionResults getSubscriptionResults = null;
 		Date startPoint = subscription.getLastNotified();
-		if (startPoint==null) startPoint = subscription.getCreateDate();
-		Date endPoint   = new Date(scheduledExecutionTime());
+		if (startPoint==null) startPoint = new Date(0);
 
 		Duration duration = TypeConvertor.convertStringToDuration(subscription.getNotificationInterval());
-		Date nextDesiredNotificationDate = startPoint;
+		Date nextDesiredNotificationDate = new Date(startPoint.getTime());
 		duration.addTo(nextDesiredNotificationDate);
 
 		if (subscription.getLastNotified()==null || nextDesiredNotificationDate.after(startPoint) && nextDesiredNotificationDate.before(endPoint)) {
@@ -172,7 +172,7 @@
 	 * @return Collection of All Subscriptions in the system.
 	 */
 	@SuppressWarnings("unchecked")
-	protected Collection<Subscription> getAllSubscriptions() {
+	protected Collection<Subscription> getAllAsyncSubscriptions() {
 		Collection<Subscription> subscriptions = null;
 		EntityManager em = PersistenceManager.getEntityManager();
 		EntityTransaction tx = em.getTransaction();

Modified: webservices/juddi/trunk/juddi-core/src/main/resources/messages.properties
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/juddi-core/src/main/resources/messages.properties?rev=826718&r1=826717&r2=826718&view=diff
==============================================================================
--- webservices/juddi/trunk/juddi-core/src/main/resources/messages.properties (original)
+++ webservices/juddi/trunk/juddi-core/src/main/resources/messages.properties Mon Oct 19 16:40:45 2009
@@ -148,7 +148,7 @@
 errors.findrelatedbusiness.NoInput=At least one businessKey, fromKey or toKey must be supplied
 errors.findrelatedbusiness.MultipleInput=Only one businessKey, fromKey or toKey can be supplied
 errors.findrelatedbusiness.BlankKeyedRef=All fields of the keyedReference provided in find_relatedBusiness must contain values
-errors.tmodelbag.NoInput=At tModel key must be supplied in the tModelBag
+errors.tmodelbag.NoInput=A tModel key must be supplied in the tModelBag
 errors.keybag.NoInput=A key bag must have at least one key
 errors.discardtransfertoken.NoInput=A discard_transferToken request must contain either a transferToken or keyBag
 errors.gettransfertoken.KeyExists=The key already exists in a transfer request

Modified: webservices/juddi/trunk/juddi-core/src/test/java/org/apache/juddi/subscription/SubscriptionNotifierTest.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/juddi-core/src/test/java/org/apache/juddi/subscription/SubscriptionNotifierTest.java?rev=826718&r1=826717&r2=826718&view=diff
==============================================================================
--- webservices/juddi/trunk/juddi-core/src/test/java/org/apache/juddi/subscription/SubscriptionNotifierTest.java (original)
+++ webservices/juddi/trunk/juddi-core/src/test/java/org/apache/juddi/subscription/SubscriptionNotifierTest.java Mon Oct 19 16:40:45 2009
@@ -17,6 +17,7 @@
 import java.net.MalformedURLException;
 import java.rmi.RemoteException;
 import java.util.Collection;
+import java.util.Date;
 
 import javax.xml.datatype.DatatypeConfigurationException;
 
@@ -71,7 +72,7 @@
 			tckBusinessService.saveJoePublisherService(authInfoJoe);
 			tckBindingTemplate.saveJoePublisherBinding(authInfoJoe);
 			tckSubscription.saveJoePublisherSubscription(authInfoJoe);
-			tckSubscription.getJoePublisherSubscriptionResults(authInfoJoe);
+			//tckSubscription.getJoePublisherSubscriptionResults(authInfoJoe);
 		} catch (RemoteException e) {
 			logger.error(e.getMessage(), e);
 			Assert.fail("Could not obtain authInfo token.");
@@ -83,10 +84,10 @@
 	{
 		SubscriptionNotifier notifier = new SubscriptionNotifier();
 		notifier.cancel();
-		Collection<Subscription> subscriptions = notifier.getAllSubscriptions();
+		Collection<Subscription> subscriptions = notifier.getAllAsyncSubscriptions();
 		Assert.assertEquals(1, subscriptions.size());
 		Subscription subscription = subscriptions.iterator().next();
-		GetSubscriptionResults getSubscriptionResults = notifier.buildGetSubscriptionResults(subscription);
+		GetSubscriptionResults getSubscriptionResults = notifier.buildGetSubscriptionResults(subscription, new Date());
 		getSubscriptionResults.setSubscriptionKey(subscription.getSubscriptionKey());
 		UddiEntityPublisher publisher = new UddiEntityPublisher();
 		publisher.setAuthorizedName(subscription.getAuthorizedName());

Added: webservices/juddi/trunk/juddiv3-samples/src/test/xml/finder.xml
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/juddiv3-samples/src/test/xml/finder.xml?rev=826718&view=auto
==============================================================================
--- webservices/juddi/trunk/juddiv3-samples/src/test/xml/finder.xml (added)
+++ webservices/juddi/trunk/juddiv3-samples/src/test/xml/finder.xml Mon Oct 19 16:40:45 2009
@@ -0,0 +1,8 @@
+<subscriptionFilter xmlns="urn:uddi-org:sub_v3">
+	<find_service xmlns="urn:uddi-org:api_v3" xmlns:xml="http://www.w3.org/XML/1998/namespace">
+		<findQualifiers>
+			<findQualifier>exactMatch</findQualifier>
+		</findQualifiers>
+		<name xml:lang="en">HelloWorld</name>
+	</find_service>
+</subscriptionFilter>
\ No newline at end of file

Modified: webservices/juddi/trunk/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationTest.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationTest.java?rev=826718&r1=826717&r2=826718&view=diff
==============================================================================
--- webservices/juddi/trunk/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationTest.java (original)
+++ webservices/juddi/trunk/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationTest.java Mon Oct 19 16:40:45 2009
@@ -112,7 +112,7 @@
 			
             //waiting up to 10 seconds for the listener to notice the change.
 			String test="";
-			for (int i=0; i<20; i++) {
+			for (int i=0; i<200; i++) {
 				Thread.sleep(500);
 				test = readLogAsString("./target/uddiclient.log");
 				System.out.print(".");



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