svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.compat.cdc / org.gvsig.fmap.dal / org.gvsig.fmap.dal.impl / src / main / java / org / gvsig / fmap / dal / impl / dataprofile / SimpleImageDataProfile.java @ 46419
History | View | Annotate | Download (2.36 KB)
1 |
/*
|
---|---|
2 |
* To change this license header, choose License Headers in Project Properties.
|
3 |
* To change this template file, choose Tools | Templates
|
4 |
* and open the template in the editor.
|
5 |
*/
|
6 |
package org.gvsig.fmap.dal.impl.dataprofile; |
7 |
|
8 |
import org.gvsig.fmap.dal.DALLocator; |
9 |
import org.gvsig.fmap.dal.DataManager; |
10 |
import org.gvsig.fmap.dal.feature.AbstractDataProfile; |
11 |
import org.gvsig.tools.dataTypes.CoercionException; |
12 |
import org.gvsig.tools.dataTypes.DataType; |
13 |
import org.gvsig.tools.dataTypes.DataTypes; |
14 |
import org.gvsig.tools.dynobject.Tags; |
15 |
import org.gvsig.tools.swing.api.SimpleImage; |
16 |
import org.gvsig.tools.swing.api.ToolsSwingLocator; |
17 |
import org.gvsig.tools.swing.api.ToolsSwingManager; |
18 |
|
19 |
/**
|
20 |
*
|
21 |
* @author fdiaz
|
22 |
*/
|
23 |
public class SimpleImageDataProfile extends AbstractDataProfile { |
24 |
|
25 |
public SimpleImageDataProfile() {
|
26 |
super("Image", SimpleImage.class); |
27 |
} |
28 |
|
29 |
@Override
|
30 |
protected Object doCreateData(Object data, Tags tags) { |
31 |
try {
|
32 |
final ToolsSwingManager toolsSwingManager = ToolsSwingLocator.getToolsSwingManager();
|
33 |
SimpleImage image = toolsSwingManager.createSimpleImage(data); |
34 |
return image;
|
35 |
} catch (Exception ex) { |
36 |
LOGGER.debug("Can't create image", ex);
|
37 |
} |
38 |
return null; |
39 |
} |
40 |
|
41 |
@Override
|
42 |
protected Object doCoerce(DataType dataType, Object data, Tags tags) throws CoercionException { |
43 |
final ToolsSwingManager toolsSwingManager;
|
44 |
final SimpleImage image;
|
45 |
try {
|
46 |
switch (dataType.getType()) {
|
47 |
case DataTypes.BYTEARRAY:
|
48 |
toolsSwingManager = ToolsSwingLocator.getToolsSwingManager(); |
49 |
image = toolsSwingManager.createSimpleImage(data); |
50 |
return image.toBytearray();
|
51 |
case DataTypes.STRING:
|
52 |
toolsSwingManager = ToolsSwingLocator.getToolsSwingManager(); |
53 |
image = toolsSwingManager.createSimpleImage(data); |
54 |
return image.toString();
|
55 |
default:
|
56 |
break;
|
57 |
} |
58 |
} catch (Exception ex) { |
59 |
LOGGER.debug("Can't coerce image", ex);
|
60 |
} |
61 |
return null; |
62 |
} |
63 |
|
64 |
public static void selfRegister() { |
65 |
DataManager dataManager = DALLocator.getDataManager(); |
66 |
|
67 |
dataManager.registerDataProfile(new SimpleImageDataProfile());
|
68 |
} |
69 |
|
70 |
|
71 |
} |