Author: scamp Date: Wed Jan 26 11:10:28 2005 New Revision: 126529 URL: http://svn.apache.org/viewcvs?view=rev&rev=126529 Log: updated Modified: incubator/hermes/trunk/src/java/org/apache/ws/notification/base/v1_2/porttype/impl/NotificationProducerPortTypeImpl.java incubator/hermes/trunk/src/java/org/apache/ws/notification/topics/impl/SimpleTopicExpressionEvaluator.java
Modified: incubator/hermes/trunk/src/java/org/apache/ws/notification/base/v1_2/porttype/impl/NotificationProducerPortTypeImpl.java Url: http://svn.apache.org/viewcvs/incubator/hermes/trunk/src/java/org/apache/ws/notification/base/v1_2/porttype/impl/NotificationProducerPortTypeImpl.java?view=diff&rev=126529&p1=incubator/hermes/trunk/src/java/org/apache/ws/notification/base/v1_2/porttype/impl/NotificationProducerPortTypeImpl.java&r1=126528&p2=incubator/hermes/trunk/src/java/org/apache/ws/notification/base/v1_2/porttype/impl/NotificationProducerPortTypeImpl.java&r2=126529 ============================================================================== --- incubator/hermes/trunk/src/java/org/apache/ws/notification/base/v1_2/porttype/impl/NotificationProducerPortTypeImpl.java (original) +++ incubator/hermes/trunk/src/java/org/apache/ws/notification/base/v1_2/porttype/impl/NotificationProducerPortTypeImpl.java Wed Jan 26 11:10:28 2005 @@ -31,6 +31,7 @@ import org.apache.ws.resource.ResourceContextException; import org.apache.ws.resource.Resource; import org.apache.ws.resource.ResourceException; +import org.apache.ws.resource.impl.AbstractResourceContext; import org.apache.ws.resource.properties.query.QueryExpression; import org.apache.ws.resource.properties.query.impl.XmlBeansQueryExpression; import org.apache.ws.resource.properties.v1_2.porttype.impl.AbstractResourcePropertiesPortType; @@ -74,20 +75,44 @@ SubscribeDocument.Subscribe request = requestDoc.getSubscribe(); // TODO: use an EPR facade instead of the XMLBean EPR type EndpointReferenceType consumerEPR = request.getConsumerReference(); - Calendar initialTerminationTime = request.getInitialTerminationTime(); - QueryExpression precondition = new XmlBeansQueryExpression( request.getPrecondition() ); - QueryExpression selector = new XmlBeansQueryExpression( request.getSelector() ); - XmlObject subPolicy = request.getSubscriptionPolicy(); + + //make sure to check if optional elements are set in request... + Calendar initialTerminationTime = null; + if(request.getInitialTerminationTime() != null) + { + initialTerminationTime = request.getInitialTerminationTime(); + } + + QueryExpression precondition = null; + if(request.getPrecondition() != null) + { + precondition = new XmlBeansQueryExpression( request.getPrecondition() ); + } + + QueryExpression selector = null; + if(request.getSelector() != null) + { + selector = new XmlBeansQueryExpression( request.getSelector() ); + } + + XmlObject subPolicy = null; + if(request.getSubscriptionPolicy() != null) + { + subPolicy = request.getSubscriptionPolicy(); + } + EndpointReferenceType epr = null; try { TopicExpression topicExpr = new XmlBeansTopicExpression( request.getTopicExpression() ); + //this prop has default values in schema..it "should" get a value either way if not explicitly set in request boolean useNotify = request.getUseNotify(); EndpointReferenceType producerEPR = buildEPR( getResourceContext() ); Context initialContext = new InitialContext( ); SubscriptionHome subscriptionHome = (SubscriptionHome) initialContext.lookup( SubscriptionHome.HOME_LOCATION ); - Subscription subscription = subscriptionHome.create(Subscription1_2Resource.class, consumerEPR, producerEPR, initialTerminationTime,subPolicy, precondition, selector,getResourceKey(), "",topicExpr,useNotify ); + + Subscription subscription = subscriptionHome.create(Subscription1_2Resource.class, consumerEPR, producerEPR, initialTerminationTime,subPolicy, precondition, selector,getResourceKey(), ((AbstractResourceContext)getResourceContext()).getResourceHomeLocation(),topicExpr,useNotify ); epr = subscription.getEpr(); NotificationProducerResource resource = (NotificationProducerResource) getResource(); Modified: incubator/hermes/trunk/src/java/org/apache/ws/notification/topics/impl/SimpleTopicExpressionEvaluator.java Url: http://svn.apache.org/viewcvs/incubator/hermes/trunk/src/java/org/apache/ws/notification/topics/impl/SimpleTopicExpressionEvaluator.java?view=diff&rev=126529&p1=incubator/hermes/trunk/src/java/org/apache/ws/notification/topics/impl/SimpleTopicExpressionEvaluator.java&r1=126528&p2=incubator/hermes/trunk/src/java/org/apache/ws/notification/topics/impl/SimpleTopicExpressionEvaluator.java&r2=126529 ============================================================================== --- incubator/hermes/trunk/src/java/org/apache/ws/notification/topics/impl/SimpleTopicExpressionEvaluator.java (original) +++ incubator/hermes/trunk/src/java/org/apache/ws/notification/topics/impl/SimpleTopicExpressionEvaluator.java Wed Jan 26 11:10:28 2005 @@ -56,7 +56,7 @@ Text exprValue = (Text) expr.getContent(); String topicName = exprValue.getNodeValue(); - topicName = topicName.substring(topicName.indexOf(":") - 1);//todo not sure if got index correct here! + topicName = topicName.substring(topicName.indexOf(":") + 1);//todo not sure if got index correct here! LOG.debug("Looking for topic with namespace: " + topicSpace.getNamespaceURI() + " and local part " + topicName); --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
