Last change
on this file since 902 was
182,
checked in by gav, 15 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.