Statistics
| Revision:

gvsig-geoprocess / org.gvsig.sextante / trunk / org.gvsig.sextante.app / org.gvsig.sextante.app.algorithm / org.gvsig.sextante.app.algorithm.base / src / main / java / org / gvsig / sextante / app / algorithm / base / core / AlgorithmAbstractLibrary.java @ 172

History | View | Annotate | Download (2.32 KB)

1
/*
2
 * gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
3
 *
4
 * Copyright (C) 2010 Generalitat Valenciana.
5
 *
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
19
 *
20
 */
21
package org.gvsig.sextante.app.algorithm.base.core;
22

    
23
import java.util.Enumeration;
24
import java.util.HashMap;
25
import java.util.Locale;
26
import java.util.MissingResourceException;
27
import java.util.ResourceBundle;
28

    
29

    
30
import org.gvsig.geoprocess.GeoProcessLibrary;
31
import org.gvsig.tools.library.AbstractLibrary;
32

    
33
/**
34
 * Base class for the entry point of an algorithm 
35
 * 
36
 * @author <a href="mailto:nachobrodin@gmail.com">Nacho Brodin</a>
37
 */
38
public abstract class AlgorithmAbstractLibrary extends AbstractLibrary {
39
        protected HashMap<String , String>  text = new HashMap<String, String>();
40

    
41
    @Override
42
    public void doRegistration() {
43
        registerAsServiceOf(GeoProcessLibrary.class);
44
    }
45

    
46
        /**
47
         * Sets the translations
48
         * @param algorithmName
49
         */
50
        protected void setLanguageStrings(String algorithmName) {
51
                String defaultFile = algorithmName + "_es";
52
                String file = algorithmName + "_" + Locale.getDefault().getLanguage();
53
                ResourceBundle labels = null;
54

    
55
                try {
56
                        labels = ResourceBundle.getBundle(file, Locale.getDefault());
57
                } catch (final MissingResourceException e) {
58
                        file = defaultFile;
59
                }
60

    
61
                try {
62
                        if(labels == null)
63
                                labels = ResourceBundle.getBundle(file, Locale.getDefault());
64
                        final Enumeration<String> bundleKeys = labels.getKeys();
65

    
66
                        while (bundleKeys.hasMoreElements()) {
67
                                final String key = bundleKeys.nextElement();
68
                                final String value = labels.getString(key);
69
                                text.put(key, value);
70
                        }
71
                } catch (final MissingResourceException e) {
72
                        file = defaultFile;
73
                }
74
        }
75
}