Statistics
| Revision:

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
}