Uncategorized

ORM project delay

I am sorry for the lack of updates over the last few weeks. I have been very busy with a non-AIR related project, and have not had the time or energy to get on this.

I will be devoting more time to this project over the next few days, and would like to get some usable (very alpha) code out to everyone soon.

Thanks for all the support.

Uncategorized

Comments (2)

Permalink

Simple ActionScript ORM example

The code base is getting a lot closer to being ready for an alpha release, but here is a quick example of how to use the orm to get an array of all users with a first name containing the string 'matt'.

Actionscript:
  1. import com.angrysprite.data.Database;
  2. import com.angrysprite.data.models.DataModelFactory;
  3. import com.angrysprite.data.models.DataModelStatement;
  4. import com angrysprite.data.QuerySet;
  5. import com.angrysprite.events.DatabaseEvent;
  6. import com.angrysprte.events.DataModelStatementEvent;
  7. import com.angrysprite.models.User;
  8.  
  9. private var database:Database;
  10. private var dataModelFactory:DataModelFactory;
  11. private var users:Array = [];
  12.  
  13. private function init():void {
  14.     database = new Database(new File(File.applicationStorageDirectory.nativePath + File.seperator + "test.db"));
  15.     dataModelFactory = new DataModelFactory(database);
  16.     database.addEventListener(DataBaseEvent.DATABASE_READY, onDatabaseReady);
  17.     database.open();
  18. }
  19.  
  20. private function onDatabaseReady(event:DatabaseEvent):void {
  21.     var qs:QuerySet = new QuerySet().filter([{firstname__contains: 'matt'}]);
  22.     var dmStatement:DataModelStatement = dataModelFactory.getModel(User, qs);
  23.     dmStatement.addEventListener(DataModelStatementEvent.RESULT, userModelsReady);
  24.     dmStatement.execute();
  25. }
  26.  
  27. private function userModelsReady(event:DataModelStatementEvent):void {
  28.     users = users.concat(event.target.result);
  29. }

I think that is a lot easier and cleaner then using the straight air SQLite API.

Please take a look, and let me know if there are any questions or comments.

As soon as I get things a little more together, I will be creating a new google code project for this, and linking to it from here.

Uncategorized

Comments (3)

Permalink