Author: lischke
Date: Sun Feb 6 06:23:12 2005
New Revision: 151587
URL: http://svn.apache.org/viewcvs?view=rev&rev=151587
Log:
added porttypes (apollo styler)
Added:
incubator/hermes/trunk/src/java/org/apache/ws/eventing/porttype/
incubator/hermes/trunk/src/java/org/apache/ws/eventing/porttype/EventSourcePortType.java
incubator/hermes/trunk/src/java/org/apache/ws/eventing/porttype/SubscriptionEndPortType.java
incubator/hermes/trunk/src/java/org/apache/ws/eventing/porttype/SubscriptionManagerPortType.java
incubator/hermes/trunk/src/java/org/apache/ws/eventing/porttype/impl/
incubator/hermes/trunk/src/java/org/apache/ws/eventing/porttype/impl/EventSourcePortTypeImpl.java
incubator/hermes/trunk/src/java/org/apache/ws/eventing/porttype/impl/NotificationPortTypeImpl.java
incubator/hermes/trunk/src/java/org/apache/ws/eventing/porttype/impl/SubscriptionEndPortTypeImpl.java
incubator/hermes/trunk/src/java/org/apache/ws/eventing/porttype/impl/SubscriptionManagerPortTypeImpl.java
Added:
incubator/hermes/trunk/src/java/org/apache/ws/eventing/porttype/EventSourcePortType.java
URL:
http://svn.apache.org/viewcvs/incubator/hermes/trunk/src/java/org/apache/ws/eventing/porttype/EventSourcePortType.java?view=auto&rev=151587
==============================================================================
---
incubator/hermes/trunk/src/java/org/apache/ws/eventing/porttype/EventSourcePortType.java
(added)
+++
incubator/hermes/trunk/src/java/org/apache/ws/eventing/porttype/EventSourcePortType.java
Sun Feb 6 06:23:12 2005
@@ -0,0 +1,22 @@
+/* Generated by Together */
+
+package org.apache.ws.eventing.porttype;
+
+import java.rmi.RemoteException;
+
+import org.xmlsoap.schemas.ws.x2004.x08.eventing.SubscribeDocument;
+import org.xmlsoap.schemas.ws.x2004.x08.eventing.SubscribeResponseDocument;
+
+/**
+ * This is the Port of the Publisher,
+ * it enables Subscriptions.
+ */
+public interface EventSourcePortType {
+ /**
+ *
+ * @param body
+ * @throws RemoteException
+ * @return
+ */
+ SubscribeResponseDocument subscribe(SubscribeDocument body) throws
RemoteException;
+}
Added:
incubator/hermes/trunk/src/java/org/apache/ws/eventing/porttype/SubscriptionEndPortType.java
URL:
http://svn.apache.org/viewcvs/incubator/hermes/trunk/src/java/org/apache/ws/eventing/porttype/SubscriptionEndPortType.java?view=auto&rev=151587
==============================================================================
---
incubator/hermes/trunk/src/java/org/apache/ws/eventing/porttype/SubscriptionEndPortType.java
(added)
+++
incubator/hermes/trunk/src/java/org/apache/ws/eventing/porttype/SubscriptionEndPortType.java
Sun Feb 6 06:23:12 2005
@@ -0,0 +1,10 @@
+/* Generated by Together */
+
+package org.apache.ws.eventing.porttype;
+
+import java.rmi.RemoteException;
+import org.xmlsoap.schemas.ws.x2004.x08.eventing.SubscriptionEndDocument;
+
+public interface SubscriptionEndPortType {
+ void subscriptionEnd(SubscriptionEndDocument body) throws RemoteException;
+}
Added:
incubator/hermes/trunk/src/java/org/apache/ws/eventing/porttype/SubscriptionManagerPortType.java
URL:
http://svn.apache.org/viewcvs/incubator/hermes/trunk/src/java/org/apache/ws/eventing/porttype/SubscriptionManagerPortType.java?view=auto&rev=151587
==============================================================================
---
incubator/hermes/trunk/src/java/org/apache/ws/eventing/porttype/SubscriptionManagerPortType.java
(added)
+++
incubator/hermes/trunk/src/java/org/apache/ws/eventing/porttype/SubscriptionManagerPortType.java
Sun Feb 6 06:23:12 2005
@@ -0,0 +1,19 @@
+/* Generated by Together */
+
+package org.apache.ws.eventing.porttype;
+
+import java.rmi.RemoteException;
+import org.xmlsoap.schemas.ws.x2004.x08.eventing.RenewDocument;
+import org.xmlsoap.schemas.ws.x2004.x08.eventing.RenewResponseDocument;
+import org.xmlsoap.schemas.ws.x2004.x08.eventing.UnsubscribeDocument;
+import org.xmlsoap.schemas.ws.x2004.x08.eventing.GetStatusDocument;
+import org.xmlsoap.schemas.ws.x2004.x08.eventing.GetStatusResponseDocument;
+
+
+public interface SubscriptionManagerPortType {
+ RenewResponseDocument renewMsg(RenewDocument body) throws RemoteException;
+
+ void unsubscribeMsg(UnsubscribeDocument body) throws RemoteException;
+
+ GetStatusResponseDocument getStatusMsg(GetStatusDocument body) throws
RemoteException;
+}
Added:
incubator/hermes/trunk/src/java/org/apache/ws/eventing/porttype/impl/EventSourcePortTypeImpl.java
URL:
http://svn.apache.org/viewcvs/incubator/hermes/trunk/src/java/org/apache/ws/eventing/porttype/impl/EventSourcePortTypeImpl.java?view=auto&rev=151587
==============================================================================
---
incubator/hermes/trunk/src/java/org/apache/ws/eventing/porttype/impl/EventSourcePortTypeImpl.java
(added)
+++
incubator/hermes/trunk/src/java/org/apache/ws/eventing/porttype/impl/EventSourcePortTypeImpl.java
Sun Feb 6 06:23:12 2005
@@ -0,0 +1,69 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ws.eventing.porttype.impl;
+import org.apache.ws.addressing.*;
+
+import org.apache.ws.eventing.YFilterStore;
+import org.apache.ws.eventing.RemoteSubscription;
+
+import org.xmlsoap.schemas.ws.x2004.x08.eventing.SubscribeDocument;
+import org.xmlsoap.schemas.ws.x2004.x08.eventing.SubscribeResponseDocument;
+
+import javax.xml.namespace.QName;
+import java.rmi.RemoteException;
+
+import org.apache.ws.eventing.porttype.EventSourcePortType;
+
+public class EventSourcePortTypeImpl implements EventSourcePortType {
+
+ public SubscribeResponseDocument subscribe(SubscribeDocument body) throws
RemoteException {
+ //create Subscription
+ Context initialContext = new InitialContext( );
+ RemoteSubscriptionHome sH = (RemoteSubscriptionHome)
initialContext.lookup( SubscriptionHome.HOME_LOCATION );
+
+ RemoteSubscription subscription = sH.create(, getResourceKey(),
((AbstractResourceContext)getResourceContext()).getResourceHomeLocation());
+ try{
+ YFilterStore b = YFilterStore.instance();
+ RemoteSubscription s = new RemoteSubscription(body);
+
+ String id = b.addSubscription(s);
+
+ //build response
+ SubscribeResponseDocument responseDom=
SubscribeResponseDocument.Factory.newInstance();
+ SubscribeResponseDocument.SubscribeResponse response =
responseDom.addNewSubscribeResponse();
+
+ org.xmlsoap.schemas.ws.x2004.x08.addressing.EndpointReferenceType
e = response.addNewSubscriptionManager();
+ org.xmlsoap.schemas.ws.x2004.x08.addressing.AttributedURI auri =
e.addNewAddress();
+
auri.setStringValue("http://localhost:7070/axis/services/SubscriptionManagerPort");
+
org.xmlsoap.schemas.ws.x2004.x08.addressing.ReferencePropertiesType rp =
e.addNewReferenceProperties();
+ org.apache.ws.util.XmlBeanUtils.addChildElement(rp,new
javax.xml.namespace.QName("http://schemas.xmlsoap.org/ws/2004/08/eventing",
"Identifier"));
+ //wrapper
+ //EndpointReference ep= new XmlBeansEndpointReference(e);
+
+ //TODO why not ExpirationType???
+ //ExpirationType et = response.aExpirationType.Factory.("now");
+
+ return responseDom;
+ }catch(Exception e){
+ //TODO error
+ e.printStackTrace();
+ }
+ //TODO error
+ return null;
+ }
+
+}
Added:
incubator/hermes/trunk/src/java/org/apache/ws/eventing/porttype/impl/NotificationPortTypeImpl.java
URL:
http://svn.apache.org/viewcvs/incubator/hermes/trunk/src/java/org/apache/ws/eventing/porttype/impl/NotificationPortTypeImpl.java?view=auto&rev=151587
==============================================================================
---
incubator/hermes/trunk/src/java/org/apache/ws/eventing/porttype/impl/NotificationPortTypeImpl.java
(added)
+++
incubator/hermes/trunk/src/java/org/apache/ws/eventing/porttype/impl/NotificationPortTypeImpl.java
Sun Feb 6 06:23:12 2005
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ws.eventing.porttype.impl;
+
+import org.apache.axis.message.*;
+
+import org.apache.ws.eventing.SubscriberStore;
+
+
+public class NotificationPortTypeImpl{
+
+ //TODO maybe remove Axis dep
+ public void filter(SOAPEnvelope req, SOAPEnvelope resp){
+ SubscriberStore b = SubscriberStore.instance();
+ System.out.println("Notifier.filter()");
+ b.notify(req);
+ }
+}
+
+
Added:
incubator/hermes/trunk/src/java/org/apache/ws/eventing/porttype/impl/SubscriptionEndPortTypeImpl.java
URL:
http://svn.apache.org/viewcvs/incubator/hermes/trunk/src/java/org/apache/ws/eventing/porttype/impl/SubscriptionEndPortTypeImpl.java?view=auto&rev=151587
==============================================================================
---
incubator/hermes/trunk/src/java/org/apache/ws/eventing/porttype/impl/SubscriptionEndPortTypeImpl.java
(added)
+++
incubator/hermes/trunk/src/java/org/apache/ws/eventing/porttype/impl/SubscriptionEndPortTypeImpl.java
Sun Feb 6 06:23:12 2005
@@ -0,0 +1,25 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ws.eventing.porttype.impl;
+
+import java.rmi.RemoteException;
+import org.apache.ws.eventing.porttype.SubscriptionEndPortType;
+public class SubscriptionEndPortTypeImpl implements SubscriptionEndPortType{
+ public void
subscriptionEnd(org.xmlsoap.schemas.ws.x2004.x08.eventing.SubscriptionEndDocument
body) throws RemoteException {
+ System.out.println("SubscriptionEnd"+body.xmlText());
+ }
+}
Added:
incubator/hermes/trunk/src/java/org/apache/ws/eventing/porttype/impl/SubscriptionManagerPortTypeImpl.java
URL:
http://svn.apache.org/viewcvs/incubator/hermes/trunk/src/java/org/apache/ws/eventing/porttype/impl/SubscriptionManagerPortTypeImpl.java?view=auto&rev=151587
==============================================================================
---
incubator/hermes/trunk/src/java/org/apache/ws/eventing/porttype/impl/SubscriptionManagerPortTypeImpl.java
(added)
+++
incubator/hermes/trunk/src/java/org/apache/ws/eventing/porttype/impl/SubscriptionManagerPortTypeImpl.java
Sun Feb 6 06:23:12 2005
@@ -0,0 +1,92 @@
+/**
+ * SubscriptionManagerBindingImpl.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis 1.2RC2 Dec 19, 2004 (04:36:14 CET) WSDL2Java emitter.
+ */
+
+package org.apache.ws.eventing.porttype.impl;
+import org.apache.ws.addressing.*;
+
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import javax.xml.soap.SOAPHeader;
+
+import org.apache.ws.eventing.Subscription;
+import org.apache.ws.eventing.YFilterStore;
+
+import org.xmlsoap.schemas.ws.x2004.x08.eventing.*;
+import java.rmi.RemoteException;
+import org.apache.ws.eventing.porttype.SubscriptionManagerPortType;
+
+public class SubscriptionManagerPortTypeImpl implements
SubscriptionManagerPortType {
+
+ public static String extractIdentifier() /*throws
javax.xml.soap.SOAPException*/{
+ //TODO !!!! extract identifier from Header
+ //first try to become wse:Identifier
+/*
+ MessageContext mC = MessageContext.getCurrentContext();
+ SOAPHeader h =mC.getMessage().getSOAPHeader();
+ NodeList it =
h.getElementsByTagNameNS("http://schemas.xmlsoap.org/ws/2004/08/eventing",
"Identifier");
+ if(it.getLength()==0)
+ throw new javax.xml.soap.SOAPException("<wse:Identifier> Tag is
missing in the Header.... i dunno which Subscription you mean");
+ Node idnode = it.item(0);
+
if((idnode.getFirstChild()!=null)&&(idnode.getFirstChild().getNodeType()==Node.TEXT_NODE))
+ return(idnode.getFirstChild().getNodeValue());
+ else
+ throw new javax.xml.soap.SOAPException("<wse:Identifier> Tag is
empty in the Header.... i dunno which Subscription you mean");
+ **/
+ return("1");
+ }
+
+ public RenewResponseDocument renewMsg(RenewDocument body) throws
RemoteException {
+ String id = extractIdentifier();
+
+ YFilterStore b = YFilterStore.instance();
+ Subscription s =
(org.apache.ws.eventing.Subscription)b.getSubscription(id);
+ //update expiration
+ //TODO test Calendar
+
s.setTerminationTime((java.util.Calendar)body.getRenew().getExpires());
+
+ RenewResponseDocument responseDom =
RenewResponseDocument.Factory.newInstance();
+ RenewResponseDocument.RenewResponse response =
responseDom.addNewRenewResponse();
+ //TODO test Calendar
+ response.setExpires(s.getTerminationTime());
+
+ return(responseDom);
+ }
+
+ public GetStatusResponseDocument getStatusMsg(GetStatusDocument body)
throws RemoteException {
+// try{
+ String id = extractIdentifier();
+ //ask the Broker about the Status
+ YFilterStore b = YFilterStore.instance();
+ Subscription s =
(org.apache.ws.eventing.Subscription)b.getSubscription(id);
+
+ //build response
+ GetStatusResponseDocument responseDom =
GetStatusResponseDocument.Factory.newInstance();
+ GetStatusResponseDocument.GetStatusResponse response =
responseDom.addNewGetStatusResponse();
+ //TODO check calendar
+ response.setExpires(s.getTerminationTime());
+ return(responseDom);
+/* }catch(Exception e){
+ e.printStackTrace();
+ throw new java.rmi.RemoteException("getStatusMsg",e);
+ }
+ **/
+ }
+
+ public void unsubscribeMsg(UnsubscribeDocument body) throws
RemoteException {
+ try{
+ String id = extractIdentifier();
+ System.out.println("unsubscribe Subscription: "+id);
+ YFilterStore b = YFilterStore.instance();
+ b.removeSubscription(id);
+
+ }catch(Exception e){
+ e.printStackTrace();
+ throw new java.rmi.RemoteException("unsubscribeMsg",e);
+ }
+ }
+
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]