Author: scamp
Date: Fri Mar 25 11:38:14 2005
New Revision: 159049

URL: http://svn.apache.org/viewcvs?view=rev&rev=159049
Log: (empty)


Added:
    incubator/muse/trunk/src/java/org/apache/ws/muws/impl/CategoryImpl.java
    incubator/muse/trunk/src/java/org/apache/ws/muws/v1_0/events/impl/
    
incubator/muse/trunk/src/java/org/apache/ws/muws/v1_0/topics/ManagementEventTopic.java
    
incubator/muse/trunk/src/java/org/apache/ws/muws/v1_0/topics/impl/XmlBeansManagementEventTopicImpl.java
Removed:
    incubator/muse/trunk/src/java/org/apache/ws/muws/impl/AbstractCategory.java
    
incubator/muse/trunk/src/java/org/apache/ws/muws/v1_0/events/XmlBeansManagementEvent.java
    
incubator/muse/trunk/src/java/org/apache/ws/muws/v1_0/topics/impl/ManagementEventTopicImpl.java
Modified:
    incubator/muse/trunk/src/java/org/apache/ws/muws/v1_0/MuwsConstants.java
    
incubator/muse/trunk/src/java/org/apache/ws/muws/v1_0/events/ManagementEvent.java

Added: incubator/muse/trunk/src/java/org/apache/ws/muws/impl/CategoryImpl.java
URL: 
http://svn.apache.org/viewcvs/incubator/muse/trunk/src/java/org/apache/ws/muws/impl/CategoryImpl.java?view=auto&rev=159049
==============================================================================
--- incubator/muse/trunk/src/java/org/apache/ws/muws/impl/CategoryImpl.java 
(added)
+++ incubator/muse/trunk/src/java/org/apache/ws/muws/impl/CategoryImpl.java Fri 
Mar 25 11:38:14 2005
@@ -0,0 +1,77 @@
+/*=============================================================================*
+ *  Copyright 2005 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.muws.impl;
+
+import org.apache.ws.muws.Category;
+import org.apache.ws.util.XmlBeanUtils;
+import org.apache.ws.XmlObjectWrapper;
+import org.apache.xmlbeans.XmlObject;
+import org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.CategoryType;
+
+import javax.xml.namespace.QName;
+
+/**
+ * An XMLBeans-based implementation of a MUWS [EMAIL PROTECTED] Category}.
+ */
+public class CategoryImpl implements Category, XmlObjectWrapper
+{
+
+    private QName m_name;
+    private Category m_generalization;
+
+    public CategoryImpl( QName name )
+    {
+        m_name = name;
+    }
+
+    public CategoryImpl( QName name, Category generalization )
+    {
+        m_name = name;
+        m_generalization = generalization;
+    }
+
+    public QName getName()
+    {
+        return m_name;
+    }
+
+    public Category getGeneralization()
+    {
+        return m_generalization;
+    }
+
+    public boolean hasGeneralization()
+    {
+        return m_generalization != null;
+    }
+
+    public void setGeneralization( Category category )
+    {
+        m_generalization = category;
+    }
+
+    public XmlObject getXmlObject()
+    {
+        XmlObject categoryXBean = XmlObject.Factory.newInstance();
+        XmlObject xBean = categoryXBean;
+        for ( Category category = this; category != null; category = 
category.getGeneralization() )
+        {
+            xBean = XmlBeanUtils.addChildElement( xBean, category.getName() );
+        }
+        return categoryXBean;
+    }
+
+}

Modified: 
incubator/muse/trunk/src/java/org/apache/ws/muws/v1_0/MuwsConstants.java
URL: 
http://svn.apache.org/viewcvs/incubator/muse/trunk/src/java/org/apache/ws/muws/v1_0/MuwsConstants.java?view=diff&r1=159048&r2=159049
==============================================================================
--- incubator/muse/trunk/src/java/org/apache/ws/muws/v1_0/MuwsConstants.java 
(original)
+++ incubator/muse/trunk/src/java/org/apache/ws/muws/v1_0/MuwsConstants.java 
Fri Mar 25 11:38:14 2005
@@ -15,6 +15,8 @@
  */
 package org.apache.ws.muws.v1_0;
 
+import javax.xml.namespace.QName;
+
 /**
  * Constants for names defined by the MUWS 1.0 specifications.
  */
@@ -80,5 +82,21 @@
      * Namespace prefix for MUWS Part 2 topics.
      */
     String NSPREFIX_MUWS_PART2_TOPICS = "muws-p2-events";
+
+    /**
+     * Situation QNames
+     */
+    QName SITUATION_AVAILABILITY = new QName(NSURI_MUWS_PART2_SCHEMA, 
"AvailabilitySituation" ,NSPREFIX_MUWS_PART2_SCHEMA);
+    QName SITUATION_CAPABILITY = new QName(NSURI_MUWS_PART2_SCHEMA, 
"CapabilitySituation" ,NSPREFIX_MUWS_PART2_SCHEMA);
+    QName SITUATION_CONFIGURATION = new QName(NSURI_MUWS_PART2_SCHEMA, 
"ConfigurationSituation" ,NSPREFIX_MUWS_PART2_SCHEMA);
+    QName SITUATION_STOP = new QName(NSURI_MUWS_PART2_SCHEMA, "StopSituation" 
,NSPREFIX_MUWS_PART2_SCHEMA);
+    QName SITUATION_START = new QName(NSURI_MUWS_PART2_SCHEMA, 
"StartSituation" ,NSPREFIX_MUWS_PART2_SCHEMA);
+    QName SITUATION_REQUEST = new QName(NSURI_MUWS_PART2_SCHEMA, 
"RequestSituation" ,NSPREFIX_MUWS_PART2_SCHEMA);
+    QName SITUATION_DESTROY = new QName(NSURI_MUWS_PART2_SCHEMA, 
"DestroySituation" ,NSPREFIX_MUWS_PART2_SCHEMA);
+    QName SITUATION_CREATE = new QName(NSURI_MUWS_PART2_SCHEMA, 
"CreateSituation" ,NSPREFIX_MUWS_PART2_SCHEMA);
+    QName SITUATION_DEPENDENCY = new QName(NSURI_MUWS_PART2_SCHEMA, 
"DependencySituation" ,NSPREFIX_MUWS_PART2_SCHEMA);
+    QName SITUATION_CONNECT = new QName(NSURI_MUWS_PART2_SCHEMA, 
"ConnectSituation" ,NSPREFIX_MUWS_PART2_SCHEMA);
+    QName SITUATION_REPORT = new QName(NSURI_MUWS_PART2_SCHEMA, 
"ReportSituation" ,NSPREFIX_MUWS_PART2_SCHEMA);
+    QName SITUATION_OTHER = new QName(NSURI_MUWS_PART2_SCHEMA, 
"OtherSituation" ,NSPREFIX_MUWS_PART2_SCHEMA);
 
 }

Modified: 
incubator/muse/trunk/src/java/org/apache/ws/muws/v1_0/events/ManagementEvent.java
URL: 
http://svn.apache.org/viewcvs/incubator/muse/trunk/src/java/org/apache/ws/muws/v1_0/events/ManagementEvent.java?view=diff&r1=159048&r2=159049
==============================================================================
--- 
incubator/muse/trunk/src/java/org/apache/ws/muws/v1_0/events/ManagementEvent.java
 (original)
+++ 
incubator/muse/trunk/src/java/org/apache/ws/muws/v1_0/events/ManagementEvent.java
 Fri Mar 25 11:38:14 2005
@@ -21,12 +21,11 @@
 
     void setSourceResourceId(String sourceResourceId);
 
-    void setEventId(String eventId);
-
     void setReporterComponentAddresses(Object[] reporterComponentAddresses);
 
     void setSourceComponentAddresses(Object[] sourceComponentAddresses);
 
     void setAny(Object[] any);
-     
+
+    Situation getSituation();
 }

Added: 
incubator/muse/trunk/src/java/org/apache/ws/muws/v1_0/topics/ManagementEventTopic.java
URL: 
http://svn.apache.org/viewcvs/incubator/muse/trunk/src/java/org/apache/ws/muws/v1_0/topics/ManagementEventTopic.java?view=auto&rev=159049
==============================================================================
--- 
incubator/muse/trunk/src/java/org/apache/ws/muws/v1_0/topics/ManagementEventTopic.java
 (added)
+++ 
incubator/muse/trunk/src/java/org/apache/ws/muws/v1_0/topics/ManagementEventTopic.java
 Fri Mar 25 11:38:14 2005
@@ -0,0 +1,16 @@
+package org.apache.ws.muws.v1_0.topics;
+
+import org.apache.ws.muws.v1_0.events.ManagementEvent;
+
+/**
+ * @author Sal Campana
+ */
+public interface ManagementEventTopic
+{
+    /**
+     * This method is used to send a ManagementEvent to subscribers to this 
topic.
+     *
+     * @param me
+     */
+    void publish(ManagementEvent me);
+}

Added: 
incubator/muse/trunk/src/java/org/apache/ws/muws/v1_0/topics/impl/XmlBeansManagementEventTopicImpl.java
URL: 
http://svn.apache.org/viewcvs/incubator/muse/trunk/src/java/org/apache/ws/muws/v1_0/topics/impl/XmlBeansManagementEventTopicImpl.java?view=auto&rev=159049
==============================================================================
--- 
incubator/muse/trunk/src/java/org/apache/ws/muws/v1_0/topics/impl/XmlBeansManagementEventTopicImpl.java
 (added)
+++ 
incubator/muse/trunk/src/java/org/apache/ws/muws/v1_0/topics/impl/XmlBeansManagementEventTopicImpl.java
 Fri Mar 25 11:38:14 2005
@@ -0,0 +1,125 @@
+package org.apache.ws.muws.v1_0.topics.impl;
+
+import org.apache.ws.XmlObjectWrapper;
+import org.apache.ws.muws.impl.CategoryImpl;
+import org.apache.ws.muws.v1_0.MuwsConstants;
+import org.apache.ws.muws.v1_0.events.ManagementEvent;
+import org.apache.ws.muws.v1_0.events.Situation;
+import org.apache.ws.muws.v1_0.events.impl.SituationImpl;
+import org.apache.ws.muws.v1_0.events.impl.XmlBeansManagementEvent;
+import org.apache.ws.muws.v1_0.topics.ManagementEventTopic;
+import org.apache.ws.notification.topics.ResourcePropertyValueChangeTopic;
+import org.apache.ws.notification.topics.impl.TopicImpl;
+import org.apache.ws.resource.properties.ResourcePropertyValueChangeEvent;
+import org.apache.ws.util.XmlBeanUtils;
+import org.apache.xmlbeans.XmlObject;
+import 
org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart1.ManagementEventDocument;
+
+
+/**
+ * @author Sal Campana
+ */
+public class XmlBeansManagementEventTopicImpl extends TopicImpl implements 
ResourcePropertyValueChangeTopic, ManagementEventTopic
+{
+    private ManagementEvent m_propChangeManagementEvent;
+
+
+    public XmlBeansManagementEventTopicImpl( String capabilityName )
+    {
+        super( capabilityName );
+
+    }
+
+    /**
+     * This operation is used to set the default ManagementEvent to
+     * be used when sending Property Changed Management Events.
+     *
+     * Note: The object must implement XmlObjectWrapper,  the getXmlObject() 
operation will be used to get a new instance
+     *       of the Management Event for use to throw the event.
+     *
+     * @param me
+     */
+    public void setPropChangeManagemntEvent (ManagementEvent me)
+    {
+        if(!(me instanceof XmlObjectWrapper))
+        {
+            throw new IllegalArgumentException("The Management Event must 
implement the XmlObjectWrpper interface.");
+        }
+        m_propChangeManagementEvent = me;
+    }
+
+    public void propertyChanged(ResourcePropertyValueChangeEvent event)
+    {
+        XmlObject me = buildManagementEvent(event);
+
+       Object msg;
+        if ( event instanceof XmlObjectWrapper )
+        {
+            msg = ((XmlObjectWrapper)event).getXmlObject();
+        }
+        else
+        {
+            msg = event;
+        }
+        try
+        {
+            publish( msg );
+        }
+        catch ( Exception e )
+        {
+            // TODO: do we want to throw this and cause the SetRP request to 
fault?
+            e.printStackTrace();
+        }
+    }
+
+    private XmlObject buildManagementEvent(ResourcePropertyValueChangeEvent 
event)
+    {
+        ManagementEventDocument me;
+        if(m_propChangeManagementEvent != null)
+        {
+            me = (ManagementEventDocument) 
((XmlObjectWrapper)m_propChangeManagementEvent).getXmlObject();
+        }
+        else
+        {
+            Situation situation = new SituationImpl(new 
CategoryImpl(MuwsConstants.SITUATION_OTHER));
+            XmlBeansManagementEvent xme = new 
XmlBeansManagementEvent(situation);
+            me = (ManagementEventDocument) 
((XmlObjectWrapper)xme).getXmlObject();
+        }
+
+        
org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart1.ManagementEventType 
managementEvent = me.getManagementEvent();
+        XmlBeanUtils.addChildElement(managementEvent, 
((XmlObjectWrapper)event).getXmlObject());
+        return me;
+    }
+
+
+    /**
+     * This method is used to send a ManagementEvent to subscribers to this 
topic.
+     *
+     * precondition: The param ManagementEvent should be complete and not rely 
on
+     *              any setters in this topic.
+     *
+     * @param me
+     */
+    public void publish(ManagementEvent me)
+    {
+       Object msg;
+        if ( me instanceof XmlObjectWrapper )
+        {
+            msg = ((XmlObjectWrapper)me).getXmlObject();
+        }
+        else
+        {
+            msg = me;
+        }
+        try
+        {
+            publish( msg );
+        }
+        catch ( Exception e )
+        {
+            // TODO: do we want to throw this and cause the SetRP request to 
fault?
+            e.printStackTrace();
+        }
+    }
+
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to