You are viewing a plain text version of this content. The canonical link for it is here.
Posted to pubscribe-commits@ws.apache.org by ip...@apache.org on 2005/08/02 00:50:32 UTC

svn commit: r226904 - /webservices/pubscribe/trunk/src/java/org/apache/ws/notification/base/impl/XmlBeansTopicExpression.java

Author: ips
Date: Mon Aug  1 15:50:31 2005
New Revision: 226904

URL: http://svn.apache.org/viewcvs?rev=226904&view=rev
Log:
now throws an appropriate fault if the topic expression has no Dialect attribute

Modified:
    webservices/pubscribe/trunk/src/java/org/apache/ws/notification/base/impl/XmlBeansTopicExpression.java

Modified: webservices/pubscribe/trunk/src/java/org/apache/ws/notification/base/impl/XmlBeansTopicExpression.java
URL: http://svn.apache.org/viewcvs/webservices/pubscribe/trunk/src/java/org/apache/ws/notification/base/impl/XmlBeansTopicExpression.java?rev=226904&r1=226903&r2=226904&view=diff
==============================================================================
--- webservices/pubscribe/trunk/src/java/org/apache/ws/notification/base/impl/XmlBeansTopicExpression.java (original)
+++ webservices/pubscribe/trunk/src/java/org/apache/ws/notification/base/impl/XmlBeansTopicExpression.java Mon Aug  1 15:50:31 2005
@@ -19,11 +19,13 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.ws.XmlObjectWrapper;
+import org.apache.ws.Soap1_1Constants;
 import org.apache.ws.notification.topics.expression.InvalidTopicExpressionException;
 import org.apache.ws.notification.topics.expression.TopicExpression;
 import org.apache.ws.resource.i18n.Keys;
 import org.apache.ws.resource.i18n.MessagesImpl;
 import org.apache.ws.resource.properties.query.impl.XmlBeansQueryExpression;
+import org.apache.ws.resource.faults.FaultException;
 import org.apache.ws.util.XmlBeanUtils;
 import org.apache.ws.util.i18n.Messages;
 import org.apache.ws.util.xml.impl.XmlBeansNamespaceContext;
@@ -32,9 +34,10 @@
 
 import javax.xml.rpc.JAXRPCException;
 import java.net.URI;
+import java.net.URISyntaxException;
 
 /**
- * Impl of TopicExpression whose constructor takes an XMLBean.
+ * A TopicExpression impl that wraps a TopicExpressionType XMLBean.
  *
  * @author Ian Springer
  */
@@ -86,15 +89,19 @@
     }
 
     private static URI getDialect(
-            TopicExpressionType topicExprElem ) throws InvalidTopicExpressionException
+            TopicExpressionType topicExprElem )
     {
+        if ( ! topicExprElem.isSetDialect() )
+        {
+            throw new FaultException( Soap1_1Constants.FAULT_CLIENT, "The Dialect attribute is required by the WS-BaseNotification TopicExpressionType." );
+        }
         try
         {
             return new URI( topicExprElem.getDialect() );
         }
-        catch ( Exception e )
+        catch ( URISyntaxException urise )
         {
-            throw new InvalidTopicExpressionException( "The specified topic expression dialect '" + topicExprElem.getDialect() + "' is not a valid URI." );
+            throw new FaultException( Soap1_1Constants.FAULT_CLIENT, "The Dialect attribute of the WS-BaseNotification TopicExpressionType must be a valid URI." );
         }
     }