Skip to content

Commit

Permalink
bug in eventlog :)
Browse files Browse the repository at this point in the history
  • Loading branch information
Piotr Gega (pietia) committed Aug 8, 2010
1 parent 1a9e119 commit ed4457d
Show file tree
Hide file tree
Showing 3 changed files with 64 additions and 25 deletions.
72 changes: 56 additions & 16 deletions eventlog.rb
Expand Up @@ -34,10 +34,10 @@ class Person
case ARGV[0]
when /store_update/
# Create event and store it, then it's updated
event = Event.new
event = Event.new()
event.title = ARGV[1]
event.date = java.util.Date.new
event.save
event.date = java.util.Date.new()
event.save()
puts "Stored!"
event.update(:title =>ARGV[2])
puts "Updated!"
Expand All @@ -46,37 +46,77 @@ class Person

Event.transaction do |tx|

event = Event.new
event = Event.new()
event.title = ARGV[1]
event.date = Date.today
event.save
event.date = Date.today()
event.save()

tx.rollback()
end


when /store_both/

event = Event.new()
event.title = ARGV[1]
event.date = Date.today()
event.save()

ARGV[2].to_i.times do |i|
person = event.people.new( :name => "John##{i}" )
person.save()
end


when /store/

event = Event.new
event = Event.new()
event.title = ARGV[1]
event.date = Date.today
event.save
event.date = Date.today()
event.save()

when /update/
# Update event and store it
event = Event.get(ARGV[1])
event.title = ARGV[2]
event.save
event.save()
puts "Updated!"
when /list/
list = Event.all
puts "Listing all events #{list.size}:"
list = Event.all()
puts "Listing all events #{list.size()} with people:"
list.each do |evt|
puts <<EOS
id: #{evt.id}
puts <<-EOS
Event:
=============
id: #{evt.id}
title: #{evt.title}
date: #{evt.date}
EOS
inspect: #{evt.inspect}
EOS
evt.people do |p|
puts <<-EOS
Person:
===========
id: #{p.id}
name: #{p.name}
event: #{p.event}
inspect: #{p.inspect}
EOS
end
end

list = Person.all()
puts "\nListing all people #{list.size()}:"
list.each do |p|
puts <<-EOS
Person:
===========
id: #{p.id}
name: #{p.name}
event: #{p.event}
inspect: #{p.inspect}
EOS
end

else
puts "Usage:\n\tstore <title>\n\tstore_update <title> <title2>\n\tlist"
end
Expand Down
11 changes: 5 additions & 6 deletions lib/dm-hibernate-adapter.rb
Expand Up @@ -27,7 +27,7 @@ module DataMapper
module Adapters

java_import org.hibernate.criterion.Restrictions # ie. Restriction.eq
java_import org.hibernate.criterion.Order # ie. Order.asc
java_import org.hibernate.criterion.Order # ie. Order.asc

class HibernateAdapter < AbstractAdapter

Expand All @@ -53,10 +53,10 @@ def initialize(name, options = {})
dialect = options.delete(:dialect)
username = options.delete(:username)
password = options.delete(:password)
driver = options.delete(:driver) || DRIVERS[dialect.to_sym]
pool_size = options.delete(:pool_size) || "1"
url = options.delete(:url)
url += "jdbc:" unless url =~ /^jdbc:/
driver = options.delete(:driver) || DRIVERS[dialect.to_sym]
pool_size = options.delete(:pool_size) || "1"

super( name, options )

Expand Down Expand Up @@ -93,8 +93,8 @@ def create(resources)
session.persist(resource)
count += 1
rescue NativeException => e
@@logger.debug("error creating #{resource.inspect}", e.cause)
session.clear
@@logger.debug("error creating #{resource.inspect()}", e.cause())
session.clear()
raise e
end
end
Expand Down Expand Up @@ -272,7 +272,6 @@ def transactions()
end

def unit_of_work( &block )
# XXX is it ok?
# TODO state of the session should be also checked!
current_tx = current_transaction()

Expand Down
6 changes: 3 additions & 3 deletions lib/dm-hibernate-adapter/hibernate.rb
Expand Up @@ -280,8 +280,8 @@ def hibernate!
relationships.each do |property, relationship|
relationship.child_key
relationship.parent_key
relationship.through if relationship.respond_to?(:through)
relationship.via if relationship.respond_to?(:via)
relationship.through if relationship.respond_to?(:through)
relationship.via if relationship.respond_to?(:via)
end
unless mapped?
discriminator = nil
Expand Down Expand Up @@ -380,7 +380,7 @@ def add_java_property(prop)
get_name = "get#{name.to_s.capitalize}"
set_name = "set#{name.to_s.capitalize}"

# TODO Time
# TODO Time, Discriminator, EmbededValue
# to consider: in mu opinion those methods should set from/get to java objects...
if (type == DataMapper::Property::Date)
class_eval <<-EOT
Expand Down

0 comments on commit ed4457d

Please sign in to comment.