|
Last change
on this file since 805 was
182,
checked in by gav, 16 years ago
|
|
Add support for inventory item Pictures and Images.
Add new PersonService, refactor CreateDataService and TaskService to suite.
|
|
File size:
1.2 KB
|
| Line | |
|---|
| 1 | class Image implements Comparable { |
|---|
| 2 | |
|---|
| 3 | Picture picture |
|---|
| 4 | Integer size |
|---|
| 5 | byte[] data |
|---|
| 6 | String contentType |
|---|
| 7 | Integer width |
|---|
| 8 | Integer height |
|---|
| 9 | Date dateCreated = new Date() |
|---|
| 10 | Date lastUpdated = new Date() |
|---|
| 11 | |
|---|
| 12 | static belongsTo = [ Picture ] |
|---|
| 13 | |
|---|
| 14 | static mapping = { |
|---|
| 15 | picture index: 'images_index', unique: true |
|---|
| 16 | size index: 'images_index', unique: true |
|---|
| 17 | data type: 'binary' |
|---|
| 18 | } |
|---|
| 19 | |
|---|
| 20 | static constraints = { |
|---|
| 21 | data(maxSize: MAX_SIZE) |
|---|
| 22 | } |
|---|
| 23 | |
|---|
| 24 | static final Integer MAX_SIZE = 10 * 1024 * 1024 |
|---|
| 25 | |
|---|
| 26 | static final Integer Original = 1 |
|---|
| 27 | static final Integer Large = 2 |
|---|
| 28 | static final Integer Medium = 3 |
|---|
| 29 | static final Integer Small = 4 |
|---|
| 30 | |
|---|
| 31 | static final Integer[] Widths = [ 0, 0, 500, 250, 100 ] |
|---|
| 32 | static final Integer[] Heights = [ 0, 0, 500, 250, 100 ] |
|---|
| 33 | |
|---|
| 34 | static final String[] Names = [ '', 'Original', 'Large', 'Medium', 'Small' ] |
|---|
| 35 | |
|---|
| 36 | int compareTo(obj) { |
|---|
| 37 | size.compareTo(obj.size) |
|---|
| 38 | } |
|---|
| 39 | |
|---|
| 40 | String filename() { |
|---|
| 41 | Image.filename(picture.id, size) |
|---|
| 42 | } |
|---|
| 43 | |
|---|
| 44 | static String filename(long id, int size) { |
|---|
| 45 | if (size == Original) { |
|---|
| 46 | return "${id}-${Names[size]}.jpg" |
|---|
| 47 | } |
|---|
| 48 | else { |
|---|
| 49 | return "${id}-${Names[size]}.png" |
|---|
| 50 | } |
|---|
| 51 | } |
|---|
| 52 | } |
|---|
Note: See
TracBrowser
for help on using the repository browser.