# Initialize Torque
from org.apache.torque import Torque
Torque.init("Torque.properties")

# Delete everything
from org.apache.torque.util import Criteria as Crit
from com.solaraccess.om import PublisherPeer as PubPeer
from com.solaraccess.om import AuthorPeer, BookPeer

allpub = Crit().add(PubPeer.NAME, "%", Crit.LIKE)
allauthor = Crit().add(AuthorPeer.LAST_NAME, "%", Crit.LIKE)
allbook = Crit().add(BookPeer.TITLE, "%", Crit.LIKE)

PubPeer.doDelete(allpub)
AuthorPeer.doDelete(allauthor)
BookPeer.doDelete(allbook)

# Insert publishers
from com.solaraccess.om import Publisher as Pub
addison = Pub(name = "Addison Wesley Professional")
oreilly = Pub(name = "O'Reilly")

pubs = [ addison, oreilly ]
for pub in pubs:
    pub.save()

# Insert authors
from java.lang import System
from java.util import Date
lastlogin = Date()
awhileago = Date(System.currentTimeMillis() - (1000L * 60L * 60L * 24L * 7L * 30L))

from com.solaraccess.om import Author
dave = Author(firstName = "Dave", lastName = "Newton", email="dave@sa.com", lastLogin = awhileago)
matt = Author(firstName = "Matt", lastName = "Stoops", email="matt@sa.com", lastLogin = lastlogin)

authors = [ dave, matt ]
for author in authors:
    author.save()

# Insert books
from com.solaraccess.om import Book

b1 = Book(title="Struts for Dave", ISBN="", pages=666, publisher=addison ,author=matt)
b2 = Book(title="JDBC does MySQL", ISBN="", pages=300, publisher=oreilly ,author=matt)
b3 = Book(title="Extreme Programming", ISBN="", pages=666, publisher=addison ,author=dave)
b4 = Book(title="Jython Cookbook", ISBN="", pages=300, publisher=addison ,author=dave)
b5 = Book(title="Physical Security", ISBN="", pages=500, publisher=oreilly ,author=dave)
books = [ b1, b2, b3, b4, b5 ]
for book in books:
    book.save()
