Kostas Kougios | 6 Nov 23:04 2011

MapperDao ORM library 0.8.3 released

Hi all,

   I am happy to announce the release of v0.8.3 of the MapperDao ORM
library for Scala. The recent updates have seen the library to include
support for simple typed relationships (ie oneToMany Set[String]),
further mapping simplification, mock classes for all components of
mapperdao to facilitate mocking of the library and a circumflex web
example.

The library can be found at https://code.google.com/p/mapperdao/

The circumflex example is a web application for editing product
information along with their attributes, prices, categories and tags
and demonstrate the usage of many of the features of mapperdao like
relationships, CRUD Dao creation and pagination :
https://code.google.com/p/mapperdao-examples/  (productcatalogue)

Thanks,

Konstantinos Kougios

Eclipse Scala IDE Team | 9 Nov 17:20 2011
Picon

Eclipse IDE for Scala RC1 for Scala 2.9 and 2.8 is out

It's been a long journey! The Scala IDE for Eclipse has reached the first release candidate for version 2.0, and if no critical bugs are reported, this will be the 2.0 release! Thanks everyone for the patience and the tremendous work that got us here!

After the 2.0.0 release we will continue to support 2.0 with maintenance releases including important bug fixes. However, the focus will shift to the 2.1 development, and concentrate on the upcoming features. Also, 2.0.0 is the last version that supports the 2.8 compiler. This decision was not taken lightly, but the effort to support 2.8 is way too high and slows down development too much. We believe that the 2.0.0 release will be a good IDE for the few people that cannot upgrade to 2.9.1 in the short term (about 2% of our downloads).

Hence, we are happy to announce that the first Release Candidate (RC1) of the Eclipse IDE for Scala is ready for download! This release comes in two flavors: the 2.9.1 version, and the 2.8.3-SNAPSHOT version.

The 2.8 compiler shipped with this version of the plugin is based on the development branch of 2.8.3, and is fully binary compatible with both 2.8.2 and 2.8.1. It contains the same improvements to the presentation compiler as the 2.9 version, and a number of bug fixes related to Java signatures. Also note that the 2.9.1 compiler shipped with this version of the plugin is fully binary compatile with both 2.9.0-1 and 2.9.0.

What's new:

  • Updated the Classpath Validator to play nice with Maven project. [#1000631,#1000728]
  • TODO comments are now correctly displayed in the Eclipse Task section. [#1000634]
  • Fixed an important source of instability affecting Windows Eclipse users (causing the following exception to be reported: java.lang.IllegalArgumentException: Path for project must have only one segment.). [#1000715,#1000660]
  • Improved the Run Selection Interpreter (a project picker is now displayed when no project is selected). [#1000480]
  • The JDK selected in the project's classpath is now honored. [#1000406]
  • Resource files are copied to the output directory. [#1000636]
  • Braces and parenthesis are now automatically matched in the editor. [#1000688]
  • Better support for dependent projects in the presentation compiler, leading to less spurious errors. [#1000699#1000645]
  • Completion support for inherited trait members in Java sources. [#1000412]

A list of fixed tickets for this release is available here:

http://scala-ide-portfolio.assembla.com/spaces/ae55a-oWSr36hpeJe5avMc/tickets/report/u108023

You can install the new release by pointing Eclipse to the following update site:

for the 2.9.1 version: http://download.scala-ide.org/releases-29/2.0.0-beta

for the 2.8.3-SNAPSHOT version: http://download.scala-ide.org/releases-28/2.0.0-beta

Other releases can be found at:

http://download.scala-ide.org

Both plugins are ensured to work with Eclipse 3.6 (Helios), which is currently the officially supported Eclipse platform for the Scala IDE. Support for Eclipse 3.7 (Indigo) is experimental.

Happy Scala coding!

-- The Eclipse Scala IDE Team

ijuma | 9 Nov 22:14 2011
Picon

Re: Eclipse IDE for Scala RC1 for Scala 2.9 and 2.8 is out

Congratulations! Good decision regarding support for Scala 2.8.x in the next release.


Best,
Ismael
Indrajit Raychaudhuri | 10 Nov 17:41 2011
Picon

[Lift] Announcing Lift 2.4-M5

The Lift team is excited to announce the availability [1] of Lift 2.4-M5 (Milestone 5).

Quite a few enhancements and bug fixes [2] have been added since Lift 2.4-M4 for this release.

Lift 2.4-M5 would be the last milestone before 2.4 final release. If your project depends on 2.4, now is the
time to test things even more rigorously.

And, as usual, join the Lift community [3] and enjoy coding with Lift.

Thank you, have fun!
- The Lift Team

[1] http://liftweb.net/download
[2] http://www.assembla.com/spaces/liftweb/milestones/525891
[3] https://groups.google.com/group/liftweb

--

-- 
Lift, the simply functional web framework: http://liftweb.net
Code: http://github.com/lift
Discussion: http://groups.google.com/group/liftweb
Stuck? Help us help you: https://www.assembla.com/wiki/show/liftweb/Posting_example_code

Francois | 10 Nov 18:20 2011
Picon

Re: [Lift] Announcing Lift 2.4-M5

> The Lift team is excited to announce the availability [1] of Lift 2.4-M5 (Milestone 5).
>
> Quite a few enhancements and bug fixes [2] have been added since Lift 2.4-M4 for this release.
>
> Lift 2.4-M5 would be the last milestone before 2.4 final release. If your project depends on 2.4, now is the
time to test things even more rigorously.
>

Congrats for that !

Thanks for the work,

-- 
Francois ARMAND
http://fanf42.blogspot.com
http://www.normation.com

--

-- 
Lift, the simply functional web framework: http://liftweb.net
Code: http://github.com/lift
Discussion: http://groups.google.com/group/liftweb
Stuck? Help us help you: https://www.assembla.com/wiki/show/liftweb/Posting_example_code

Richard Dallaway | 10 Nov 18:28 2011

Re: [Lift] Announcing Lift 2.4-M5

Thank you!

-- 
http://richard.dallaway.com

On Thursday, 10 November 2011 at 16:41, Indrajit Raychaudhuri wrote:

> The Lift team is excited to announce the availability [1] of Lift 2.4-M5 (Milestone 5).
> 
> Quite a few enhancements and bug fixes [2] have been added since Lift 2.4-M4 for this release.
> 
> Lift 2.4-M5 would be the last milestone before 2.4 final release. If your project depends on 2.4, now is the
time to test things even more rigorously.
> 
> And, as usual, join the Lift community [3] and enjoy coding with Lift.
> 
> Thank you, have fun!
> - The Lift Team
> 
> [1] http://liftweb.net/download
> [2] http://www.assembla.com/spaces/liftweb/milestones/525891
> [3] https://groups.google.com/group/liftweb
> 
> -- 
> Lift, the simply functional web framework: http://liftweb.net
> Code: http://github.com/lift
> Discussion: http://groups.google.com/group/liftweb
> Stuck? Help us help you: https://www.assembla.com/wiki/show/liftweb/Posting_example_code

--

-- 
Lift, the simply functional web framework: http://liftweb.net
Code: http://github.com/lift
Discussion: http://groups.google.com/group/liftweb
Stuck? Help us help you: https://www.assembla.com/wiki/show/liftweb/Posting_example_code

Marius Danciu | 10 Nov 18:45 2011
Picon

[Lift] Re: [Lift Announce] Announcing Lift 2.4-M5

Congrats guys !

On Thu, Nov 10, 2011 at 6:41 PM, Indrajit Raychaudhuri <indrajitr-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
The Lift team is excited to announce the availability [1] of Lift 2.4-M5 (Milestone 5).

Quite a few enhancements and bug fixes [2] have been added since Lift 2.4-M4 for this release.

Lift 2.4-M5 would be the last milestone before 2.4 final release. If your project depends on 2.4, now is the time to test things even more rigorously.

And, as usual, join the Lift community [3] and enjoy coding with Lift.

Thank you, have fun!
- The Lift Team

[1] http://liftweb.net/download
[2] http://www.assembla.com/spaces/liftweb/milestones/525891
[3] https://groups.google.com/group/liftweb


--
Lift, the simply functional web framework: http://liftweb.net
Code: http://github.com/lift
Discussion: http://groups.google.com/group/liftweb
Stuck? Help us help you: https://www.assembla.com/wiki/show/liftweb/Posting_example_code
Diego Medina | 10 Nov 20:12 2011

Re: [Lift] Announcing Lift 2.4-M5

On Thu, Nov 10, 2011 at 11:41 AM, Indrajit Raychaudhuri
<indrajitr@...> wrote:
> The Lift team is excited to announce the availability [1] of Lift 2.4-M5 (Milestone 5).
>
> Quite a few enhancements and bug fixes [2] have been added since Lift 2.4-M4 for this release.
>
> Lift 2.4-M5 would be the last milestone before 2.4 final release. If your project depends on 2.4, now is the
time to test things even more rigorously.
>
> And, as usual, join the Lift community [3] and enjoy coding with Lift.
>
> Thank you, have fun!
> - The Lift Team

Great news!

>
> [1] http://liftweb.net/download
> [2] http://www.assembla.com/spaces/liftweb/milestones/525891
> [3] https://groups.google.com/group/liftweb
>
> --
> Lift, the simply functional web framework: http://liftweb.net
> Code: http://github.com/lift
> Discussion: http://groups.google.com/group/liftweb
> Stuck? Help us help you: https://www.assembla.com/wiki/show/liftweb/Posting_example_code
>

-- 
Diego Medina
Web Developer
diego@...
http://www.fmpwizard.com

--

-- 
Lift, the simply functional web framework: http://liftweb.net
Code: http://github.com/lift
Discussion: http://groups.google.com/group/liftweb
Stuck? Help us help you: https://www.assembla.com/wiki/show/liftweb/Posting_example_code

SImon Ochsenreither | 17 Nov 00:13 2011

[scala-announce] scalax-units – Units of Measurements for Scala

Hi everyone,

scalax-units – a combination of Jesper Nordenberg's metascala project and Erik Osheim's work on Numeric – provides typesafe computations with SI units and allows to write code like this:

  val mass: Mass[Double] = 4.0 kg
  val longMass: Mass[Long] = (4.0 kg) asLong
  val length: Length[Int] = (5 m) * 3
  val time: Time[Int] = 1 s
  val time2: Time[Int] = time + time
  val time3 = time2 + (1 minute)
  val temperature: Temperature[BigDecimal] = BigDecimal("22.22") k
  val speed: Speed[Int] = length / time
  val area: Area[Int] = length * length
  val volume: Volume[Int] = (23 m) * (1 m) * (1 m)
  val smallVolume = (volume asDouble) / 12.0
  val area2: Area[Int] = volume / (23 m)
  val accel: Acceleration[Double] = (10.0 m) / ((2.0 s) * (1.0 s))
  val accelNum: Double = accel toDouble

GitHub repo: https://github.com/soc/scalax-units
Binary download: https://github.com/downloads/soc/scalax-units/scalax-units_2.9.1-0.7.jar

I would be happy to get feedback. Let me know if you think this thing is useful!
Currently it is some horrible Frakenstein's-monster-like copy-and-paste of various files of two different projects and nothing official.
If there is enough interest I guess it would be possible to build something more refined out of it.

Have fun and let me know what you think!

Thanks,

Simon

Kostas Kougios | 22 Nov 00:38 2011

MapperDao ORM library 0.9.1 released

Hi all,

   Getting closer to v1.0, the mapperdao now supports sql server along
with oracle, mysql, derby, postgresql. MapperDao was build in scala
and compared to i.e. hibernate it supports immutability, options, map-
once and run on all supported databases without recompilation or any
code changes, configurable retrieval of entities during queries and no
need to impl equals() or hashCode just for mapperdao. Ofcourse
transactions are supported but best of all, a clean domain model
without code restrictions posed by other ORM tools. Finally, MapperDao
provides mixins to easily create CRUD dao's with options to retreive
paged rows of entities.

https://code.google.com/p/mapperdao/

Please provide feedback on the "Issues" section regarding i.e. which
database should be supported next or any feature that you might wish
to be added.

A quick example:

domain package:

class Person(val name: String, val company: Company)
class Company(val name: String)

dao package:

object PersonEntity extends Entity[IntId, Person](classOf[Person]) {
        val id = key("id") autogenerated (_.id)
        val name = column("name") to (_.name) // maps column "name" to
Person.name
        val company = manytoone(CompanyEntity) to (_.company)

        def constructor(implicit m: ValuesMap) = new Person(name,
company) with IntId with Persisted {
                val id: Int = PersonEntity.id
        }
}

object CompanyEntity extends Entity[IntId, Company](classOf[Company])
{
        val id = key("id") autogenerated (_.id)
        val name = column("name") to (_.name)

        def constructor(implicit m: ValuesMap) = new Company(name)
with IntId with Persisted {
                val id: Int = CompanyEntity.id
        }
}

now we can use mapperdao straight away to i.e. insert data:

val inserted=mapperDao.insert(PersonEntity,new Person("Kostas",new
Company("My Company"))
println(inserted.id)

or on a real life project we would use the mapperdao mixins to create
our dao's:

abstract class PersonDao extends TransactionalIntIdCRUD[Person] with
IntIdAll[Person] {
	val entity = PersonEntity

	// aliases
	val pe=PersonEntity
	val ce=CompanyEntity

	// find all Person working for a company. The return type is
List[Person with IntId]
	def workingForCompany(name:String) = queryDao.query(
		select from pe join (pe,pe.company,ce)
		where ce.name===name
}
// PersonDao mixes in the following methods: create(), retrieve(),
update(), delete() and also all():List[Person],
page(page,rowsPerPage):List[Person] etc

mvc package:

val person=personDao.create(new Person("Kostas",new Company("My
Company"))
println(person.id) // autogenerated

...

val people=personDao.page(1,20) // get's the 1st page containing 20
Person entities

MapperDao uses springframework's JdbcTemplate and transaction
infrastructure, featuring full support for transactional features of
each database, propagation and isolation levels along with transaction
timeouts.

Next versions might see optimizations, a pdf tutorial and a head to
head comparison with hibernate (performance, coding patterns, cross
database compatibility etc)

Best Regards,

Kostantinos Kougios


Gmane