Skip AppFuse Tests

To skip tests when compiling/running AppFuse applications, add the -Dmaven.test.skip=true argument to your Maven call : $ mvn jetty:run-war -Dmaven.test.skip=true

November 27, 2007 · 1 min · Dave Perrett

Hibernate OneToMany Relationships

Here’s an example of a one-to-many relationship using Spring MVC and Hibernate with annotations. The Album class has many Photo s, and each Photo belongs to an Album. ...

November 26, 2007 · 3 min · Dave Perrett

Hibernate 'TYPE=storage_engine is deprecated'

If you are getting errors similar to WARN [main] JDBCExceptionReporter.logWarnings(49) | 'TYPE=storage_engine is deprecated; use ENGINE=storage_engine instead' in hibernate, it probably means you are using MySQL5 but have your application set up for MySQL4. In your applications database settings config file ( pom.xml in my case, otherwise might be in properties.xml or something) change the hibernate.dialect setting from MySQLInnoDBDialect to MySQL5InnoDBDialect : <hibernate.dialect>org.hibernate.dialect.MySQL5InnoDBDialect</hibernate.dialect>

November 21, 2007 · 1 min · Dave Perrett

Multibyte-safe CSV Parser

I recently had to write a PHP CSV parser for a project, and found the built-in fgetcsv function fairly useless for real-world CSVs (where some fields are quoted and some aren’t for example, or where escaped delimiters or quotes are present inside the field text). This function should handle : Lines where some fields are quoted and some aren’t Lines where quoted fields have ’escaped’ quotes inside them Lines where non-quoted fields have ’escaped’ delimiters inside them Lines where the quote is ’escaped’ by another quote (the default behaviour for Excel CSV exports) Lines containing multi-byte strings ...

August 9, 2007 · 2 min · Dave Perrett

JScript Debugger for IE

First, download and install the debugger from the IE Blog Next, you need to make sure that debugging is enabled in the IE options. Go to Tools->Internet Options->Advanced and make sure these options are de-selected : ...

July 26, 2007 · 1 min · Dave Perrett

Javascript Hash Class

After recently switching from prototype to the incredible jQuery, I had trouble finding an altermative for prototype’s Hash class. I ended up writing one based on MojaveLinux ’s Javascript Hash Table article. It implements the length, first, keys, invoke, each, remove, item, itemByIndex, set and hasKey functions. You’ll need some extra array functions to use this class. ...

July 25, 2007 · 2 min · Dave Perrett

OS X zsh shell config

Here’s a zsh shell configuration file for OS X, based almost entirely on a post at Fried CPU . All i changed was the ls and ll aliases because Fried’s didn’t work for me. To use it, save it in a file called .zshrc in your home directory. You might also want to set zsh as your default shell . ...

July 25, 2007 · 4 min · Dave Perrett

Regex to reject an extension

If you want a regular expression to match anything except a certain extension (such as .png) : ^((?!\.png$).)*$

July 25, 2007 · 1 min · Dave Perrett

Set OS X Default Shell

You need to use Niutl to change your shell. In the terminal : $ sudo niutil -createprop . /users/dave shell /bin/zsh Alternatively, you can use the NetInfo Manager utility (in the Utilities folder). Select your user in the navigator, and change the value of the shell property. ...

July 25, 2007 · 1 min · Dave Perrett

Useful JScript Array Functions

A couple of useful array manipulation functions: clear, inArray and remove. Courtesy of Todd Ditchendorf ...

July 25, 2007 · 1 min · Dave Perrett