You can subscribe to this list here.
2003 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(10) |
Oct
(2) |
Nov
(9) |
Dec
(2) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(3) |
Feb
(4) |
Mar
|
Apr
(1) |
May
(3) |
Jun
(4) |
Jul
(1) |
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
From: Richard B. <rb...@ar...> - 2003-11-13 06:17:14
|
Just a note that the multretrieve/summary criteria were broken when using order by or group by clauses. It's fixed now, and CVS is updated. - Richard Banks http://www.arel.com http://www.arelretail.com |
From: Richard B. <rb...@ar...> - 2003-11-06 23:39:02
|
Hi, I've just released version 0.0.6 of the AtomsFramework. The major change in the archive is the inclusion of a C# sample project. My C# skills are pretty poor, so it's probably a bit shoddy, but at least it shows that you can use the framework from any CLR compliant language. - Richard Banks http://www.arel.com http://www.arelretail.com |
From: Richard B. <rb...@ar...> - 2003-11-04 21:42:42
|
Hi, I've just added the "count()" aggregate criteria to the AtomsFramework. I'm was going to add FIRST, LAST, etc but not all databases support them, so I've left them out at this stage. If you have a specific need for them, let me know and I'll see what I can do. - Richard Banks http://www.arel.com http://www.arelretail.com |
From: Richard B. <rb...@ar...> - 2003-11-03 03:25:00
|
Hi, I have exposed the underlying database column type for mapped columns. The type is available by using <<attributemap>>.ColumnMap.StorageType Also, StorageSize is now populated for all columns instead of just being exposed for strings. Finally, if you make a mistake with names in the getAttributeMapByName() call an exception is now thrown, instead of just returning nothing to your app. The offending attribute name is included in the exception message - this should help with invalid XML mappings. - Richard Banks http://www.arel.com http://www.arelretail.com |
From: Richard B. <rb...@ar...> - 2003-10-25 08:59:29
|
Just a quick note to say that I've updated the web site a bit (http://jcframework.sourceforge.net). It's still not finished but I want to know if you think it's OK and wether it reads properly. Let me know. Thanks. Richard. |
From: Richard B. <rb...@ar...> - 2003-10-07 07:03:29
|
Hi all, I've update the AtomsFramework in CVS with the following: 1. Fixes to selection criteria not being processed (for greaterthan, etc) 2. Fixes to handling of CPersistentCollections. You must use this collection type in your class if you have oneToMany associations in your XML file. 3. Changed to persistent object class to allow overriding of the save, retrieve, and delete methods. If you do override make sure that you still call mybase.xxx to do the actual processing. Grab the latest version from cvs, or wait until I get the updates onto the main site (later this week I hope) - Richard Banks http://www.arel.com http://www.arelretail.com |
From: Richard B. <rb...@ar...> - 2003-09-26 06:48:03
|
Hi all, In keeping with the weekly update releases, the Atoms Framework version 0.0.4 has been released. This release features strong name support, and the ability to specify the XML file location directly. Ini files are no longer used, and by default an XML file named AtomsFramework.XML will be loaded from the current directory. This should allow ASP.NET applications to work better with the framework, and stops the framework crashing if it referenced from the GAC. Other bug fixes and changes include: CPersistentCollection for better handling of groups of persistent objects Cache fixes to prevent cached objects being changed in the cache itself until they are saved. Enjoy. Richard. |
From: Richard B. <rb...@ar...> - 2003-09-24 22:35:53
|
I've fixed an issue with the AtomsFramework cache. If an object was retrieved in multiple forms in an MDI application and the object was changed in one form, then all the other objects across the application were also changed. This was because a reference to the cached object was being passed around, not fresh copies of the object. Effectively, there was only ever one copy of an object in an application. This is now fixed. When an object is saved a copy of it is placed in the cache. When an object is retrieved from the cache a copy is returned. The copies of the objects are made through the Copy method of the CPersistentObject class. By default, this method only performs a shallow copy of the object. References to other objects from within the class are copied, not the sub-objects themselves. For example, an order line contains a product object. When the order line is copied, the reference to the product object is copied. There is no new copy of the product object made. Here's an example of what this could mean: dim OL1, OL2 as COrderLine OL1 = new COrderLine OL1.OrderNumber = 1 OL1.retrieve(OL1) Console.WriteLine OL1.Product.Description ' Outputs:"Product ABCD" OL2 = OL1.Copy Console.WriteLine OL2.Product.Description ' Outputs: "Product ABCD" OL1.Product.Description = "XXX" Console.WriteLine OL1.Product.Description ' Outputs:"XXX" Console.WriteLine OL2.Product.Description ' Outputs: "XXX" - not "Product ABCD" This is find under normal circumstances. If you want to do a "deep copy" you need to override the copy method in your class as follows: Public Overrides Function Copy() As AToMSFramework.CPersistentObject Dim ol as COrderLine ol = MyBase.Copy ol.Product = me.Product.Copy return ol End Function If you do this then the example code above would be Console.WriteLine OL1.Product.Description ' Outputs:"XXX" Console.WriteLine OL2.Product.Description ' Outputs: "Product ABCD" Grab the latest version from source safe at your leisure. - Richard Banks http://www.arel.com http://www.arelretail.com |
From: Richard B. <rb...@ar...> - 2003-09-23 04:02:22
|
Hi, I have added a new class to the framework. The CPersistentCollection class provides a standard collection for persistent objects. However, in addition to the usual Add/Remove functionality there is a new property Public Property CPersistentCollection.ContainerObject() as CPersistentObject When this is set to an object any time you add or remove an item from the collection the dirty flag will be automatically set on the container object. This saves us having to remember to set the flag in forms when we add a line to an order (for example). To use it - just treat it like a normal collection. The Add and Remove methods and the Item property work just as for a normal collection. To make sure the container property is set just add the following to the New() sub in your object, eg Public Sub New() MyBase.New() m_orderlines = new CPersistentCollection m_orderlines.ContainerObject = me ... End Sub Have fun, Richard. |
From: Richard B. <rb...@ar...> - 2003-09-19 19:48:51
|
Hi, I've made a number of bug fixes with some testing I was doing. I have put the changes in CVS and released a new version on the web site. Also, I have included a sample project that shows how the framework can be used (very simple order entry system). Let me know what you think. The main issues were: 1. AutoSaving of objects via an association was broken. For example, saving an order header and auto saving all the lines automatically. The problem related to the way transactions were handled. Each object started a transaction, but only the parent did the commit. Given the nesting of transactions this meant we had open transactions, and no database updates. 2. Collections within objects For example (again) order lines inside an order header. There is no need to "seed" the collection any more. This makes the business objects simpler to code. 3. Association processing If there were multiple associations for an object and some were marked as AutoRetrieve="False" any subsequent associations were ignored. This also applied to all the other Auto* functions as well. - Richard Banks http://www.arel.com http://www.arelretail.com |
From: Richard B. <rb...@ar...> - 2003-09-15 08:12:51
|
Hi, I've added working support for MySQL using the ADO.NET data provider from http://sourceforge.net/projects/mysqlnet/ You will need to have the ByteFX.Data dll installed in the /bin folder of the project for the compile to work. Testing has been minimal so far so let me know of any problems. - Richard Banks http://www.arel.com http://www.arelretail.com |
From: Richard B. <rb...@ar...> - 2003-09-12 07:38:22
|
The project has now made the top 500 projects at sourceforge for the last few days. Also, I've checked in a few more changes to CVS that fix transactions and connection management in the AtomsFramework. If you notice any issues please let me know. - Richard Banks http://www.arel.com http://www.arelretail.com |
From: Richard B. <rb...@ar...> - 2003-09-11 03:43:05
|
I have made a first cut at some documentation for the .NET version of the framework. It's available on the web site in .DOC format. (see http://jcframework.sourceforge.net) - Richard Banks http://www.arel.com http://www.arelretail.com |
From: Richard B. <rb...@ar...> - 2003-09-09 08:26:24
|
I have added support for SQL identity columns to the Atoms Framework (.NET version). The support at this stage is only for MSSQL databases. To mark an attribute as an identity column add identity="true" to the XML file. If the attribute has a non-zero value when the object is saved the current value will be used. If it is zero then we let the database will set the value. The framework queries the @@IDENTITY value to retrieve the new value and stores it in the object. This is required if the object is subclassed and the identity column is part of the reference key. Hope that all makes sense :-) - Richard Banks http://www.arel.com http://www.arelretail.com |
From: Richard B. <rb...@ar...> - 2003-09-09 06:10:51
|
I just changed the NULL alias detection strings in the .NET version. Strings in .NET can be Nothing which is equivalent to NULL, as opposed to the empty string "" which can legitimately exist in both the database and the object. Nulls for integers and the like I have left as -maxint for the moment, until I'm sure the string change is working correctly. - Richard Banks http://www.arel.com http://www.arelretail.com |
From: Richard B. <rb...@ar...> - 2003-09-05 07:00:46
|
Hi Juan, I thought I'd use the mailing list for communications since there are a few people on it... :-) I've just update CVS with a few changes to the connection class. The CConnection object has now been changed to an interface and two new classes created that implement the interface. These are COleDBConnection and CMSSqlConnection. This was done so we can use specific versions of the various ADO.NET data providers without having to rely solely on OleDb. Those who want to try running this on Mono can use the MySQL or PostgreSQL providers, for instance. - Richard Banks http://www.arel.com http://www.arelretail.com |
From: Ing. J. C. A. <jca...@ab...> - 2003-01-20 15:50:26
|
The new version 0.0.3 adds another application example (same as test2) but with three separated layers, and you can choose between Ms Access and MySql without changing any line of code. Download the new version from: http://sourceforge.net/project/showfiles.php?group_id=61771 Thanks, Juan. |