From: <viv...@us...> - 2007-04-27 13:33:50
|
Revision: 735 http://svn.sourceforge.net/unicore/?rev=735&view=rev Author: vivianli Date: 2007-04-27 06:33:49 -0700 (Fri, 27 Apr 2007) Log Message: ----------- added Notification Added Paths: ----------- WSRF_JAXWS/trunk/src/org/unigrids/services/wsn/ WSRF_JAXWS/trunk/src/org/unigrids/services/wsn/nc/ WSRF_JAXWS/trunk/src/org/unigrids/services/wsn/nc/NotificationConsumer.java WSRF_JAXWS/trunk/src/org/unigrids/services/wsn/nc/NotificationConsumerService.java WSRF_JAXWS/trunk/src/org/unigrids/types/atomic/tsf/ WSRF_JAXWS/trunk/src/org/unigrids/types/atomic/tsf/CreateTSR.java WSRF_JAXWS/trunk/src/org/unigrids/types/atomic/tsf/CreateTSRResponse.java WSRF_JAXWS/trunk/src/org/unigrids/types/atomic/tsf/ObjectFactory.java WSRF_JAXWS/trunk/src/org/unigrids/types/atomic/tsf/TSRNotCreatedFaultType.java WSRF_JAXWS/trunk/src/org/unigrids/types/atomic/tsf/TargetSystemDescriptionType.java WSRF_JAXWS/trunk/src/org/unigrids/types/atomic/tsf/TargetSystemFactoryProperties.java WSRF_JAXWS/trunk/src/org/unigrids/types/atomic/tsf/package-info.java WSRF_JAXWS/trunk/src/server/com/fujitsu/service/impl/atomic/registry/ WSRF_JAXWS/trunk/src/server/com/fujitsu/service/impl/atomic/tsf/ WSRF_JAXWS/trunk/src/server/com/fujitsu/service/impl/wsn/ WSRF_JAXWS/trunk/src/server/com/fujitsu/service/impl/wsn/cpp/ WSRF_JAXWS/trunk/src/server/com/fujitsu/service/impl/wsn/cpp/CreatePullPointPortTypeImpl.java WSRF_JAXWS/trunk/src/server/com/fujitsu/service/impl/wsn/nc/ WSRF_JAXWS/trunk/src/server/com/fujitsu/service/impl/wsn/nc/NotificationConsumerImpl.java WSRF_JAXWS/trunk/src/server/com/fujitsu/service/impl/wsn/np/ WSRF_JAXWS/trunk/src/server/com/fujitsu/service/impl/wsn/np/NotificationProducerImpl.java WSRF_JAXWS/trunk/src/server/com/fujitsu/service/impl/wsn/pp/ WSRF_JAXWS/trunk/src/server/com/fujitsu/service/impl/wsn/pp/PullPointPortTypeImpl.java WSRF_JAXWS/trunk/src/server/com/fujitsu/service/impl/wsn/sm/ WSRF_JAXWS/trunk/src/server/com/fujitsu/service/impl/wsn/sm/SubscriptionManagerImpl.java WSRF_JAXWS/trunk/src/server/com/fujitsu/service/impl/wsn/util/ WSRF_JAXWS/trunk/src/server/com/fujitsu/service/impl/wsn/util/NCConstants.java WSRF_JAXWS/trunk/src/server/com/fujitsu/service/impl/wsn/util/NPConstants.java WSRF_JAXWS/trunk/src/server/com/fujitsu/service/impl/wsn/util/PPConstants.java WSRF_JAXWS/trunk/src/server/com/fujitsu/service/impl/wsn/util/SMConstants.java WSRF_JAXWS/trunk/src/server/com/fujitsu/service/notificationmgmt/ WSRF_JAXWS/trunk/src/server/com/fujitsu/service/notificationmgmt/NotificationSender.java WSRF_JAXWS/trunk/src/server/com/fujitsu/service/notificationmgmt/api/ WSRF_JAXWS/trunk/src/server/com/fujitsu/service/notificationmgmt/api/INotificationCallback.java Added: WSRF_JAXWS/trunk/src/org/unigrids/services/wsn/nc/NotificationConsumer.java =================================================================== --- WSRF_JAXWS/trunk/src/org/unigrids/services/wsn/nc/NotificationConsumer.java (rev 0) +++ WSRF_JAXWS/trunk/src/org/unigrids/services/wsn/nc/NotificationConsumer.java 2007-04-27 13:33:49 UTC (rev 735) @@ -0,0 +1,40 @@ + +package org.unigrids.services.wsn.nc; + +import javax.jws.Oneway; +import javax.jws.WebMethod; +import javax.jws.WebParam; +import javax.jws.WebService; +import javax.jws.soap.SOAPBinding; +import javax.xml.bind.annotation.XmlSeeAlso; +import org.oasis.wsn.bn.Notify; + + +/** + * This class was generated by the JAX-WS RI. + * JAX-WS RI 2.1.1-04/12/2007 02:26 PM(vivekp)-RC1 + * Generated source version: 2.1 + * + */ +@WebService(name = "NotificationConsumer", targetNamespace = "http://unigrids.org/2006/04/services/basenotification/nc") +@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) +@XmlSeeAlso({ + org.oasis.wsn.bn.ObjectFactory.class, + org.oasis.wsn.bn.tp.ObjectFactory.class, + org.oasis.wsrf.bf.ObjectFactory.class, + org.oasis.wsrf.r.ObjectFactory.class +}) +public interface NotificationConsumer { + + + /** + * + * @param notify + */ + @WebMethod(operationName = "Notify", action = "http://docs.oasis-open.org/wsn/bw-2/NotificationConsumer/Notify") + @Oneway + public void notify( + @WebParam(name = "Notify", targetNamespace = "http://docs.oasis-open.org/wsn/b-2", partName = "Notify") + Notify notify); + +} Added: WSRF_JAXWS/trunk/src/org/unigrids/services/wsn/nc/NotificationConsumerService.java =================================================================== --- WSRF_JAXWS/trunk/src/org/unigrids/services/wsn/nc/NotificationConsumerService.java (rev 0) +++ WSRF_JAXWS/trunk/src/org/unigrids/services/wsn/nc/NotificationConsumerService.java 2007-04-27 13:33:49 UTC (rev 735) @@ -0,0 +1,66 @@ + +package org.unigrids.services.wsn.nc; + +import java.net.MalformedURLException; +import java.net.URL; +import javax.xml.namespace.QName; +import javax.xml.ws.Service; +import javax.xml.ws.WebEndpoint; +import javax.xml.ws.WebServiceClient; +import javax.xml.ws.WebServiceFeature; + + +/** + * This class was generated by the JAX-WS RI. + * JAX-WS RI 2.1.1-04/12/2007 02:26 PM(vivekp)-RC1 + * Generated source version: 2.1 + * + */ +@WebServiceClient(name = "NotificationConsumerService", targetNamespace = "http://unigrids.org/2006/04/services/basenotification/nc", wsdlLocation = "file:/Users/vql/eclipse/workspace/WSRF_JAXWS/schemas/ugwsn/NotificationConsumerService.wsdl") +public class NotificationConsumerService + extends Service +{ + + private final static URL NOTIFICATIONCONSUMERSERVICE_WSDL_LOCATION; + + static { + URL url = null; + try { + url = new URL("file:/Users/vql/eclipse/workspace/WSRF_JAXWS/schemas/ugwsn/NotificationConsumerService.wsdl"); + } catch (MalformedURLException e) { + e.printStackTrace(); + } + NOTIFICATIONCONSUMERSERVICE_WSDL_LOCATION = url; + } + + public NotificationConsumerService(URL wsdlLocation, QName serviceName) { + super(wsdlLocation, serviceName); + } + + public NotificationConsumerService() { + super(NOTIFICATIONCONSUMERSERVICE_WSDL_LOCATION, new QName("http://unigrids.org/2006/04/services/basenotification/nc", "NotificationConsumerService")); + } + + /** + * + * @return + * returns NotificationConsumer + */ + @WebEndpoint(name = "NotificationConsumerPortType") + public NotificationConsumer getNotificationConsumerPortType() { + return (NotificationConsumer)super.getPort(new QName("http://unigrids.org/2006/04/services/basenotification/nc", "NotificationConsumerPortType"), NotificationConsumer.class); + } + + /** + * + * @param features + * A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy. Supported features not in the <code>features</code> parameter will have their default values. + * @return + * returns NotificationConsumer + */ + @WebEndpoint(name = "NotificationConsumerPortType") + public NotificationConsumer getNotificationConsumerPortType(WebServiceFeature... features) { + return (NotificationConsumer)super.getPort(new QName("http://unigrids.org/2006/04/services/basenotification/nc", "NotificationConsumerPortType"), NotificationConsumer.class, features); + } + +} Added: WSRF_JAXWS/trunk/src/org/unigrids/types/atomic/tsf/CreateTSR.java =================================================================== --- WSRF_JAXWS/trunk/src/org/unigrids/types/atomic/tsf/CreateTSR.java (rev 0) +++ WSRF_JAXWS/trunk/src/org/unigrids/types/atomic/tsf/CreateTSR.java 2007-04-27 13:33:49 UTC (rev 735) @@ -0,0 +1,129 @@ + +package org.unigrids.types.atomic.tsf; + +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAnyElement; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import org.oasis.wsrf.lt.TerminationTime; + + +/** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{http://unigrids.org/2006/04/services/tsf}TargetSystemDescription"/> + * <element ref="{http://docs.oasis-open.org/wsrf/rl-2}TerminationTime" minOccurs="0"/> + * <any/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "", propOrder = { + "targetSystemDescription", + "terminationTime", + "any" +}) +@XmlRootElement(name = "CreateTSR") +public class CreateTSR { + + @XmlElement(name = "TargetSystemDescription", required = true) + protected TargetSystemDescriptionType targetSystemDescription; + @XmlElement(name = "TerminationTime", namespace = "http://docs.oasis-open.org/wsrf/rl-2", nillable = true) + protected TerminationTime terminationTime; + @XmlAnyElement(lax = true) + protected List<Object> any; + + /** + * Gets the value of the targetSystemDescription property. + * + * @return + * possible object is + * {@link TargetSystemDescriptionType } + * + */ + public TargetSystemDescriptionType getTargetSystemDescription() { + return targetSystemDescription; + } + + /** + * Sets the value of the targetSystemDescription property. + * + * @param value + * allowed object is + * {@link TargetSystemDescriptionType } + * + */ + public void setTargetSystemDescription(TargetSystemDescriptionType value) { + this.targetSystemDescription = value; + } + + /** + * Gets the value of the terminationTime property. + * + * @return + * possible object is + * {@link TerminationTime } + * + */ + public TerminationTime getTerminationTime() { + return terminationTime; + } + + /** + * Sets the value of the terminationTime property. + * + * @param value + * allowed object is + * {@link TerminationTime } + * + */ + public void setTerminationTime(TerminationTime value) { + this.terminationTime = value; + } + + /** + * Gets the value of the any property. + * + * <p> + * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a <CODE>set</CODE> method for the any property. + * + * <p> + * For example, to add a new item, do as follows: + * <pre> + * getAny().add(newItem); + * </pre> + * + * + * <p> + * Objects of the following type(s) are allowed in the list + * {@link Object } + * + * + */ + public List<Object> getAny() { + if (any == null) { + any = new ArrayList<Object>(); + } + return this.any; + } + +} Added: WSRF_JAXWS/trunk/src/org/unigrids/types/atomic/tsf/CreateTSRResponse.java =================================================================== --- WSRF_JAXWS/trunk/src/org/unigrids/types/atomic/tsf/CreateTSRResponse.java (rev 0) +++ WSRF_JAXWS/trunk/src/org/unigrids/types/atomic/tsf/CreateTSRResponse.java 2007-04-27 13:33:49 UTC (rev 735) @@ -0,0 +1,65 @@ + +package org.unigrids.types.atomic.tsf; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import javax.xml.ws.wsaddressing.W3CEndpointReference; + + +/** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="tsrReference" type="{http://www.w3.org/2005/08/addressing}EndpointReferenceType"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "", propOrder = { + "tsrReference" +}) +@XmlRootElement(name = "CreateTSRResponse") +public class CreateTSRResponse { + + @XmlElement(required = true) + protected W3CEndpointReference tsrReference; + + /** + * Gets the value of the tsrReference property. + * + * @return + * possible object is + * {@link W3CEndpointReference } + * + */ + public W3CEndpointReference getTsrReference() { + return tsrReference; + } + + /** + * Sets the value of the tsrReference property. + * + * @param value + * allowed object is + * {@link W3CEndpointReference } + * + */ + public void setTsrReference(W3CEndpointReference value) { + this.tsrReference = value; + } + +} Added: WSRF_JAXWS/trunk/src/org/unigrids/types/atomic/tsf/ObjectFactory.java =================================================================== --- WSRF_JAXWS/trunk/src/org/unigrids/types/atomic/tsf/ObjectFactory.java (rev 0) +++ WSRF_JAXWS/trunk/src/org/unigrids/types/atomic/tsf/ObjectFactory.java 2007-04-27 13:33:49 UTC (rev 735) @@ -0,0 +1,95 @@ + +package org.unigrids.types.atomic.tsf; + +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlElementDecl; +import javax.xml.bind.annotation.XmlRegistry; +import javax.xml.namespace.QName; + + +/** + * This object contains factory methods for each + * Java content interface and Java element interface + * generated in the org.unigrids.types.atomic.tsf package. + * <p>An ObjectFactory allows you to programatically + * construct new instances of the Java representation + * for XML content. The Java representation of XML + * content can consist of schema derived interfaces + * and classes representing the binding of schema + * type definitions, element declarations and model + * groups. Factory methods for each of these are + * provided in this class. + * + */ +@XmlRegistry +public class ObjectFactory { + + private final static QName _TSRNotCreatedFault_QNAME = new QName("http://unigrids.org/2006/04/services/tsf", "TSRNotCreatedFault"); + private final static QName _TargetSystemDescription_QNAME = new QName("http://unigrids.org/2006/04/services/tsf", "TargetSystemDescription"); + + /** + * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: org.unigrids.types.atomic.tsf + * + */ + public ObjectFactory() { + } + + /** + * Create an instance of {@link CreateTSRResponse } + * + */ + public CreateTSRResponse createCreateTSRResponse() { + return new CreateTSRResponse(); + } + + /** + * Create an instance of {@link TargetSystemDescriptionType } + * + */ + public TargetSystemDescriptionType createTargetSystemDescriptionType() { + return new TargetSystemDescriptionType(); + } + + /** + * Create an instance of {@link TargetSystemFactoryProperties } + * + */ + public TargetSystemFactoryProperties createTargetSystemFactoryProperties() { + return new TargetSystemFactoryProperties(); + } + + /** + * Create an instance of {@link CreateTSR } + * + */ + public CreateTSR createCreateTSR() { + return new CreateTSR(); + } + + /** + * Create an instance of {@link TSRNotCreatedFaultType } + * + */ + public TSRNotCreatedFaultType createTSRNotCreatedFaultType() { + return new TSRNotCreatedFaultType(); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link TSRNotCreatedFaultType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://unigrids.org/2006/04/services/tsf", name = "TSRNotCreatedFault") + public JAXBElement<TSRNotCreatedFaultType> createTSRNotCreatedFault(TSRNotCreatedFaultType value) { + return new JAXBElement<TSRNotCreatedFaultType>(_TSRNotCreatedFault_QNAME, TSRNotCreatedFaultType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link TargetSystemDescriptionType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://unigrids.org/2006/04/services/tsf", name = "TargetSystemDescription") + public JAXBElement<TargetSystemDescriptionType> createTargetSystemDescription(TargetSystemDescriptionType value) { + return new JAXBElement<TargetSystemDescriptionType>(_TargetSystemDescription_QNAME, TargetSystemDescriptionType.class, null, value); + } + +} Added: WSRF_JAXWS/trunk/src/org/unigrids/types/atomic/tsf/TSRNotCreatedFaultType.java =================================================================== --- WSRF_JAXWS/trunk/src/org/unigrids/types/atomic/tsf/TSRNotCreatedFaultType.java (rev 0) +++ WSRF_JAXWS/trunk/src/org/unigrids/types/atomic/tsf/TSRNotCreatedFaultType.java 2007-04-27 13:33:49 UTC (rev 735) @@ -0,0 +1,33 @@ + +package org.unigrids.types.atomic.tsf; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; +import org.oasis.wsrf.bf.BaseFaultType; + + +/** + * <p>Java class for TSRNotCreatedFaultType complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType name="TSRNotCreatedFaultType"> + * <complexContent> + * <extension base="{http://docs.oasis-open.org/wsrf/bf-2}BaseFaultType"> + * </extension> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TSRNotCreatedFaultType") +public class TSRNotCreatedFaultType + extends BaseFaultType +{ + + +} Added: WSRF_JAXWS/trunk/src/org/unigrids/types/atomic/tsf/TargetSystemDescriptionType.java =================================================================== --- WSRF_JAXWS/trunk/src/org/unigrids/types/atomic/tsf/TargetSystemDescriptionType.java (rev 0) +++ WSRF_JAXWS/trunk/src/org/unigrids/types/atomic/tsf/TargetSystemDescriptionType.java 2007-04-27 13:33:49 UTC (rev 735) @@ -0,0 +1,321 @@ + +package org.unigrids.types.atomic.tsf; + +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAnyElement; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import org.ggf.jsdl.OperatingSystemType; +import org.ggf.jsdl.RangeValueType; +import org.unigrids.types.atomic.common.ContextInfoType; +import org.unigrids.types.atomic.common.NumericInfoType; +import org.unigrids.types.atomic.common.ProcessorType; +import org.unigrids.types.atomic.common.TextInfoType; +import org.unigrids.types.atomic.tss.ApplicationResourceType; + + +/** + * <p>Java class for TargetSystemDescriptionType complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType name="TargetSystemDescriptionType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{http://schemas.ggf.org/jsdl/2005/11/jsdl}Description"/> + * <element ref="{http://schemas.ggf.org/jsdl/2005/11/jsdl}IndividualPhysicalMemory" minOccurs="0"/> + * <element ref="{http://schemas.ggf.org/jsdl/2005/11/jsdl}OperatingSystem" minOccurs="0"/> + * <element ref="{http://unigrids.org/2006/04/services/tss}ApplicationResource" maxOccurs="unbounded" minOccurs="0"/> + * <element ref="{http://unigrids.org/2006/04/types}Processor" minOccurs="0"/> + * <element ref="{http://unigrids.org/2006/04/types}TextInfo" maxOccurs="unbounded" minOccurs="0"/> + * <element ref="{http://unigrids.org/2006/04/types}ContextInfo" maxOccurs="unbounded" minOccurs="0"/> + * <element ref="{http://unigrids.org/2006/04/types}NumericInfo" maxOccurs="unbounded" minOccurs="0"/> + * <any/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TargetSystemDescriptionType", propOrder = { + "description", + "individualPhysicalMemory", + "operatingSystem", + "applicationResource", + "processor", + "textInfo", + "contextInfo", + "numericInfo", + "any" +}) +public class TargetSystemDescriptionType { + + @XmlElement(name = "Description", namespace = "http://schemas.ggf.org/jsdl/2005/11/jsdl", required = true) + protected String description; + @XmlElement(name = "IndividualPhysicalMemory", namespace = "http://schemas.ggf.org/jsdl/2005/11/jsdl") + protected RangeValueType individualPhysicalMemory; + @XmlElement(name = "OperatingSystem", namespace = "http://schemas.ggf.org/jsdl/2005/11/jsdl") + protected OperatingSystemType operatingSystem; + @XmlElement(name = "ApplicationResource", namespace = "http://unigrids.org/2006/04/services/tss") + protected List<ApplicationResourceType> applicationResource; + @XmlElement(name = "Processor", namespace = "http://unigrids.org/2006/04/types") + protected ProcessorType processor; + @XmlElement(name = "TextInfo", namespace = "http://unigrids.org/2006/04/types") + protected List<TextInfoType> textInfo; + @XmlElement(name = "ContextInfo", namespace = "http://unigrids.org/2006/04/types") + protected List<ContextInfoType> contextInfo; + @XmlElement(name = "NumericInfo", namespace = "http://unigrids.org/2006/04/types") + protected List<NumericInfoType> numericInfo; + @XmlAnyElement(lax = true) + protected List<Object> any; + + /** + * Gets the value of the description property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getDescription() { + return description; + } + + /** + * Sets the value of the description property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setDescription(String value) { + this.description = value; + } + + /** + * Gets the value of the individualPhysicalMemory property. + * + * @return + * possible object is + * {@link RangeValueType } + * + */ + public RangeValueType getIndividualPhysicalMemory() { + return individualPhysicalMemory; + } + + /** + * Sets the value of the individualPhysicalMemory property. + * + * @param value + * allowed object is + * {@link RangeValueType } + * + */ + public void setIndividualPhysicalMemory(RangeValueType value) { + this.individualPhysicalMemory = value; + } + + /** + * Gets the value of the operatingSystem property. + * + * @return + * possible object is + * {@link OperatingSystemType } + * + */ + public OperatingSystemType getOperatingSystem() { + return operatingSystem; + } + + /** + * Sets the value of the operatingSystem property. + * + * @param value + * allowed object is + * {@link OperatingSystemType } + * + */ + public void setOperatingSystem(OperatingSystemType value) { + this.operatingSystem = value; + } + + /** + * Gets the value of the applicationResource property. + * + * <p> + * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a <CODE>set</CODE> method for the applicationResource property. + * + * <p> + * For example, to add a new item, do as follows: + * <pre> + * getApplicationResource().add(newItem); + * </pre> + * + * + * <p> + * Objects of the following type(s) are allowed in the list + * {@link ApplicationResourceType } + * + * + */ + public List<ApplicationResourceType> getApplicationResource() { + if (applicationResource == null) { + applicationResource = new ArrayList<ApplicationResourceType>(); + } + return this.applicationResource; + } + + /** + * Gets the value of the processor property. + * + * @return + * possible object is + * {@link ProcessorType } + * + */ + public ProcessorType getProcessor() { + return processor; + } + + /** + * Sets the value of the processor property. + * + * @param value + * allowed object is + * {@link ProcessorType } + * + */ + public void setProcessor(ProcessorType value) { + this.processor = value; + } + + /** + * Gets the value of the textInfo property. + * + * <p> + * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a <CODE>set</CODE> method for the textInfo property. + * + * <p> + * For example, to add a new item, do as follows: + * <pre> + * getTextInfo().add(newItem); + * </pre> + * + * + * <p> + * Objects of the following type(s) are allowed in the list + * {@link TextInfoType } + * + * + */ + public List<TextInfoType> getTextInfo() { + if (textInfo == null) { + textInfo = new ArrayList<TextInfoType>(); + } + return this.textInfo; + } + + /** + * Gets the value of the contextInfo property. + * + * <p> + * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a <CODE>set</CODE> method for the contextInfo property. + * + * <p> + * For example, to add a new item, do as follows: + * <pre> + * getContextInfo().add(newItem); + * </pre> + * + * + * <p> + * Objects of the following type(s) are allowed in the list + * {@link ContextInfoType } + * + * + */ + public List<ContextInfoType> getContextInfo() { + if (contextInfo == null) { + contextInfo = new ArrayList<ContextInfoType>(); + } + return this.contextInfo; + } + + /** + * Gets the value of the numericInfo property. + * + * <p> + * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a <CODE>set</CODE> method for the numericInfo property. + * + * <p> + * For example, to add a new item, do as follows: + * <pre> + * getNumericInfo().add(newItem); + * </pre> + * + * + * <p> + * Objects of the following type(s) are allowed in the list + * {@link NumericInfoType } + * + * + */ + public List<NumericInfoType> getNumericInfo() { + if (numericInfo == null) { + numericInfo = new ArrayList<NumericInfoType>(); + } + return this.numericInfo; + } + + /** + * Gets the value of the any property. + * + * <p> + * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a <CODE>set</CODE> method for the any property. + * + * <p> + * For example, to add a new item, do as follows: + * <pre> + * getAny().add(newItem); + * </pre> + * + * + * <p> + * Objects of the following type(s) are allowed in the list + * {@link Object } + * + * + */ + public List<Object> getAny() { + if (any == null) { + any = new ArrayList<Object>(); + } + return this.any; + } + +} Added: WSRF_JAXWS/trunk/src/org/unigrids/types/atomic/tsf/TargetSystemFactoryProperties.java =================================================================== --- WSRF_JAXWS/trunk/src/org/unigrids/types/atomic/tsf/TargetSystemFactoryProperties.java (rev 0) +++ WSRF_JAXWS/trunk/src/org/unigrids/types/atomic/tsf/TargetSystemFactoryProperties.java 2007-04-27 13:33:49 UTC (rev 735) @@ -0,0 +1,523 @@ + +package org.unigrids.types.atomic.tsf; + +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAnyElement; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlList; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; +import javax.xml.namespace.QName; +import javax.xml.ws.wsaddressing.W3CEndpointReference; +import org.ggf.jsdl.OperatingSystemType; +import org.ggf.jsdl.RangeValueType; +import org.oasis.wsrf.lt.CurrentTime; +import org.oasis.wsrf.lt.TerminationTime; +import org.unigrids.types.atomic.common.ContextInfoType; +import org.unigrids.types.atomic.common.NumericInfoType; +import org.unigrids.types.atomic.common.ProcessorType; +import org.unigrids.types.atomic.common.TextInfoType; +import org.unigrids.types.atomic.tss.ApplicationResourceType; + + +/** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{http://unigrids.org/2006/04/services/tss}ApplicationResource" maxOccurs="unbounded" minOccurs="0"/> + * <element ref="{http://schemas.ggf.org/jsdl/2005/11/jsdl}Description" minOccurs="0"/> + * <element ref="{http://schemas.ggf.org/jsdl/2005/11/jsdl}IndividualPhysicalMemory" maxOccurs="unbounded" minOccurs="0"/> + * <element ref="{http://schemas.ggf.org/jsdl/2005/11/jsdl}OperatingSystem" maxOccurs="unbounded" minOccurs="0"/> + * <element ref="{http://unigrids.org/2006/04/types}Processor" maxOccurs="unbounded" minOccurs="0"/> + * <element ref="{http://unigrids.org/2006/04/types}TextInfo" maxOccurs="unbounded" minOccurs="0"/> + * <element ref="{http://unigrids.org/2006/04/types}ContextInfo" maxOccurs="unbounded" minOccurs="0"/> + * <element ref="{http://unigrids.org/2006/04/types}NumericInfo" maxOccurs="unbounded" minOccurs="0"/> + * <element ref="{http://schemas.ggf.org/ogsa/2006/05/wsrf-bp}ResourcePropertyNames"/> + * <element ref="{http://schemas.ggf.org/ogsa/2006/05/wsrf-bp}FinalWSResourceInterface"/> + * <element ref="{http://schemas.ggf.org/ogsa/2006/05/wsrf-bp}WSResourceInterfaces"/> + * <element ref="{http://schemas.ggf.org/ogsa/2006/05/wsrf-bp}ResourceEndpointReference"/> + * <element ref="{http://docs.oasis-open.org/wsrf/rl-2}CurrentTime"/> + * <element ref="{http://docs.oasis-open.org/wsrf/rl-2}TerminationTime" minOccurs="0"/> + * <any/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "", propOrder = { + "applicationResource", + "description", + "individualPhysicalMemory", + "operatingSystem", + "processor", + "textInfo", + "contextInfo", + "numericInfo", + "resourcePropertyNames", + "finalWSResourceInterface", + "wsResourceInterfaces", + "resourceEndpointReference", + "currentTime", + "terminationTime", + "any" +}) +@XmlRootElement(name = "TargetSystemFactoryProperties") +public class TargetSystemFactoryProperties { + + @XmlElement(name = "ApplicationResource", namespace = "http://unigrids.org/2006/04/services/tss") + protected List<ApplicationResourceType> applicationResource; + @XmlElement(name = "Description", namespace = "http://schemas.ggf.org/jsdl/2005/11/jsdl") + protected String description; + @XmlElement(name = "IndividualPhysicalMemory", namespace = "http://schemas.ggf.org/jsdl/2005/11/jsdl") + protected List<RangeValueType> individualPhysicalMemory; + @XmlElement(name = "OperatingSystem", namespace = "http://schemas.ggf.org/jsdl/2005/11/jsdl") + protected List<OperatingSystemType> operatingSystem; + @XmlElement(name = "Processor", namespace = "http://unigrids.org/2006/04/types") + protected List<ProcessorType> processor; + @XmlElement(name = "TextInfo", namespace = "http://unigrids.org/2006/04/types") + protected List<TextInfoType> textInfo; + @XmlElement(name = "ContextInfo", namespace = "http://unigrids.org/2006/04/types") + protected List<ContextInfoType> contextInfo; + @XmlElement(name = "NumericInfo", namespace = "http://unigrids.org/2006/04/types") + protected List<NumericInfoType> numericInfo; + @XmlList + @XmlElement(name = "ResourcePropertyNames", namespace = "http://schemas.ggf.org/ogsa/2006/05/wsrf-bp", required = true) + protected List<QName> resourcePropertyNames; + @XmlElement(name = "FinalWSResourceInterface", namespace = "http://schemas.ggf.org/ogsa/2006/05/wsrf-bp", required = true) + protected QName finalWSResourceInterface; + @XmlList + @XmlElement(name = "WSResourceInterfaces", namespace = "http://schemas.ggf.org/ogsa/2006/05/wsrf-bp", required = true) + protected List<QName> wsResourceInterfaces; + @XmlElement(name = "ResourceEndpointReference", namespace = "http://schemas.ggf.org/ogsa/2006/05/wsrf-bp", required = true) + protected W3CEndpointReference resourceEndpointReference; + @XmlElement(name = "CurrentTime", namespace = "http://docs.oasis-open.org/wsrf/rl-2", required = true) + protected CurrentTime currentTime; + @XmlElement(name = "TerminationTime", namespace = "http://docs.oasis-open.org/wsrf/rl-2", nillable = true) + protected TerminationTime terminationTime; + @XmlAnyElement(lax = true) + protected List<Object> any; + + /** + * Gets the value of the applicationResource property. + * + * <p> + * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a <CODE>set</CODE> method for the applicationResource property. + * + * <p> + * For example, to add a new item, do as follows: + * <pre> + * getApplicationResource().add(newItem); + * </pre> + * + * + * <p> + * Objects of the following type(s) are allowed in the list + * {@link ApplicationResourceType } + * + * + */ + public List<ApplicationResourceType> getApplicationResource() { + if (applicationResource == null) { + applicationResource = new ArrayList<ApplicationResourceType>(); + } + return this.applicationResource; + } + + /** + * Gets the value of the description property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getDescription() { + return description; + } + + /** + * Sets the value of the description property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setDescription(String value) { + this.description = value; + } + + /** + * Gets the value of the individualPhysicalMemory property. + * + * <p> + * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a <CODE>set</CODE> method for the individualPhysicalMemory property. + * + * <p> + * For example, to add a new item, do as follows: + * <pre> + * getIndividualPhysicalMemory().add(newItem); + * </pre> + * + * + * <p> + * Objects of the following type(s) are allowed in the list + * {@link RangeValueType } + * + * + */ + public List<RangeValueType> getIndividualPhysicalMemory() { + if (individualPhysicalMemory == null) { + individualPhysicalMemory = new ArrayList<RangeValueType>(); + } + return this.individualPhysicalMemory; + } + + /** + * Gets the value of the operatingSystem property. + * + * <p> + * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a <CODE>set</CODE> method for the operatingSystem property. + * + * <p> + * For example, to add a new item, do as follows: + * <pre> + * getOperatingSystem().add(newItem); + * </pre> + * + * + * <p> + * Objects of the following type(s) are allowed in the list + * {@link OperatingSystemType } + * + * + */ + public List<OperatingSystemType> getOperatingSystem() { + if (operatingSystem == null) { + operatingSystem = new ArrayList<OperatingSystemType>(); + } + return this.operatingSystem; + } + + /** + * Gets the value of the processor property. + * + * <p> + * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a <CODE>set</CODE> method for the processor property. + * + * <p> + * For example, to add a new item, do as follows: + * <pre> + * getProcessor().add(newItem); + * </pre> + * + * + * <p> + * Objects of the following type(s) are allowed in the list + * {@link ProcessorType } + * + * + */ + public List<ProcessorType> getProcessor() { + if (processor == null) { + processor = new ArrayList<ProcessorType>(); + } + return this.processor; + } + + /** + * Gets the value of the textInfo property. + * + * <p> + * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a <CODE>set</CODE> method for the textInfo property. + * + * <p> + * For example, to add a new item, do as follows: + * <pre> + * getTextInfo().add(newItem); + * </pre> + * + * + * <p> + * Objects of the following type(s) are allowed in the list + * {@link TextInfoType } + * + * + */ + public List<TextInfoType> getTextInfo() { + if (textInfo == null) { + textInfo = new ArrayList<TextInfoType>(); + } + return this.textInfo; + } + + /** + * Gets the value of the contextInfo property. + * + * <p> + * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a <CODE>set</CODE> method for the contextInfo property. + * + * <p> + * For example, to add a new item, do as follows: + * <pre> + * getContextInfo().add(newItem); + * </pre> + * + * + * <p> + * Objects of the following type(s) are allowed in the list + * {@link ContextInfoType } + * + * + */ + public List<ContextInfoType> getContextInfo() { + if (contextInfo == null) { + contextInfo = new ArrayList<ContextInfoType>(); + } + return this.contextInfo; + } + + /** + * Gets the value of the numericInfo property. + * + * <p> + * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a <CODE>set</CODE> method for the numericInfo property. + * + * <p> + * For example, to add a new item, do as follows: + * <pre> + * getNumericInfo().add(newItem); + * </pre> + * + * + * <p> + * Objects of the following type(s) are allowed in the list + * {@link NumericInfoType } + * + * + */ + public List<NumericInfoType> getNumericInfo() { + if (numericInfo == null) { + numericInfo = new ArrayList<NumericInfoType>(); + } + return this.numericInfo; + } + + /** + * Gets the value of the resourcePropertyNames property. + * + * <p> + * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a <CODE>set</CODE> method for the resourcePropertyNames property. + * + * <p> + * For example, to add a new item, do as follows: + * <pre> + * getResourcePropertyNames().add(newItem); + * </pre> + * + * + * <p> + * Objects of the following type(s) are allowed in the list + * {@link QName } + * + * + */ + public List<QName> getResourcePropertyNames() { + if (resourcePropertyNames == null) { + resourcePropertyNames = new ArrayList<QName>(); + } + return this.resourcePropertyNames; + } + + /** + * Gets the value of the finalWSResourceInterface property. + * + * @return + * possible object is + * {@link QName } + * + */ + public QName getFinalWSResourceInterface() { + return finalWSResourceInterface; + } + + /** + * Sets the value of the finalWSResourceInterface property. + * + * @param value + * allowed object is + * {@link QName } + * + */ + public void setFinalWSResourceInterface(QName value) { + this.finalWSResourceInterface = value; + } + + /** + * Gets the value of the wsResourceInterfaces property. + * + * <p> + * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a <CODE>set</CODE> method for the wsResourceInterfaces property. + * + * <p> + * For example, to add a new item, do as follows: + * <pre> + * getWSResourceInterfaces().add(newItem); + * </pre> + * + * + * <p> + * Objects of the following type(s) are allowed in the list + * {@link QName } + * + * + */ + public List<QName> getWSResourceInterfaces() { + if (wsResourceInterfaces == null) { + wsResourceInterfaces = new ArrayList<QName>(); + } + return this.wsResourceInterfaces; + } + + /** + * Gets the value of the resourceEndpointReference property. + * + * @return + * possible object is + * {@link W3CEndpointReference } + * + */ + public W3CEndpointReference getResourceEndpointReference() { + return resourceEndpointReference; + } + + /** + * Sets the value of the resourceEndpointReference property. + * + * @param value + * allowed object is + * {@link W3CEndpointReference } + * + */ + public void setResourceEndpointReference(W3CEndpointReference value) { + this.resourceEndpointReference = value; + } + + /** + * Gets the value of the currentTime property. + * + * @return + * possible object is + * {@link CurrentTime } + * + */ + public CurrentTime getCurrentTime() { + return currentTime; + } + + /** + * Sets the value of the currentTime property. + * + * @param value + * allowed object is + * {@link CurrentTime } + * + */ + public void setCurrentTime(CurrentTime value) { + this.currentTime = value; + } + + /** + * Gets the value of the terminationTime property. + * + * @return + * possible object is + * {@link TerminationTime } + * + */ + public TerminationTime getTerminationTime() { + return terminationTime; + } + + /** + * Sets the value of the terminationTime property. + * + * @param value + * allowed object is + * {@link TerminationTime } + * + */ + public void setTerminationTime(TerminationTime value) { + this.terminationTime = value; + } + + /** + * Gets the value of the any property. + * + * <p> + * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a <CODE>set</CODE> method for the any property. + * + * <p> + * For example, to add a new item, do as follows: + * <pre> + * getAny().add(newItem); + * </pre> + * + * + * <p> + * Objects of the following type(s) are allowed in the list + * {@link Object } + * + * + */ + public List<Object> getAny() { + if (any == null) { + any = new ArrayList<Object>(); + } + return this.any; + } + +} Added: WSRF_JAXWS/trunk/src/org/unigrids/types/atomic/tsf/package-info.java =================================================================== --- WSRF_JAXWS/trunk/src/org/unigrids/types/atomic/tsf/package-info.java (rev 0) +++ WSRF_JAXWS/trunk/src/org/unigrids/types/atomic/tsf/package-info.java 2007-04-27 13:33:49 UTC (rev 735) @@ -0,0 +1,2 @@ +...@ja...notation.XmlSchema(namespace = "http://unigrids.org/2006/04/services/tsf", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED) +package org.unigrids.types.atomic.tsf; Added: WSRF_JAXWS/trunk/src/server/com/fujitsu/service/impl/wsn/cpp/CreatePullPointPortTypeImpl.java =================================================================== --- WSRF_JAXWS/trunk/src/server/com/fujitsu/service/impl/wsn/cpp/CreatePullPointPortTypeImpl.java (rev 0) +++ WSRF_JAXWS/trunk/src/server/com/fujitsu/service/impl/wsn/cpp/CreatePullPointPortTypeImpl.java 2007-04-27 13:33:49 UTC (rev 735) @@ -0,0 +1,49 @@ +/* + * Created on Apr 27, 2007 + * Copyright (c) 2007 Fujitsu Laboratories of Europe. All rights reserved. + */ +package server.com.fujitsu.service.impl.wsn.cpp; + +import org.oasis.wsn.basenotification.UnableToCreatePullPointFaultType; +import org.oasis.wsn.bn.CreatePullPoint; +import org.oasis.wsn.bn.CreatePullPointResponse; +import org.unigrids.services.CreatePullPointPortType; +import org.unigrids.services.UnableToCreatePullPointFault; + +import com.fujitsu.unigrids.services.impl.wsn.PullPointPortTypeImpl; +import com.fujitsu.unigrids.services.util.common.FaultFiller; +import com.fujitsu.unigrids.services.util.security.NotPermittedException; + +/** + * + * @author Vivian Li, Fujitsu Laboratories of Europe + * @version $Id$ + */ +public class CreatePullPointPortTypeImpl implements CreatePullPointPortType { + + public CreatePullPointResponse createPullPoint( + CreatePullPoint createPullPointRequest) + throws UnableToCreatePullPointFault { + + try { + PullPointPortTypeImpl pp = new PullPointPortTypeImpl(PullPointPortTypeImpl.PP_SERVICE_NAME, null, null, null); + return new CreatePullPointResponse(pp.getEndpointReferenceType(), null); + } catch (NotPermittedException e) { + UnableToCreatePullPointFaultType fault = new UnableToCreatePullPointFaultType(); + FaultFiller.fillBaseFault(fault,null,"Not permitted"); + throw fault; + } + + } + +} + + + +// +// Copyright (c) Fujitsu Ltd 2000 - 2007 +// +// Use and distribution is subject a License. +// A copy was supplied with the distribution (see documentation or the jar file). +// +//This product includes software developed by Fujitsu Limited (http://www.fujitsu.com). \ No newline at end of file Added: WSRF_JAXWS/trunk/src/server/com/fujitsu/service/impl/wsn/nc/NotificationConsumerImpl.java =================================================================== --- WSRF_JAXWS/trunk/src/server/com/fujitsu/service/impl/wsn/nc/NotificationConsumerImpl.java (rev 0) +++ WSRF_JAXWS/trunk/src/server/com/fujitsu/service/impl/wsn/nc/NotificationConsumerImpl.java 2007-04-27 13:33:49 UTC (rev 735) @@ -0,0 +1,61 @@ +/* + * Created on Apr 27, 2007 + * Copyright (c) 2007 Fujitsu Laboratories of Europe. All rights reserved. + */ +package server.com.fujitsu.service.impl.wsn.nc; + +import java.util.Iterator; +import java.util.logging.Logger; + +import javax.xml.ws.wsaddressing.W3CEndpointReference; + +import org.oasis.wsn.bn.NotificationMessageHolderType; +import org.oasis.wsn.bn.Notify; +import org.oasis.wsn.bn.NotificationMessageHolderType.Message; +import org.unigrids.services.wsn.nc.NotificationConsumer; + +import server.com.fujitsu.service.notificationmgmt.api.INotificationCallback; + +/** + * + * @author Vivian Li, Fujitsu Laboratories of Europe + * @version $Id$ + */ +public class NotificationConsumerImpl implements NotificationConsumer { + + private static Logger logger = Logger.getLogger(NotificationConsumerImpl.class.getName()); + + public NotificationConsumerImpl(){} + + public void notify(Notify notify) { + + Iterator<NotificationMessageHolderType> notifications = notify.getNotificationMessage().iterator(); + + while (notifications.hasNext()){ + + NotificationMessageHolderType holder = notifications.next() ; + + W3CEndpointReference npEPR = holder.getProducerReference(); + Message message = holder.getMessage(); + if(message !=null) + callback.sendNotificationMessages(npEPR, message); + logger.info("Notification message has been sent"); + } + } + + private INotificationCallback callback; + public void setNotificationCallback(INotificationCallback callback){ + this.callback=callback; + } + +} + + + +// +// Copyright (c) Fujitsu Ltd 2000 - 2007 +// +// Use and distribution is subject a License. +// A copy was supplied with the distribution (see documentation or the jar file). +// +//This product includes software developed by Fujitsu Limited (http://www.fujitsu.com). \ No newline at end of file Added: WSRF_JAXWS/trunk/src/server/com/fujitsu/service/impl/wsn/np/NotificationProducerImpl.java =================================================================== --- WSRF_JAXWS/trunk/src/server/com/fujitsu/service/impl/wsn/np/NotificationProducerImpl.java (rev 0) +++ WSRF_JAXWS/trunk/src/server/com/fujitsu/service/impl/wsn/np/NotificationProducerImpl.java 2007-04-27 13:33:49 UTC (rev 735) @@ -0,0 +1,149 @@ +/* + * Created on Apr 27, 2007 + * Copyright (c) 2007 Fujitsu Laboratories of Europe. All rights reserved. + */ +package server.com.fujitsu.service.impl.wsn.np; + +import java.util.Calendar; +import java.util.GregorianCalendar; +import java.util.logging.Level; +import java.util.logging.Logger; + +import javax.jws.WebService; +import javax.xml.namespace.QName; +import javax.xml.ws.soap.Addressing; + +import org.oasis.wsn.basenotification.SubscribeCreationFailedFaultType; +import org.oasis.wsn.bn.GetCurrentMessage; +import org.oasis.wsn.bn.GetCurrentMessageResponse; +import org.oasis.wsn.bn.Subscribe; +import org.oasis.wsn.bn.SubscribeResponse; +import org.oasis.wsrf.resourcelifetime.TerminationTime; +import org.unigrids.services.InvalidFilterFault; +import org.unigrids.services.InvalidMessageContentExpressionFault; +import org.unigrids.services.InvalidProducerPropertiesExpressionFault; +import org.unigrids.services.InvalidTopicExpressionFault; +import org.unigrids.services.MultipleTopicsSpecifiedFault; +import org.unigrids.services.NoCurrentMessageOnTopicFault; +import org.unigrids.services.NotificationProducer; +import org.unigrids.services.NotifyMessageNotSupportedFault; +import org.unigrids.services.ResourceUnknownFault; +import org.unigrids.services.SubscribeCreationFailedFault; +import org.unigrids.services.TopicExpressionDialectUnknownFault; +import org.unigrids.services.TopicNotSupportedFault; +import org.unigrids.services.UnacceptableInitialTerminationTimeFault; +import org.unigrids.services.UnrecognizedPolicyRequestFault; +import org.unigrids.services.UnsupportedPolicyRequestFault; + +import com.fujitsu.unigrids.services.impl.wsn.SubscriptionManagerImpl; +import com.fujitsu.unigrids.services.resourcemgmt.DynamicResourceProperty; +import com.fujitsu.unigrids.services.resourcemgmt.ResourceManager; +import com.fujitsu.unigrids.services.resourcemgmt.ResourcePropertyObject; +import com.fujitsu.unigrids.services.util.common.FaultFiller; +import com.sun.xml.ws.developer.Stateful; +import com.sun.xml.ws.developer.StatefulWebServiceManager; + +import server.com.fujitsu.service.impl.wsrf.lt.ResourceLifetimePortTypeImpl; +import server.com.fujitsu.service.util.security.NotPermittedException; + +/** + * + * @author Vivian Li, Fujitsu Laboratories of Europe + * @version $Id$ + */ + +@Stateful +@Addressing +@WebService(endpointInterface = "org.unigrids.services.NotificationProducer") + +public class NotificationProducerImpl extends ResourceLifetimePortTypeImpl implements NotificationProducer { + + private static Logger logger = Logger.getLogger(NotificationProducerImpl.class.getName()); + + public NotificationProducerImpl() throws NotPermittedException { + super(); + } + + public GetCurrentMessageResponse getCurrentMessage( + GetCurrentMessage getCurrentMessageRequest) + throws InvalidTopicExpressionFault, MultipleTopicsSpecifiedFault, + NoCurrentMessageOnTopicFault, ResourceUnknownFault, + TopicExpressionDialectUnknownFault, TopicNotSupportedFault { + // TODO Auto-generated method stub + return null; + } + + public SubscribeResponse subscribe(Subscribe subscribeRequest) + throws InvalidFilterFault, InvalidMessageContentExpressionFault, + InvalidProducerPropertiesExpressionFault, + InvalidTopicExpressionFault, NotifyMessageNotSupportedFault, + ResourceUnknownFault, SubscribeCreationFailedFault, + TopicExpressionDialectUnknownFault, TopicNotSupportedFault, + UnacceptableInitialTerminationTimeFault, + UnrecognizedPolicyRequestFault, UnsupportedPolicyRequestFault { + + try { + Calendar tt = null; + + if (subscribeRequest.getInitialTerminationTime() != null) + tt = subscribeRequest.getInitialTerminationTime().getDateTimeValue(); + + SubscriptionManagerImpl sm = new SubscriptionManagerImpl(SubscriptionManagerImpl.SM_SERVICE_NAME, + SubscriptionManagerImpl.SM_PROPERTIES_QNAME, null, tt); + + ResourcePropertyObject[] rpos = { + new ResourcePropertyObject(SubscriptionManagerImpl.CR_QNAME, subscribeRequest.getConsumerReference()), + new ResourcePropertyObject(SubscriptionManagerImpl.FILTER_QNAME, subscribeRequest.getFilter()), + new ResourcePropertyObject(SubscriptionManagerImpl.CT_QNAME, new GregorianCalendar()) }; + + sm.addAllResourceProperties(rpos); + //telling sm who created it. + sm.setNPEPR(this.getEndpointReferenceType()); + + //get the rp object from the hashtable, then add to the Observer + QName[] observedQnames = { (subscribeRequest.getFilter().get_any()[0].getQName()) }; + + //add sm to the list no matter if there are already rps + ResourceManager rm = ResourceManager.getRMInstance(); + rm.addSubscriptions(observedQnames[0],sm); + + //add to the existing resource properties + ResourcePropertyObject[] observedObject = getResourceProperties(observedQnames); + + for (int i = 0; i < observedObject.length; i++) { + if (observedObject[i].getProperty() instanceof DynamicResourceProperty) { + ((DynamicResourceProperty) observedObject[i].getProperty()).addObserver(sm); + }else + observedObject[i].addObserver(sm); + } + + SubscribeResponse response = new SubscribeResponse(); + response.setSubscriptionReference(sm.getEndpointReferenceType()); + response.setTerminationTime(((TerminationTime) sm.getResourceProperty(TERMINATION_TIME_QNAME).get_any()[0].getObjectValue()).get_value()); + response.setCurrentTime((Calendar) sm.getResourceProperty(CURRENT_TIME_QNAME).get_any()[0].getObjectValue()); + + logger.log(Level.INFO, "subscribing " + observedQnames[0].getLocalPart() + " ok"); + + return response; + } catch (NotPermittedException e) { + SubscribeCreationFailedFaultType fault = new SubscribeCreationFailedFaultType(); + FaultFiller.fillBaseFault(fault,null,e.getMessage()); + logger.log(Level.WARNING,"Subscription request not permitted",e); + throw fault; + } + + } + + public static StatefulWebServiceManager<NotificationProducerImpl> npManager; + +} + + + +// +// Copyright (c) Fujitsu Ltd 2000 - 2007 +// +// Use and distribution is subject a License. +// A copy was supplied with the distribution (see documentation or the jar file). +// +//This product includes software developed by Fujitsu Limited (http://www.fujitsu.com). \ No newline at end of file Added: WSRF_JAXWS/trunk/src/server/com/fujitsu/service/impl/wsn/pp/PullPointPortTypeImpl.java =================================================================== --- WSRF_JAXWS/trunk/src/server/com/fujitsu/service/impl/wsn/pp/PullPointPortTypeImpl.java (rev 0) +++ WSRF_JAXWS/trunk/src/server/com/fujitsu/service/impl/wsn/pp/PullPointPortTypeImpl.java 2007-04-27 13:33:49 UTC (rev 735) @@ -0,0 +1,92 @@ +/* + * Created on Apr 26, 2006 + * Copyright (c) 2006 Fujitsu Laboratories of Europe. All rights reserved. + */ +package server.com.fujitsu.service.impl.wsn.pp; + +import java.io.Serializable; +import java.net.URL; +import java.rmi.RemoteException; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.logging.Logger; + +import javax.xml.namespace.QName; + +import org.oasis.wsn.basenotification.DestroyPullPoint; +import org.oasis.wsn.basenotification.DestroyPullPointResponse; +import org.oasis.wsn.basenotification.GetMessages; +import org.oasis.wsn.basenotification.G... [truncated message content] |