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/07/03 12:55:34 UTC
svn commit: r552779 - in /incubator/tuscany/java/sdo:
impl/src/main/java/org/apache/tuscany/sdo/impl/DataObjectBase.java
lib/pom.xml
tools/src/test/java/org/apache/tuscany/sdo/test/ChangeSummaryGenTestCase.java
Author: kelvingoodson
Date: Tue Jul 3 03:55:33 2007
New Revision: 552779
URL: http://svn.apache.org/viewvc?view=rev&rev=552779
Log:
TUSCANY-1393 Ron's fix ensures the correct type of primitive is used to store primitive values in the EMF NotificationImpl. Without this fix, attempts to serialize a change summary fail with a class cast exception because,e.g. the changed int primitive has been stored in a double, and the attempt to cast it back into an int fails.
Modified:
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/DataObjectBase.java
incubator/tuscany/java/sdo/lib/pom.xml
incubator/tuscany/java/sdo/tools/src/test/java/org/apache/tuscany/sdo/test/ChangeSummaryGenTestCase.java
Modified: incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/DataObjectBase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/DataObjectBase.java?view=diff&rev=552779&r1=552778&r2=552779
==============================================================================
--- incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/DataObjectBase.java (original)
+++ incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/DataObjectBase.java Tue Jul 3 03:55:33 2007
@@ -79,12 +79,32 @@
{
eNotify(new ENotificationImpl(this, Notification.SET, property, oldValue, newValue, isSetChange));
}
+
+ protected void notify(int changeKind, int property, int oldIntValue, int newIntValue)
+ {
+ eNotify(new ENotificationImpl(this, Notification.SET, property, oldIntValue, newIntValue));
+ }
+
+ protected void notify(int changeKind, int property, int oldIntValue, int newIntValue, boolean isSetChange)
+ {
+ eNotify(new ENotificationImpl(this, Notification.SET, property, oldIntValue, newIntValue, isSetChange));
+ }
+
+ protected void notify(int changeKind, int property, double oldDoubleValue, double newDoubleValue)
+ {
+ eNotify(new ENotificationImpl(this, Notification.SET, property, oldDoubleValue, newDoubleValue));
+ }
protected void notify(int changeKind, int property, double oldDoubleValue, double newDoubleValue, boolean isSetChange)
{
eNotify(new ENotificationImpl(this, Notification.SET, property, oldDoubleValue, newDoubleValue, isSetChange));
}
+ protected void notify(int changeKind, int property, boolean oldBooleanValue, boolean newBooleanValue)
+ {
+ eNotify(new ENotificationImpl(this, Notification.SET, property, oldBooleanValue, newBooleanValue));
+ }
+
protected void notify(int changeKind, int property, boolean oldBooleanValue, boolean newBooleanValue, boolean isSetChange)
{
eNotify(new ENotificationImpl(this, Notification.SET, property, oldBooleanValue, newBooleanValue, isSetChange));
@@ -447,5 +467,6 @@
}
} //DataObjectBase
+
Modified: incubator/tuscany/java/sdo/lib/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/lib/pom.xml?view=diff&rev=552779&r1=552778&r2=552779
==============================================================================
--- incubator/tuscany/java/sdo/lib/pom.xml (original)
+++ incubator/tuscany/java/sdo/lib/pom.xml Tue Jul 3 03:55:33 2007
@@ -51,6 +51,12 @@
<scope>provided</scope>
<optional>true</optional>
</dependency>
+
+ <!-- dependencies for test cases -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </dependency>
</dependencies>
<build>
Modified: incubator/tuscany/java/sdo/tools/src/test/java/org/apache/tuscany/sdo/test/ChangeSummaryGenTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/tools/src/test/java/org/apache/tuscany/sdo/test/ChangeSummaryGenTestCase.java?view=diff&rev=552779&r1=552778&r2=552779
==============================================================================
--- incubator/tuscany/java/sdo/tools/src/test/java/org/apache/tuscany/sdo/test/ChangeSummaryGenTestCase.java (original)
+++ incubator/tuscany/java/sdo/tools/src/test/java/org/apache/tuscany/sdo/test/ChangeSummaryGenTestCase.java Tue Jul 3 03:55:33 2007
@@ -111,4 +111,21 @@
assertEquals("in fact 1 Object was changed in the code", 1, changedDataObjects.size());
}
+ public void testChangeSummaryOnDataGraphWithInt() throws Exception {
+
+ HelperContext hc = HelperProvider.getDefaultContext();
+ CustomerFactory factory = CustomerFactory.INSTANCE;
+ factory.register(hc);
+ Customer customer = factory.createCustomer();
+ Account account = factory.createAccount();
+ customer.setAccount(account);
+ DataObject customerDO = (DataObject) customer;
+ DataGraph dg = SDOUtil.createDataGraph();
+ SDOUtil.setRootObject(dg, customerDO);
+ dg.getChangeSummary().beginLogging();
+ dg.getRootObject().getDataObject(0).delete();
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ SDOUtil.saveDataGraph(dg, baos, null);
+ }
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org