Statistics
| Revision:

gvsig-educa / org.gvsig.educa.thematicmap / trunk / org.gvsig.educa.thematicmap / org.gvsig.educa.thematicmap.lib / org.gvsig.educa.thematicmap.lib.impl / src / main / java / org / gvsig / educa / thematicmap / impl / DefaultThematicMapProviderManager.java @ 220

History | View | Annotate | Download (2.1 KB)

1
package org.gvsig.educa.thematicmap.impl;
2

    
3
import java.util.ArrayList;
4
import java.util.Iterator;
5
import java.util.List;
6

    
7
import org.gvsig.educa.thematicmap.spi.ThematicMapProviderManager;
8
import org.gvsig.tools.ToolsLocator;
9
import org.gvsig.tools.extensionpoint.ExtensionPoint;
10
import org.gvsig.tools.extensionpoint.ExtensionPointManager;
11
import org.gvsig.tools.service.Service;
12
import org.gvsig.tools.service.spi.AbstractProviderManager;
13
import org.gvsig.tools.service.spi.ProviderFactory;
14
import org.gvsig.tools.service.spi.ProviderServices;
15
import org.slf4j.Logger;
16
import org.slf4j.LoggerFactory;
17

    
18
public class DefaultThematicMapProviderManager extends AbstractProviderManager
19
                implements ThematicMapProviderManager {
20

    
21
        private static final Logger logger = LoggerFactory
22
                        .getLogger(DefaultThematicMapProviderManager.class);
23

    
24
        public static final String PROVIDERS_NAME = "ThematicMap.providers";
25

    
26
        public static final String PROVIDERS_DESCRIPTION = "ThematicMap providers";
27

    
28
        public DefaultThematicMapProviderManager() {
29
                super();
30
                System.out.println("\nprovider created!\n;");
31
        }
32

    
33
        @Override
34
        protected String getRegistryDescription() {
35
                return PROVIDERS_DESCRIPTION;
36
        }
37

    
38
        @Override
39
        protected String getRegistryKey() {
40
                return PROVIDERS_NAME;
41
        }
42

    
43
        public ProviderServices createProviderServices(Service service) {
44
                return new DefaultThematicMapProviderServices();
45
        }
46

    
47
        public List<ProviderFactory> getProviderFactories() {
48
                ExtensionPointManager epm = ToolsLocator.getExtensionPointManager();
49
                List<ProviderFactory> factories = new ArrayList<ProviderFactory>();
50

    
51
                ExtensionPoint ep_prov = epm.get(PROVIDERS_NAME);
52
                if( ep_prov == null ) {
53
                        return factories;
54
                }
55
                Iterator factoriesIt =  ep_prov.iterator();
56
                while (factoriesIt.hasNext()) {
57
                        ExtensionPoint ep = (ExtensionPoint) factoriesIt.next();
58

    
59
                        String factoryName = ep.getName();
60

    
61
                        ProviderFactory factory = null;
62

    
63
                        try {
64
                                factory = ((ProviderFactory) ep.create(factoryName));
65
                                factories.add(factory);
66
                        } catch (Exception e) {
67
                                logger.info("Can't create ThematicMapProviderfactory for '"
68
                                                + factoryName + ".");
69
                        }
70
                }
71
                return factories;
72
        }
73
}