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." );
}
}