You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by ke...@apache.org on 2007/09/04 15:48:35 UTC
svn commit: r572682 - in /incubator/tuscany/sandbox/kgoodson/events: impl/
impl/src/main/java/org/apache/tuscany/sdo/api/
impl/src/main/java/org/apache/tuscany/sdo/helper/
impl/src/main/java/org/apache/tuscany/sdo/impl/ lib/
lib/src/main/java/org/apach...
Author: kelvingoodson
Date: Tue Sep 4 06:48:33 2007
New Revision: 572682
URL: http://svn.apache.org/viewvc?rev=572682&view=rev
Log: (empty)
Added:
incubator/tuscany/sandbox/kgoodson/events/impl/src/main/java/org/apache/tuscany/sdo/api/
incubator/tuscany/sandbox/kgoodson/events/impl/src/main/java/org/apache/tuscany/sdo/api/Event.java
incubator/tuscany/sandbox/kgoodson/events/impl/src/main/java/org/apache/tuscany/sdo/api/EventListener.java
incubator/tuscany/sandbox/kgoodson/events/impl/src/main/java/org/apache/tuscany/sdo/api/ListenerBase.java
incubator/tuscany/sandbox/kgoodson/events/impl/src/main/java/org/apache/tuscany/sdo/impl/EventImpl.java
Modified:
incubator/tuscany/sandbox/kgoodson/events/impl/pom.xml
incubator/tuscany/sandbox/kgoodson/events/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOHelperImpl.java
incubator/tuscany/sandbox/kgoodson/events/impl/src/main/java/org/apache/tuscany/sdo/impl/DataObjectImpl.java
incubator/tuscany/sandbox/kgoodson/events/lib/pom.xml
incubator/tuscany/sandbox/kgoodson/events/lib/src/main/java/org/apache/tuscany/sdo/api/SDOHelper.java
incubator/tuscany/sandbox/kgoodson/events/lib/src/main/java/org/apache/tuscany/sdo/api/SDOUtil.java
Modified: incubator/tuscany/sandbox/kgoodson/events/impl/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/kgoodson/events/impl/pom.xml?rev=572682&r1=572681&r2=572682&view=diff
==============================================================================
--- incubator/tuscany/sandbox/kgoodson/events/impl/pom.xml (original)
+++ incubator/tuscany/sandbox/kgoodson/events/impl/pom.xml Tue Sep 4 06:48:33 2007
@@ -27,6 +27,7 @@
<artifactId>tuscany-sdo-impl</artifactId>
<name>Tuscany SDO Implementation</name>
<description>Tuscany implementation of SDO API.</description>
+ <version>kgoodson-sandbox</version>
<repositories>
<repository>
Added: incubator/tuscany/sandbox/kgoodson/events/impl/src/main/java/org/apache/tuscany/sdo/api/Event.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/kgoodson/events/impl/src/main/java/org/apache/tuscany/sdo/api/Event.java?rev=572682&view=auto
==============================================================================
--- incubator/tuscany/sandbox/kgoodson/events/impl/src/main/java/org/apache/tuscany/sdo/api/Event.java (added)
+++ incubator/tuscany/sandbox/kgoodson/events/impl/src/main/java/org/apache/tuscany/sdo/api/Event.java Tue Sep 4 06:48:33 2007
@@ -0,0 +1,61 @@
+package org.apache.tuscany.sdo.api;
+
+import commonj.sdo.Property;
+
+public interface Event {
+
+ Object getNotifier();
+
+ int SET = 1;
+ int UNSET = 2;
+ int ADD = 3;
+ int REMOVE = 4;
+ int ADD_MANY = 5;
+ int REMOVE_MANY = 6;
+ int MOVE = 7;
+
+ int getEventType();
+
+
+ int NO_FEATURE_ID = -1;
+
+
+ Property getProperty();
+ Object getOldValue();
+ Object getNewValue();
+ boolean wasSet();
+ boolean isTouch();
+
+
+ int NO_INDEX = -1;
+ int getPosition();
+
+
+ boolean getOldBooleanValue();
+ boolean getNewBooleanValue();
+
+ byte getOldByteValue();
+ byte getNewByteValue();
+
+ char getOldCharValue();
+ char getNewCharValue();
+
+ double getOldDoubleValue();
+ double getNewDoubleValue();
+
+ float getOldFloatValue();
+ float getNewFloatValue();
+
+ int getOldIntValue();
+ int getNewIntValue();
+
+ long getOldLongValue();
+ long getNewLongValue();
+
+ short getOldShortValue();
+ short getNewShortValue();
+
+ String getOldStringValue();
+ String getNewStringValue();
+ }
+
Added: incubator/tuscany/sandbox/kgoodson/events/impl/src/main/java/org/apache/tuscany/sdo/api/EventListener.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/kgoodson/events/impl/src/main/java/org/apache/tuscany/sdo/api/EventListener.java?rev=572682&view=auto
==============================================================================
--- incubator/tuscany/sandbox/kgoodson/events/impl/src/main/java/org/apache/tuscany/sdo/api/EventListener.java (added)
+++ incubator/tuscany/sandbox/kgoodson/events/impl/src/main/java/org/apache/tuscany/sdo/api/EventListener.java Tue Sep 4 06:48:33 2007
@@ -0,0 +1,8 @@
+package org.apache.tuscany.sdo.api;
+
+
+public interface EventListener {
+
+ public void eventNotification(Event e);
+
+}
Added: incubator/tuscany/sandbox/kgoodson/events/impl/src/main/java/org/apache/tuscany/sdo/api/ListenerBase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/kgoodson/events/impl/src/main/java/org/apache/tuscany/sdo/api/ListenerBase.java?rev=572682&view=auto
==============================================================================
--- incubator/tuscany/sandbox/kgoodson/events/impl/src/main/java/org/apache/tuscany/sdo/api/ListenerBase.java (added)
+++ incubator/tuscany/sandbox/kgoodson/events/impl/src/main/java/org/apache/tuscany/sdo/api/ListenerBase.java Tue Sep 4 06:48:33 2007
@@ -0,0 +1,13 @@
+package org.apache.tuscany.sdo.api;
+
+import org.apache.tuscany.sdo.impl.EventImpl;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.impl.AdapterImpl;
+
+public abstract class ListenerBase extends AdapterImpl implements EventListener {
+
+ public void notifyChanged(Notification msg) {
+ Event e = new EventImpl(msg);
+ eventNotification(e);
+ }
+}
Modified: incubator/tuscany/sandbox/kgoodson/events/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOHelperImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/kgoodson/events/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOHelperImpl.java?rev=572682&r1=572681&r2=572682&view=diff
==============================================================================
--- incubator/tuscany/sandbox/kgoodson/events/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOHelperImpl.java (original)
+++ incubator/tuscany/sandbox/kgoodson/events/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOHelperImpl.java Tue Sep 4 06:48:33 2007
@@ -43,6 +43,8 @@
import org.apache.tuscany.sdo.model.impl.ModelFactoryImpl;
import org.apache.tuscany.sdo.spi.SDOHelperBase;
import org.apache.tuscany.sdo.util.DataObjectUtil;
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.common.util.UniqueEList;
import org.eclipse.emf.ecore.EAnnotation;
@@ -476,6 +478,11 @@
// TODO if (property.isMany()) ... // convert list of values
String stringValue = convertToString(property.getType(), value);
eAnnotation.getDetails().put(property.getName(), stringValue);
+ }
+
+ public void addChangeListener(DataObject quote, Object listener) {
+ Adapter l = (Adapter)listener;
+ ((Notifier)quote).eAdapters().add(listener);
}
}
Modified: incubator/tuscany/sandbox/kgoodson/events/impl/src/main/java/org/apache/tuscany/sdo/impl/DataObjectImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/kgoodson/events/impl/src/main/java/org/apache/tuscany/sdo/impl/DataObjectImpl.java?rev=572682&r1=572681&r2=572682&view=diff
==============================================================================
--- incubator/tuscany/sandbox/kgoodson/events/impl/src/main/java/org/apache/tuscany/sdo/impl/DataObjectImpl.java (original)
+++ incubator/tuscany/sandbox/kgoodson/events/impl/src/main/java/org/apache/tuscany/sdo/impl/DataObjectImpl.java Tue Sep 4 06:48:33 2007
@@ -31,6 +31,8 @@
import org.apache.tuscany.sdo.util.DataObjectUtil;
import org.apache.tuscany.sdo.util.VirtualSequence;
import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.impl.BasicNotifierImpl.EAdapterList;
+import org.eclipse.emf.common.util.BasicEList;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EClass;
@@ -71,7 +73,8 @@
protected int eContainerFeatureID;
protected SDOChangeRecorder changeRecorder;
protected Object location; // Resource.Internal (if object is directly contained in a resource) or URI (if it is a proxy)
-
+ protected BasicEList eAdapters;
+
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1350,12 +1353,18 @@
public boolean eNotificationRequired()
{
- return changeRecorder != null;
+ return changeRecorder != null || super.eNotificationRequired();
}
+ public boolean eDeliver()
+ {
+ return true;
+ }
+
public void eNotify(Notification notification)
{
- changeRecorder.notifyChanged(notification);
+ if(changeRecorder != null) changeRecorder.notifyChanged(notification);
+ super.eNotify(notification);
}
public void setChangeRecorder(SDOChangeRecorder changeRecorder)
@@ -1489,6 +1498,20 @@
return eOpenIsSet(DataObjectUtil.getOpenFeature(this, featureID));
}
+ public EList eAdapters()
+ {
+ if (eAdapters == null)
+ {
+ eAdapters = new EAdapterList(this);
+ }
+ return eAdapters;
+ }
+
+ public BasicEList eBasicAdapters()
+ {
+ return eAdapters;
+ }
+
/*
public int eDerivedStructuralFeatureID(EStructuralFeature eStructuralFeature)
{
Added: incubator/tuscany/sandbox/kgoodson/events/impl/src/main/java/org/apache/tuscany/sdo/impl/EventImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/kgoodson/events/impl/src/main/java/org/apache/tuscany/sdo/impl/EventImpl.java?rev=572682&view=auto
==============================================================================
--- incubator/tuscany/sandbox/kgoodson/events/impl/src/main/java/org/apache/tuscany/sdo/impl/EventImpl.java (added)
+++ incubator/tuscany/sandbox/kgoodson/events/impl/src/main/java/org/apache/tuscany/sdo/impl/EventImpl.java Tue Sep 4 06:48:33 2007
@@ -0,0 +1,142 @@
+package org.apache.tuscany.sdo.impl;
+
+import org.apache.tuscany.sdo.api.Event;
+import org.eclipse.emf.common.notify.Notification;
+
+import commonj.sdo.Property;
+
+
+public class EventImpl implements Event {
+
+ protected Notification emfEvent;
+ protected Object notifier;
+
+ public EventImpl(Notification notification)
+ {
+ this.emfEvent = notification;
+ }
+
+ public Object getNotifier()
+ {
+ return notifier == null ? emfEvent.getNotifier() : notifier;
+ }
+
+ public int getEventType()
+ {
+ return emfEvent.getEventType();
+ }
+
+
+ public Property getProperty()
+ {
+ return (Property)emfEvent.getFeature();
+ }
+
+ public Object getOldValue()
+ {
+ return emfEvent.getOldValue();
+ }
+
+ public Object getNewValue()
+ {
+ return emfEvent.getNewValue();
+ }
+
+ public boolean wasSet()
+ {
+ return emfEvent.wasSet();
+ }
+
+ public boolean isTouch()
+ {
+ return emfEvent.isTouch();
+ }
+
+ public int getPosition()
+ {
+ return emfEvent.getPosition();
+ }
+
+
+ public boolean getOldBooleanValue()
+ {
+ return emfEvent.getOldBooleanValue();
+ }
+
+ public boolean getNewBooleanValue()
+ {
+ return emfEvent.getNewBooleanValue();
+ }
+
+ public byte getOldByteValue()
+ {
+ return emfEvent.getOldByteValue();
+ }
+ public byte getNewByteValue()
+ {
+ return emfEvent.getNewByteValue();
+ }
+
+ public char getOldCharValue()
+ {
+ return emfEvent.getOldCharValue();
+ }
+ public char getNewCharValue()
+ {
+ return emfEvent.getNewCharValue();
+ }
+
+ public double getOldDoubleValue()
+ {
+ return emfEvent.getOldDoubleValue();
+ }
+ public double getNewDoubleValue()
+ {
+ return emfEvent.getNewDoubleValue();
+ }
+
+ public float getOldFloatValue()
+ {
+ return emfEvent.getOldFloatValue();
+ }
+ public float getNewFloatValue()
+ {
+ return emfEvent.getNewFloatValue();
+ }
+
+ public int getOldIntValue()
+ {
+ return emfEvent.getOldIntValue();
+ }
+ public int getNewIntValue()
+ {
+ return emfEvent.getNewIntValue();
+ }
+
+ public long getOldLongValue()
+ {
+ return emfEvent.getOldLongValue();
+ }
+ public long getNewLongValue()
+ {
+ return emfEvent.getNewLongValue();
+ }
+
+ public short getOldShortValue()
+ {
+ return emfEvent.getOldShortValue();
+ }
+ public short getNewShortValue()
+ {
+ return emfEvent.getNewShortValue();
+ }
+
+ public String getOldStringValue()
+ {
+ return emfEvent.getOldStringValue();
+ }
+ public String getNewStringValue()
+ {
+ return emfEvent.getNewStringValue();
+ }
+}
Modified: incubator/tuscany/sandbox/kgoodson/events/lib/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/kgoodson/events/lib/pom.xml?rev=572682&r1=572681&r2=572682&view=diff
==============================================================================
--- incubator/tuscany/sandbox/kgoodson/events/lib/pom.xml (original)
+++ incubator/tuscany/sandbox/kgoodson/events/lib/pom.xml Tue Sep 4 06:48:33 2007
@@ -28,6 +28,7 @@
<name>Tuscany SDO Library</name>
<description>Tuscany SDO implementation library.</description>
<packaging>jar</packaging>
+ <version>kgoodson-sandbox</version>
<repositories>
<repository>
Modified: incubator/tuscany/sandbox/kgoodson/events/lib/src/main/java/org/apache/tuscany/sdo/api/SDOHelper.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/kgoodson/events/lib/src/main/java/org/apache/tuscany/sdo/api/SDOHelper.java?rev=572682&r1=572681&r2=572682&view=diff
==============================================================================
--- incubator/tuscany/sandbox/kgoodson/events/lib/src/main/java/org/apache/tuscany/sdo/api/SDOHelper.java (original)
+++ incubator/tuscany/sandbox/kgoodson/events/lib/src/main/java/org/apache/tuscany/sdo/api/SDOHelper.java Tue Sep 4 06:48:33 2007
@@ -408,4 +408,6 @@
final String XML_LOAD_UNKNOWN_PROPERTIES = "load unknown properties";
}
+ public void addChangeListener(DataObject quote, Object listener);
+
}
Modified: incubator/tuscany/sandbox/kgoodson/events/lib/src/main/java/org/apache/tuscany/sdo/api/SDOUtil.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/kgoodson/events/lib/src/main/java/org/apache/tuscany/sdo/api/SDOUtil.java?rev=572682&r1=572681&r2=572682&view=diff
==============================================================================
--- incubator/tuscany/sandbox/kgoodson/events/lib/src/main/java/org/apache/tuscany/sdo/api/SDOUtil.java (original)
+++ incubator/tuscany/sandbox/kgoodson/events/lib/src/main/java/org/apache/tuscany/sdo/api/SDOUtil.java Tue Sep 4 06:48:33 2007
@@ -404,5 +404,10 @@
{
defaultSDOHelper.getMetaDataBuilder().addPropertyInstanceProperty(definedProperty, property, value);
}
+
+ public static void addChangeListener(DataObject quote, Object l) {
+ // TODO change to EventListener when imported
+ defaultSDOHelper.addChangeListener(quote, l);
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org