Revision 37887

View differences:

branches/v2_0_0_prep/libraries/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.prov/org.gvsig.exportto.swing.prov.generic/src/main/java/org/gvsig/exportto/swing/prov/generic/ExporttoGenericProviderLibrary.java
25 25

  
26 26
import org.gvsig.exportto.swing.ExporttoSwingLibrary;
27 27
import org.gvsig.exportto.swing.spi.ExporttoSwingProviderLocator;
28
import org.gvsig.exportto.swing.spi.ExporttoSwingProviderManager;
28 29
import org.gvsig.i18n.Messages;
29 30
import org.gvsig.tools.library.AbstractLibrary;
30 31
import org.gvsig.tools.library.LibraryException;
31
import org.gvsig.tools.service.spi.ProviderManager;
32 32

  
33 33
/**
34 34
 * Library to initialize and register the file Exporto provider
......
57 57

  
58 58
    @Override
59 59
    protected void doPostInitialize() throws LibraryException {
60
        ProviderManager providerManager =
60
        ExporttoSwingProviderManager providerManager =
61 61
            ExporttoSwingProviderLocator.getManager();
62
        providerManager
63
            .addProviderFactory(new ExporttoGenericProviderFactory());
62
        ExporttoGenericProviderFactory providerFactory =
63
            new ExporttoGenericProviderFactory();
64
        providerManager.addProviderFactory(providerFactory);
65

  
66
        // Disable this provider by default
67
        providerManager.enableProvider(providerFactory, false);
64 68
    }
65 69

  
66 70
}
branches/v2_0_0_prep/libraries/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.prov/org.gvsig.exportto.swing.prov.generic/src/main/java/org/gvsig/exportto/swing/prov/generic/ExporttoGenericProviderFactory.java
23 23

  
24 24
import org.cresques.cts.IProjection;
25 25

  
26
import org.gvsig.exportto.swing.spi.AbstractExporttoProviderFactory;
26 27
import org.gvsig.exportto.swing.spi.ExporttoSwingProviderFactory;
27
import org.gvsig.fmap.dal.DataTypes;
28 28
import org.gvsig.fmap.dal.feature.FeatureStore;
29 29
import org.gvsig.i18n.Messages;
30
import org.gvsig.tools.ToolsLocator;
31
import org.gvsig.tools.dynobject.DynClass;
32 30
import org.gvsig.tools.dynobject.DynObject;
33 31
import org.gvsig.tools.service.ServiceException;
34 32
import org.gvsig.tools.service.spi.Provider;
35 33
import org.gvsig.tools.service.spi.ProviderServices;
36 34

  
37 35
/**
38
 * Factory of file {@link ExportoProvider} objects.
36
 * Factory of generic {@link ExportoProvider} objects.
37
 * This factory add support for any DAL provider in a generic way.
39 38
 * 
40 39
 * @author gvSIG Team
41 40
 * @version $Id$
42 41
 */
43
public class ExporttoGenericProviderFactory implements
44
    ExporttoSwingProviderFactory {
42
public class ExporttoGenericProviderFactory extends
43
    AbstractExporttoProviderFactory implements ExporttoSwingProviderFactory {
45 44

  
46 45
    private static final String PROVIDER_NAME = "Generic";
47
    private static final String PROVIDER_DESCRIPTION =
48
        "Provider to Export a file using the generic form";
49 46

  
50
    private static final String PARAMETER_FEATURESTORE = "FeatureStore";
51
    private static final String PARAMETER_PROJECTION = "Projection";
47
    /**
48
     * Constructor.
49
     */
50
    public ExporttoGenericProviderFactory() {
51
        super(null);
52
    }
52 53

  
53
    private DynClass parametersDefinition;
54

  
55 54
    public Provider create(DynObject parameters, ProviderServices services)
56 55
        throws ServiceException {
57 56
        return new ExporttoGenericProvider(services,
......
59 58
            (IProjection) parameters.getDynValue(PARAMETER_PROJECTION));
60 59
    }
61 60

  
62
    public DynObject createParameters() {
63
        return ToolsLocator.getDynObjectManager().createDynObject(
64
            parametersDefinition);
65
    }
66

  
67 61
    public String getName() {
68 62
        return PROVIDER_NAME;
69 63
    }
70 64

  
71
    public void initialize() {
72
        parametersDefinition =
73
            ToolsLocator.getDynObjectManager().createDynClass(PROVIDER_NAME,
74
                PROVIDER_DESCRIPTION);
75
        parametersDefinition.addDynField(PARAMETER_FEATURESTORE)
76
            .setType(DataTypes.OBJECT).setMandatory(true)
77
            .setClassOfValue(FeatureStore.class);
78
        parametersDefinition.addDynField(PARAMETER_PROJECTION)
79
            .setType(DataTypes.CRS).setMandatory(false);
80
    }
81

  
82 65
    public boolean support(int providerType) throws ServiceException {
83 66
        return true;
84 67
    }
......
86 69
    public String getDescription() {
87 70
        return Messages.getText("exportto_generic_description");
88 71
    }
72

  
73
    public String getLabel() {
74
        return Messages.getText("exportto_generic_label");
75
    }
89 76
}
branches/v2_0_0_prep/libraries/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.prov/org.gvsig.exportto.swing.prov.generic/src/main/resources/org/gvsig/exportto/swing/prov/generic/i18n/text.properties
2 2
select_dataexplorer_parameters=Selecciona los par?metros del explorer
3 3
select_datastore=Selecciona el store
4 4
select_datastore_parameters=Selecciona los par?metros del store
5
exportto_generic_description=Exporta usando el formulario gen?rico. 
5
exportto_generic_description=Exporta usando el formulario avanzado a cualquier formato soportado por gvSIG. 
6
exportto_generic_label=Exportaci?n Avanzada 
branches/v2_0_0_prep/libraries/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.prov/org.gvsig.exportto.swing.prov.generic/src/main/resources/org/gvsig/exportto/swing/prov/generic/i18n/text_en.properties
2 2
select_dataexplorer_parameters=Select the explorer parameters
3 3
select_datastore=Select the store
4 4
select_datastore_parameters=Select the store parameters
5
exportto_generic_description=Export using the generic form
5
exportto_generic_description=Export using the advanced form to any gvSIG supported format
6
exportto_generic_label=Advanced export
branches/v2_0_0_prep/libraries/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.prov/org.gvsig.exportto.swing.prov.file/src/main/java/org/gvsig/exportto/swing/prov/file/AbstractExporttoFileProviderFactory.java
21 21
 */
22 22
package org.gvsig.exportto.swing.prov.file;
23 23

  
24
import org.gvsig.exportto.swing.spi.ExporttoSwingProviderFactory;
25
import org.gvsig.fmap.dal.DataTypes;
26
import org.gvsig.fmap.dal.feature.FeatureStore;
27
import org.gvsig.i18n.Messages;
28
import org.gvsig.tools.ToolsLocator;
29
import org.gvsig.tools.dynobject.DynClass;
30
import org.gvsig.tools.dynobject.DynObject;
31
import org.gvsig.tools.service.ServiceException;
24
import org.gvsig.exportto.swing.spi.AbstractExporttoProviderFactory;
32 25

  
26

  
33 27
/**
34 28
 * Factory of file {@link ExportoProvider} objects.
35 29
 * 
36 30
 * @author gvSIG Team
37 31
 * @version $Id$
38 32
 */
39
public abstract class AbstractExporttoFileProviderFactory implements
40
    ExporttoSwingProviderFactory {
33
public abstract class AbstractExporttoFileProviderFactory extends
34
    AbstractExporttoProviderFactory {
41 35

  
42
    protected static final String PARAMETER_FEATURESTORE = "FeatureStore";
43
    protected static final String PARAMETER_PROJECTION = "Projection";
44

  
45
    protected DynClass parametersDefinition;
46

  
47
    private int[] providerTypes = null;
48

  
49 36
    public AbstractExporttoFileProviderFactory(int[] providerTypes) {
50
        super();
51
        this.providerTypes = providerTypes;
37
        super(providerTypes);
52 38
    }
53

  
54
    public DynObject createParameters() {
55
        return ToolsLocator.getDynObjectManager().createDynObject(
56
            parametersDefinition);
57
    }
58

  
59
    public void initialize() {
60
        parametersDefinition =
61
            ToolsLocator.getDynObjectManager().createDynClass(getName(),
62
                getDescription());
63
        parametersDefinition.addDynField(PARAMETER_FEATURESTORE)
64
            .setType(DataTypes.OBJECT).setMandatory(true)
65
            .setClassOfValue(FeatureStore.class);
66
        parametersDefinition.addDynField(PARAMETER_PROJECTION)
67
            .setType(DataTypes.CRS).setMandatory(false);
68
    }
69

  
70
    public boolean support(int providerType) throws ServiceException {
71
        for (int i = 0; i < providerTypes.length; i++) {
72
            if (providerTypes[i] == providerType) {
73
                return true;
74
            }
75
        }
76
        return false;
77
    }
78

  
79
    public String getDescription() {
80
        return Messages
81
            .getText("exporer_to_format", new String[] { getName() });
82
    }
83 39
}
branches/v2_0_0_prep/libraries/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.prov/org.gvsig.exportto.swing.prov.jdbc/pom.xml
23 23
        </dependency>
24 24
        <dependency>
25 25
            <groupId>org.gvsig</groupId>
26
            <artifactId>org.gvsig.exportto.swing.prov.file</artifactId>
27
            <version>1.0.0-SNAPSHOT</version>
28
        </dependency>
29
        <dependency>
30
            <groupId>org.gvsig</groupId>
31 26
            <artifactId>org.gvsig.fmap.dal</artifactId>
32 27
            <classifier>spi</classifier>
33 28
            <scope>compile</scope>
branches/v2_0_0_prep/libraries/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.prov/org.gvsig.exportto.swing.prov.postgresql/src/main/java/org/gvsig/exportto/swing/prov/postgresql/ExporttoPostgreSQLProviderFactory.java
24 24
import org.cresques.cts.IProjection;
25 25

  
26 26
import org.gvsig.exportto.swing.ExporttoSwingManager;
27
import org.gvsig.exportto.swing.prov.file.AbstractExporttoFileProviderFactory;
27
import org.gvsig.exportto.swing.spi.AbstractExporttoProviderFactory;
28 28
import org.gvsig.fmap.dal.feature.FeatureStore;
29 29
import org.gvsig.tools.dynobject.DynObject;
30 30
import org.gvsig.tools.service.ServiceException;
......
38 38
 * @version $Id$
39 39
 */
40 40
public class ExporttoPostgreSQLProviderFactory extends
41
    AbstractExporttoFileProviderFactory {
41
    AbstractExporttoProviderFactory {
42 42

  
43 43
    private static final String PROVIDER_NAME = "PostgreSQL";
44 44

  
branches/v2_0_0_prep/libraries/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.prov/org.gvsig.exportto.swing.prov.postgresql/pom.xml
11 11
		<version>1.0.0-SNAPSHOT</version>
12 12
	</parent>
13 13
	<dependencies>
14
        <dependency>
15
            <groupId>org.gvsig</groupId>
16
            <artifactId>org.gvsig.exportto.lib.api</artifactId>
17
            <version>1.0.0-SNAPSHOT</version>
18
            <scope>compile</scope>
19
        </dependency>
14 20
		<dependency>
15 21
			<groupId>org.gvsig</groupId>
16 22
			<artifactId>org.gvsig.exportto.swing.api</artifactId>
branches/v2_0_0_prep/libraries/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.prov/org.gvsig.exportto.swing.prov.mysql/src/main/java/org/gvsig/exportto/swing/prov/mysql/ExporttoMySQLProviderFactory.java
24 24
import org.cresques.cts.IProjection;
25 25

  
26 26
import org.gvsig.exportto.swing.ExporttoSwingManager;
27
import org.gvsig.exportto.swing.prov.file.AbstractExporttoFileProviderFactory;
27
import org.gvsig.exportto.swing.spi.AbstractExporttoProviderFactory;
28 28
import org.gvsig.fmap.dal.feature.FeatureStore;
29 29
import org.gvsig.tools.dynobject.DynObject;
30 30
import org.gvsig.tools.service.ServiceException;
......
38 38
 * @version $Id$
39 39
 */
40 40
public class ExporttoMySQLProviderFactory extends
41
    AbstractExporttoFileProviderFactory {
41
    AbstractExporttoProviderFactory {
42 42

  
43 43
    private static final String PROVIDER_NAME = "MySQL";
44 44

  
branches/v2_0_0_prep/libraries/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.api/src/main/java/org/gvsig/exportto/swing/preferences/ExporttoSwingPreferencesComponent.java
1
/* gvSIG. Geographic Information System of the Valencian Government
2
 *
3
 * Copyright (C) 2007-2008 Infrastructures and Transports Department
4
 * of the Valencian Government (CIT)
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., 51 Franklin Street, Fifth Floor, Boston,
19
 * MA  02110-1301, USA.
20
 *
21
 */
22
package org.gvsig.exportto.swing.preferences;
23

  
24
import java.util.Set;
25

  
26
import org.gvsig.tools.swing.api.Component;
27

  
28
/**
29
 * API for the Export to swing preferences component panel.
30
 * 
31
 * @author gvSIG Team
32
 * @version $Id$
33
 */
34
public interface ExporttoSwingPreferencesComponent extends Component {
35

  
36
    /**
37
     * Returns the providers disabled by the user.
38
     * 
39
     * @return the providers disabled by the user
40
     */
41
    Set<?> getDisabledProviders();
42

  
43
    /**
44
     * Undoes all the user changes in the preferences.
45
     */
46
    void initializeDefaults();
47

  
48
    /**
49
     * Is the user has made any change in the preferences.
50
     * 
51
     * @return the user has made any change
52
     */
53
    boolean isValueChanged();
54

  
55
    /**
56
     * Tells the component the changes made by the user to the properties
57
     * had been performed.
58
     */
59
    void setChangesApplied();
60
}
branches/v2_0_0_prep/libraries/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.api/pom.xml
16 16
			<artifactId>org.gvsig.exportto.lib.api</artifactId>
17 17
			<version>1.0.0-SNAPSHOT</version>
18 18
		</dependency>
19
		<dependency>
19
        <dependency>
20 20
            <groupId>org.gvsig</groupId>
21 21
            <artifactId>org.gvsig.tools.lib</artifactId>
22 22
            <scope>compile</scope>
23 23
        </dependency> 
24
        <dependency>
25
            <groupId>org.gvsig</groupId>
26
            <artifactId>org.gvsig.tools.swing.api</artifactId>
27
            <scope>compile</scope>
28
        </dependency> 
24 29
         <dependency>
25 30
            <groupId>org.gvsig</groupId>
26 31
            <artifactId>org.gvsig.projection</artifactId>
branches/v2_0_0_prep/libraries/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.spi/src/main/resources/org/gvsig/exportto/swing/spi/i18n/text.properties
1
general_exporter_description=Exporta al formato {0} 
2
general_exporter_label=Formato {0}
branches/v2_0_0_prep/libraries/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.spi/src/main/resources/org/gvsig/exportto/swing/spi/i18n/text_en.properties
1
general_exporter_description=Exporter to the {0} format 
2
general_exporter_label={0} format
branches/v2_0_0_prep/libraries/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.spi/src/main/java/org/gvsig/exportto/swing/spi/AbstractExporttoProviderFactory.java
1
/* gvSIG. Geographic Information System of the Valencian Government
2
 *
3
 * Copyright (C) 2007-2008 Infrastructures and Transports Department
4
 * of the Valencian Government (CIT)
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., 51 Franklin Street, Fifth Floor, Boston,
19
 * MA  02110-1301, USA.
20
 *
21
 */
22
package org.gvsig.exportto.swing.spi;
23

  
24
import org.gvsig.fmap.dal.DataTypes;
25
import org.gvsig.fmap.dal.feature.FeatureStore;
26
import org.gvsig.i18n.Messages;
27
import org.gvsig.tools.ToolsLocator;
28
import org.gvsig.tools.dynobject.DynClass;
29
import org.gvsig.tools.dynobject.DynObject;
30
import org.gvsig.tools.service.ServiceException;
31

  
32
/**
33
 * Abstract parent class for {@link ExporttoSwingProviderFactory} implementation
34
 * classes.
35
 * 
36
 * @author gvSIG Team
37
 * @version $Id$
38
 */
39
public abstract class AbstractExporttoProviderFactory implements
40
    ExporttoSwingProviderFactory {
41

  
42
    protected static final String PARAMETER_FEATURESTORE = "FeatureStore";
43
    protected static final String PARAMETER_PROJECTION = "Projection";
44
    protected DynClass parametersDefinition;
45
    protected int[] providerTypes = null;
46

  
47
    /**
48
     * Constructor.
49
     * 
50
     * @param providerTypes
51
     *            supported provider types
52
     */
53
    public AbstractExporttoProviderFactory(int[] providerTypes) {
54
        this.providerTypes = providerTypes;
55
    }
56

  
57
    public DynObject createParameters() {
58
        return ToolsLocator.getDynObjectManager().createDynObject(
59
            parametersDefinition);
60
    }
61

  
62
    public void initialize() {
63
        parametersDefinition =
64
            ToolsLocator.getDynObjectManager().createDynClass(getName(),
65
                getDescription());
66
        parametersDefinition.addDynField(PARAMETER_FEATURESTORE)
67
            .setType(DataTypes.OBJECT).setMandatory(true)
68
            .setClassOfValue(FeatureStore.class);
69
        parametersDefinition.addDynField(PARAMETER_PROJECTION)
70
            .setType(DataTypes.CRS).setMandatory(false);
71
    }
72

  
73
    public boolean support(int providerType) throws ServiceException {
74
        for (int i = 0; i < providerTypes.length; i++) {
75
            if (providerTypes[i] == providerType) {
76
                return true;
77
            }
78
        }
79
        return false;
80
    }
81

  
82
    public String getDescription() {
83
        return Messages.getText("general_exporter_description",
84
            new String[] { getName() });
85
    }
86

  
87
    public String getLabel() {
88
        return Messages.getText("general_exporter_label",
89
            new String[] { getName() });
90
    }
91

  
92
    @Override
93
    public String toString() {
94
        return getLabel();
95
    }
96

  
97
    public boolean isEnabled() {
98
        return ExporttoSwingProviderLocator.getManager().isProviderEnabled(this);
99
    }
100

  
101
    public void setEnabled(boolean value) {
102
        ExporttoSwingProviderLocator.getManager().enableProvider(this, value);
103
    }
104

  
105
}
branches/v2_0_0_prep/libraries/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.spi/src/main/java/org/gvsig/exportto/swing/spi/ExporttoSwingProviderLibrary.java
22 22
package org.gvsig.exportto.swing.spi;
23 23

  
24 24
import org.gvsig.exportto.swing.ExporttoSwingLibrary;
25
import org.gvsig.i18n.Messages;
25 26
import org.gvsig.tools.library.AbstractLibrary;
26 27
import org.gvsig.tools.library.LibraryException;
27 28
import org.gvsig.tools.locator.ReferenceNotRegisteredException;
......
40 41

  
41 42
    @Override
42 43
    protected void doInitialize() throws LibraryException {
43
        // Do nothing
44
        Messages.addResourceFamily("org.gvsig.exportto.swing.spi.i18n.text",
45
            ExporttoSwingProviderLibrary.class.getClassLoader(),
46
            ExporttoSwingProviderLibrary.class.getClass().getName());
44 47
    }
45 48

  
46 49
    @Override
branches/v2_0_0_prep/libraries/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.spi/src/main/java/org/gvsig/exportto/swing/spi/ExporttoSwingProviderFactory.java
45 45
    public boolean support(int providerType) throws ServiceException;
46 46

  
47 47
    /**
48
     * @return a description for the provider factory
48
     * Returns a description of the provider.
49
     * 
50
     * @return a description for the provider
49 51
     */
50 52
    public String getDescription();
53

  
54
    /**
55
     * Returns a label or short description for the provider.
56
     * 
57
     * @return a label or short description for the provider
58
     */
59
    public String getLabel();
60

  
61
    /**
62
     * If the provider this factory creates is enabled. This option might
63
     * be used as a way to show or not some providers to the user.
64
     * 
65
     * @return if the provider is enabled
66
     */
67
    public boolean isEnabled();
68

  
69
    /**
70
     * Enable or disable this provider factory.
71
     * 
72
     * @param value
73
     *            if to enable or disable the factory
74
     */
75
    public void setEnabled(boolean value);
51 76
}
branches/v2_0_0_prep/libraries/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.spi/src/main/java/org/gvsig/exportto/swing/spi/ExporttoSwingProviderManager.java
28 28
import org.cresques.cts.IProjection;
29 29

  
30 30
import org.gvsig.exportto.swing.ExporttoSwingManager;
31
import org.gvsig.exportto.swing.preferences.ExporttoSwingPreferencesComponent;
31 32
import org.gvsig.fmap.dal.feature.FeatureSet;
32 33
import org.gvsig.fmap.dal.feature.FeatureStore;
33 34
import org.gvsig.fmap.dal.feature.FeatureType;
......
46 47
    /**
47 48
     * @return
48 49
     *         the list of providers that has been registered.
50
     * @deprecated use {@link #getProviderFactories()} instead.
49 51
     */
50 52
    public List<String> getProviderNames();
51 53

  
......
58 60
     *            defined in the {@link ExporttoSwingManager}.
59 61
     * @return
60 62
     *         the list of providers that has been registered.
63
     * @deprecated use {@link #getProviderFactories(int[])} instead.
61 64
     */
62 65
    public List<String> getProviderNames(int[] providerTypes);
63 66

  
64 67
    /**
68
     * Returns all the available {@link ExporttoSwingProviderFactory}s.
69
     * 
70
     * @return all the available {@link ExporttoSwingProviderFactory}s
71
     */
72
    public List<ExporttoSwingProviderFactory> getProviderFactories();
73

  
74
    /**
75
     * Returns the {@link ExporttoSwingProviderFactory}s that support the
76
     * given factory types.
77
     * 
78
     * @see ExporttoSwingManager#VECTORIAL_TABLE_WITH_GEOMETRY
79
     * @see ExporttoSwingManager#VECTORIAL_TABLE_WITHOUT_GEOMETRY
80
     * @param providerTypes
81
     *            the types of factories
82
     * @return the list of factories for the given factory types
83
     */
84
    public List<ExporttoSwingProviderFactory> getProviderFactories(
85
        int[] providerTypes);
86

  
87
    /**
65 88
     * Returns the description for a concrete provider
66 89
     * 
67 90
     * @param providerName
......
105 128
        String providerName, FeatureStore featureStore, IProjection projection)
106 129
        throws ServiceException;
107 130

  
131
    public boolean isProviderEnabled(ExporttoSwingProviderFactory factory);
132

  
133
    public void enableProvider(ExporttoSwingProviderFactory factory, boolean value);
134

  
135
    public ExporttoSwingProviderFactory getExporttoSwingProviderFactory(
136
        String name) throws ServiceException;
137

  
138
    public ExporttoSwingPreferencesComponent createExporttoSwingProvidersPreferences();
108 139
}
branches/v2_0_0_prep/libraries/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.spi/pom.xml
33 33
        </dependency>
34 34
        <dependency>
35 35
            <groupId>org.gvsig</groupId>
36
            <artifactId>org.gvsig.fmap.geometry</artifactId>
37
            <scope>compile</scope>
38
        </dependency>
39
        <dependency>
40
            <groupId>org.gvsig</groupId>
41
            <artifactId>org.gvsig.timesupport.lib.api</artifactId>
42
            <scope>compile</scope>
43
        </dependency>
44
        <dependency>
45
            <groupId>org.gvsig</groupId>
36 46
            <artifactId>org.gvsig.fmap.dal</artifactId>    
37 47
            <scope>compile</scope>        
38 48
        </dependency>
49
        <dependency>
50
            <groupId>org.gvsig</groupId>
51
            <artifactId>org.gvsig.i18n</artifactId>    
52
            <scope>compile</scope>        
53
        </dependency>
39 54
	</dependencies>
40 55
	<build>
41 56
		<plugins>
branches/v2_0_0_prep/libraries/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/pom.xml
1 1
<?xml version="1.0" encoding="ISO-8859-1"?>
2 2
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
4
	<modelVersion>4.0.0</modelVersion>
5
	<artifactId>org.gvsig.exportto.swing.impl</artifactId>
6
	<packaging>jar</packaging>
7
	<name>org.gvsig.exportto.swing.impl</name>
8
	<parent>
9
		<groupId>org.gvsig</groupId>
10
		<artifactId>org.gvsig.exportto.swing</artifactId>
11
		<version>1.0.0-SNAPSHOT</version>
12
	</parent>
13
	<dependencies>
14
		<dependency>
15
			<groupId>org.gvsig</groupId>
16
			<artifactId>org.gvsig.exportto.lib.api</artifactId>
17
			<version>1.0.0-SNAPSHOT</version>
18
		</dependency>
19
		<dependency>
20
			<groupId>org.gvsig</groupId>
21
			<artifactId>org.gvsig.exportto.swing.api</artifactId>
22
			<version>1.0.0-SNAPSHOT</version>
23
		</dependency>
24
		<dependency>
3
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
4
    <modelVersion>4.0.0</modelVersion>
5
    <artifactId>org.gvsig.exportto.swing.impl</artifactId>
6
    <packaging>jar</packaging>
7
    <name>org.gvsig.exportto.swing.impl</name>
8
    <parent>
9
        <groupId>org.gvsig</groupId>
10
        <artifactId>org.gvsig.exportto.swing</artifactId>
11
        <version>1.0.0-SNAPSHOT</version>
12
    </parent>
13
    <dependencies>
14
        <dependency>
25 15
            <groupId>org.gvsig</groupId>
16
            <artifactId>org.gvsig.exportto.lib.api</artifactId>
17
            <version>1.0.0-SNAPSHOT</version>
18
        </dependency>
19
        <dependency>
20
            <groupId>org.gvsig</groupId>
21
            <artifactId>org.gvsig.exportto.swing.api</artifactId>
22
            <version>1.0.0-SNAPSHOT</version>
23
        </dependency>
24
        <dependency>
25
            <groupId>org.gvsig</groupId>
26 26
            <artifactId>org.gvsig.exportto.swing.spi</artifactId>
27 27
            <version>1.0.0-SNAPSHOT</version>
28 28
        </dependency>
29
		<dependency>
30
			<groupId>org.gvsig</groupId>
31
			<artifactId>org.gvsig.exportto.swing.api</artifactId>
32
			<version>1.0.0-SNAPSHOT</version>
33
			<type>test-jar</type>
34
			<scope>test</scope>
35
		</dependency>
36
		<dependency>
37
			<groupId>org.gvsig</groupId>
38
			<artifactId>org.gvsig.exportto.lib.impl</artifactId>
39
			<version>1.0.0-SNAPSHOT</version>
40
			<scope>test</scope>
41
		</dependency>
42
		<dependency>
29
        <dependency>
43 30
            <groupId>org.gvsig</groupId>
31
            <artifactId>org.gvsig.exportto.swing.api</artifactId>
32
            <version>1.0.0-SNAPSHOT</version>
33
            <type>test-jar</type>
34
            <scope>runtime</scope>
35
        </dependency>
36
        <dependency>
37
            <groupId>org.gvsig</groupId>
38
            <artifactId>org.gvsig.exportto.lib.impl</artifactId>
39
            <version>1.0.0-SNAPSHOT</version>
40
            <scope>test</scope>
41
        </dependency>
42
        <dependency>
43
            <groupId>org.gvsig</groupId>
44 44
            <artifactId>org.gvsig.tools.lib</artifactId>
45 45
            <scope>compile</scope>
46 46
        </dependency>
......
49 49
            <artifactId>org.gvsig.tools.swing.api</artifactId>
50 50
            <scope>compile</scope>
51 51
        </dependency>
52
          <dependency>
53
            <groupId>org.gvsig</groupId>
54
            <artifactId>org.gvsig.tools.swing.impl</artifactId>
55
            <scope>test</scope>
56
        </dependency>
57 52
        <dependency>
58 53
            <groupId>org.gvsig</groupId>
59 54
            <artifactId>org.gvsig.i18n</artifactId>
60 55
            <scope>compile</scope>
61 56
        </dependency>
62
		<dependency>
57
        <dependency>
63 58
            <groupId>org.gvsig</groupId>
64 59
            <artifactId>org.gvsig.ui</artifactId>
65 60
            <scope>compile</scope>
......
71 66
        </dependency>
72 67
        <dependency>
73 68
            <groupId>org.gvsig</groupId>
74
            <artifactId>org.gvsig.fmap.dal</artifactId>    
75
            <scope>compile</scope>        
69
            <artifactId>org.gvsig.fmap.dal</artifactId>
70
            <scope>compile</scope>
76 71
        </dependency>
77 72
        <dependency>
78 73
            <groupId>org.gvsig</groupId>
79 74
            <artifactId>org.gvsig.projection</artifactId>
80 75
            <scope>compile</scope>
81 76
        </dependency>
82
         <dependency>
77
        <dependency>
83 78
            <groupId>org.gvsig</groupId>
84 79
            <artifactId>org.gvsig.metadata.lib.basic.api</artifactId>
85 80
            <scope>compile</scope>
......
90 85
            <scope>runtime</scope>
91 86
        </dependency>
92 87
        <dependency>
93
			<groupId>org.gvsig</groupId>
94
			<artifactId>org.gvsig.fmap.mapcontext</artifactId>
95
			<classifier>impl</classifier>
96
			<scope>runtime</scope>			
97
		</dependency>
98
	</dependencies>
88
            <groupId>org.gvsig</groupId>
89
            <artifactId>org.gvsig.core.maven.dependencies</artifactId>
90
            <version>2.0.1-SNAPSHOT</version>
91
            <type>pom</type>
92
            <scope>runtime</scope>
93
        </dependency>
94
    </dependencies>
99 95
</project>
branches/v2_0_0_prep/libraries/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/resources/org/gvsig/exportto/swing/impl/i18n/text.properties
5 5
predefined_filters=Filtros predefinidos
6 6
free_filter=Filtro libre
7 7
export_progress=Progreso de exportaci?n
8
exporer_to_format=Exporta al formato {0} 
branches/v2_0_0_prep/libraries/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/resources/org/gvsig/exportto/swing/impl/i18n/text_en.properties
5 5
predefined_filters=Predefined filters
6 6
free_filter=Free filter
7 7
export_progress=Export progress
8
exporer_to_format=Exporter to the {0} format
branches/v2_0_0_prep/libraries/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/exportto/swing/impl/DefaultJExporttoServicePanel.java
43 43
import org.gvsig.exportto.swing.impl.wizard.ExporterSelectionWizard;
44 44
import org.gvsig.exportto.swing.impl.wizard.ExporttoProgressWizard;
45 45
import org.gvsig.exportto.swing.spi.ExporttoSwingProvider;
46
import org.gvsig.exportto.swing.spi.ExporttoSwingProviderFactory;
46 47
import org.gvsig.exportto.swing.spi.ExporttoSwingProviderLocator;
47 48
import org.gvsig.exportto.swing.spi.ExporttoSwingProviderManager;
48 49
import org.gvsig.fmap.dal.DALLocator;
......
166 167
     * @param exporttoSwingProvider
167 168
     * @throws ServiceException
168 169
     */
169
    public void selectExporttoSwingProvider(String providerName)
170
    public void selectExporttoSwingProvider(
171
        ExporttoSwingProviderFactory provider)
170 172
        throws ServiceException {
171 173
        exporttoSwingProvider =
172 174
            EXPORTTO_SWING_PROVIDER_MANAGER.createExporttoSwingProvider(
173
                providerName, featureStore, projection);
175
                provider.getName(), featureStore, projection);
174 176

  
175 177
        DefaultJWizardComponents wizardComponents =
176 178
            wizardPanelWithLogo.getWizardComponents();
branches/v2_0_0_prep/libraries/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/exportto/swing/impl/DefaultExporttoSwingProviderManager.java
22 22
package org.gvsig.exportto.swing.impl;
23 23

  
24 24
import java.util.ArrayList;
25
import java.util.HashMap;
25 26
import java.util.Iterator;
26 27
import java.util.List;
28
import java.util.Map;
27 29

  
28 30
import org.cresques.cts.IProjection;
29 31
import org.slf4j.Logger;
30 32
import org.slf4j.LoggerFactory;
31 33

  
34
import org.gvsig.exportto.swing.impl.preferences.DefaultExporttoPreferencesComponent;
35
import org.gvsig.exportto.swing.preferences.ExporttoSwingPreferencesComponent;
32 36
import org.gvsig.exportto.swing.spi.ExporttoSwingProvider;
33 37
import org.gvsig.exportto.swing.spi.ExporttoSwingProviderFactory;
34 38
import org.gvsig.exportto.swing.spi.ExporttoSwingProviderManager;
35 39
import org.gvsig.fmap.dal.feature.FeatureStore;
36
import org.gvsig.i18n.Messages;
37 40
import org.gvsig.tools.ToolsLocator;
38 41
import org.gvsig.tools.dynobject.DynObject;
39 42
import org.gvsig.tools.dynobject.exception.DynFieldNotFoundException;
......
65 68
    private static final String PARAMETER_FEATURESTORE = "FeatureStore";
66 69
    private static final String PARAMETER_PROJECTION = "Projection";
67 70

  
71
    private Map<ExporttoSwingProviderFactory, Boolean> providerStatus;
72

  
68 73
    public DefaultExporttoSwingProviderManager() {
69 74
        super();
75
        providerStatus = new HashMap<ExporttoSwingProviderFactory, Boolean>();
70 76
    }
71 77

  
72 78
    public ProviderServices createProviderServices(Service service) {
......
125 131
        return providers;
126 132
    }
127 133

  
134
    public List<ExporttoSwingProviderFactory> getProviderFactories() {
135
        return getProviderFactories(null);
136
    }
137

  
138
    public List<ExporttoSwingProviderFactory> getProviderFactories(
139
        int[] providerTypes) {
140
        ExtensionPointManager extensionPointManager =
141
            ToolsLocator.getExtensionPointManager();
142
        ExtensionPoint extensionPoint =
143
            extensionPointManager.get(this.getRegistryKey());
144
        List<ExporttoSwingProviderFactory> providers =
145
            new ArrayList<ExporttoSwingProviderFactory>();
146
        if (extensionPoint != null) {
147
            @SuppressWarnings("unchecked")
148
            Iterator<Extension> it = extensionPoint.iterator();
149
            while (it.hasNext()) {
150
                Extension extension = it.next();
151
                try {
152
                    ExporttoSwingProviderFactory exporttoSwingProviderFactory =
153
                        (ExporttoSwingProviderFactory) extension.create();
154
                    if (providerTypes == null || providerTypes.length == 0) {
155
                        providers.add(exporttoSwingProviderFactory);
156
                    } else {
157
                        boolean areSupported = true;
158
                        for (int i = 0; i < providerTypes.length; i++) {
159
                            if (!exporttoSwingProviderFactory
160
                                .support(providerTypes[i])) {
161
                                areSupported = false;
162
                                break;
163
                            }
164
                        }
165
                        if (areSupported) {
166
                            providers.add(exporttoSwingProviderFactory);
167
                        }
168
                    }
169
                } catch (InstantiationException e) {
170
                    LOG.error(
171
                        "Not possible to create the exportto provider factory",
172
                        e);
173
                } catch (IllegalAccessException e) {
174
                    LOG.error(
175
                        "Not possible to create the exportto provider factory",
176
                        e);
177
                } catch (ServiceException e) {
178
                    LOG.error(
179
                        "Not possible to check if the provider support a format",
180
                        e);
181
                }
182
            }
183
        }
184
        return providers;
185
    }
186

  
128 187
    protected String getRegistryDescription() {
129 188
        return PROVIDERS_DESCRIPTION;
130 189
    }
......
188 247
    }
189 248

  
190 249
    public String getDescription(String providerName) {
191
        if (providerName == null) {
192
            return Messages.getText("exporer_to");
193
        }
194
        ExtensionPointManager extensionPointManager =
195
            ToolsLocator.getExtensionPointManager();
196
        ExtensionPoint extensionPoint =
197
            extensionPointManager.get(this.getRegistryKey());
198 250
        try {
199
            Object object = extensionPoint.create(providerName);
200
            if (object != null) {
201
                return Messages.getText(((ExporttoSwingProviderFactory) object)
202
                    .getDescription());
203
            }
204
        } catch (InstantiationException e) {
205
            LOG.error("Not possible to get the exportto provider factory", e);
206
        } catch (IllegalAccessException e) {
207
            LOG.error("Not possible to get the exportto provider factory", e);
251
            return getExporttoSwingProviderFactory(providerName)
252
                .getDescription();
253
        } catch (ServiceException e) {
254
            throw new RuntimeException(e);
208 255
        }
209
        return Messages.getText("exporer_to_format",
210
            new String[] { providerName });
211 256
    }
257

  
258
    public boolean isProviderEnabled(ExporttoSwingProviderFactory factory) {
259
        Boolean status = providerStatus.get(factory);
260
        return status == null ? true : status.booleanValue();
261
    }
262

  
263
    public void enableProvider(ExporttoSwingProviderFactory factory, boolean value) {
264
        providerStatus.put(factory, Boolean.valueOf(value));
265
    }
266

  
267
    public ExporttoSwingProviderFactory getExporttoSwingProviderFactory(
268
        String name) throws ServiceException {
269
        return (ExporttoSwingProviderFactory) getProviderFactory(name);
270
    }
271

  
272
    public ExporttoSwingPreferencesComponent createExporttoSwingProvidersPreferences() {
273
        return new DefaultExporttoPreferencesComponent();
274
    }
212 275
}
branches/v2_0_0_prep/libraries/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/exportto/swing/impl/panel/ExporterSelectionListModel.java
21 21
 */
22 22
package org.gvsig.exportto.swing.impl.panel;
23 23

  
24
import java.util.ArrayList;
24 25
import java.util.List;
25 26

  
26 27
import javax.swing.ListModel;
27 28
import javax.swing.event.ListDataListener;
28 29

  
30
import org.gvsig.exportto.swing.spi.ExporttoSwingProviderFactory;
29 31
import org.gvsig.exportto.swing.spi.ExporttoSwingProviderLocator;
30 32
import org.gvsig.exportto.swing.spi.ExporttoSwingProviderManager;
31 33

  
32 34
/**
35
 * {@link ListModel} with the list of exportto provider factories.
36
 * 
33 37
 * @author gvSIG Team
34 38
 * @version $Id$
35
 * 
36 39
 */
37 40
public class ExporterSelectionListModel implements ListModel {
38 41

  
39
    private List<String> exporters = null;
42
    private List<ExporttoSwingProviderFactory> exporters = null;
40 43

  
41 44
    public ExporterSelectionListModel(int[] providerTypes) {
42 45
        super();
43 46
        ExporttoSwingProviderManager exporttoProviderManager =
44 47
            ExporttoSwingProviderLocator.getManager();
45
        exporters = exporttoProviderManager.getProviderNames(providerTypes);
48
        List<ExporttoSwingProviderFactory> allExporters =
49
            exporttoProviderManager.getProviderFactories(providerTypes);
50
        exporters = new ArrayList<ExporttoSwingProviderFactory>();
51
        for (int i = 0; i < allExporters.size(); i++) {
52
            ExporttoSwingProviderFactory factory = allExporters.get(i);
53
            if (factory.isEnabled()) {
54
                exporters.add(factory);
55
            }
56
        }
46 57
    }
47 58

  
48 59
    public int getSize() {
branches/v2_0_0_prep/libraries/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/exportto/swing/impl/panel/ProviderSelectionPanel.java
29 29
import javax.swing.JTextArea;
30 30

  
31 31
import org.gvsig.exportto.swing.impl.DefaultJExporttoServicePanel;
32
import org.gvsig.exportto.swing.spi.ExporttoSwingProviderFactory;
32 33

  
33 34
/**
34 35
 * @author gvSIG Team
......
93 94
        add(descriptionScrollPane, gridBagConstraints);
94 95
    }
95 96

  
96
    protected String getSelectedProvider() {
97
        Object obj = exporttoProviderList.getSelectedValue();
98
        if (obj != null) {
99
            return (String) obj;
100
        }
101
        return null;
97
    protected ExporttoSwingProviderFactory getSelectedProvider() {
98
        return (ExporttoSwingProviderFactory) exporttoProviderList
99
            .getSelectedValue();
102 100
    }
103 101
}
branches/v2_0_0_prep/libraries/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/exportto/swing/impl/wizard/ExporterSelectionWizard.java
32 32
import org.gvsig.exportto.swing.ExporttoSwingManager;
33 33
import org.gvsig.exportto.swing.impl.DefaultJExporttoServicePanel;
34 34
import org.gvsig.exportto.swing.impl.panel.ProviderSelectionPanel;
35
import org.gvsig.exportto.swing.spi.ExporttoSwingProviderFactory;
35 36
import org.gvsig.exportto.swing.spi.ExporttoSwingProviderLocator;
36 37
import org.gvsig.exportto.swing.spi.ExporttoSwingProviderManager;
37 38
import org.gvsig.gui.beans.wizard.panel.NotContinueWizardException;
......
66 67
    }
67 68

  
68 69
    public void nextPanel() throws NotContinueWizardException {
69
        String providerName = this.getSelectedProvider();
70
        ExporttoSwingProviderFactory providerFactory = this.getSelectedProvider();
70 71

  
71
        if (providerName != null) {
72
        if (providerFactory != null) {
72 73
            try {
73
                exporttoServicePanel.selectExporttoSwingProvider(providerName);
74
                exporttoServicePanel.selectExporttoSwingProvider(providerFactory);
74 75
            } catch (ServiceException e) {
75 76
                LOG.error("Not possible to create a exporto swing provider", e);
76 77
                throw new NotContinueWizardException(
......
82 83
    }
83 84

  
84 85
    public void lastPanel() {
85
        // TODO Auto-generated method stub
86

  
86
        // Nothing to do
87 87
    }
88 88

  
89 89
    public void updatePanel() {
90
        // TODO Auto-generated method stub
91

  
90
        // Nothing to do
92 91
    }
93 92

  
94 93
    public JPanel getJPanel() {
......
96 95
    }
97 96

  
98 97
    public void valueChanged(ListSelectionEvent e) {
99
        String providerName = this.getSelectedProvider();
98
        ExporttoSwingProviderFactory providerFactory = this.getSelectedProvider();
100 99

  
101
        if (providerName != null) {
100
        if (providerFactory != null) {
102 101
            descriptionText.setText(EXPORTTO_SWING_PROVIDER_MANAGER
103
                .getDescription(providerName));
102
                .getDescription(providerFactory.getDescription()));
104 103

  
105 104
            exporttoServicePanel.setNextButtonEnabled(true);
106 105
        }
branches/v2_0_0_prep/libraries/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/exportto/swing/impl/preferences/DefaultExporttoPreferencesComponent.java
1
/* gvSIG. Geographic Information System of the Valencian Government
2
 *
3
 * Copyright (C) 2007-2008 Infrastructures and Transports Department
4
 * of the Valencian Government (CIT)
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., 51 Franklin Street, Fifth Floor, Boston,
19
 * MA  02110-1301, USA.
20
 *
21
 */
22
package org.gvsig.exportto.swing.impl.preferences;
23

  
24
import java.awt.GridBagConstraints;
25
import java.awt.GridBagLayout;
26
import java.awt.Insets;
27
import java.util.ArrayList;
28
import java.util.HashSet;
29
import java.util.List;
30
import java.util.Set;
31

  
32
import javax.swing.JCheckBox;
33
import javax.swing.JComponent;
34
import javax.swing.JPanel;
35
import javax.swing.event.ChangeEvent;
36
import javax.swing.event.ChangeListener;
37

  
38
import org.gvsig.exportto.swing.preferences.ExporttoSwingPreferencesComponent;
39
import org.gvsig.exportto.swing.spi.ExporttoSwingProviderFactory;
40
import org.gvsig.exportto.swing.spi.ExporttoSwingProviderLocator;
41

  
42
/**
43
 * Default implementation for the {@link ExporttoSwingPreferencesComponent}.
44
 * 
45
 * @author gvSIG Team
46
 * @version $Id$
47
 */
48
public class DefaultExporttoPreferencesComponent extends JPanel implements
49
    ExporttoSwingPreferencesComponent, ChangeListener {
50

  
51
    private static final long serialVersionUID = -4392838062470171181L;
52

  
53
    private JCheckBox[] providerChecks;
54
    private List<ExporttoSwingProviderFactory> providers;
55
    private boolean valueChanged = false;
56

  
57
    /**
58
     * Creates a new DefaultExporttoPreferencesComponent.
59
     * 
60
     * @see JPanel#JPanel()
61
     */
62
    public DefaultExporttoPreferencesComponent() {
63
        this(true);
64
    }
65

  
66
    /**
67
     * Creates a new DefaultExporttoPreferencesComponent.
68
     * 
69
     * @param isDoubleBuffered
70
     *            a boolean, true for double-buffering, which
71
     *            uses additional memory space to achieve fast, flicker-free
72
     *            updates
73
     * @see JPanel#JPanel(boolean)
74
     */
75
    public DefaultExporttoPreferencesComponent(boolean isDoubleBuffered) {
76
        super(isDoubleBuffered);
77
        initialize();
78
    }
79

  
80
    private void initialize() {
81
        this.setLayout(new GridBagLayout());
82

  
83
        Insets insets = new Insets(1, 0, 1, 0);
84

  
85
        GridBagConstraints gbc = new GridBagConstraints();
86
        gbc.gridx = 0;
87
        gbc.gridy = 1;
88
        gbc.gridheight = 1;
89
        gbc.gridwidth = GridBagConstraints.REMAINDER;
90
        gbc.fill = GridBagConstraints.NONE;
91
        gbc.anchor = GridBagConstraints.WEST;
92
        gbc.weightx = 1.0f;
93
        gbc.insets = insets;
94

  
95
        providers =
96
            new ArrayList<ExporttoSwingProviderFactory>(
97
                ExporttoSwingProviderLocator.getManager()
98
                    .getProviderFactories());
99
        providerChecks = new JCheckBox[providers.size()];
100
        for (int i = 0; i < providers.size(); i++) {
101
            ExporttoSwingProviderFactory factory = providers.get(i);
102
            providerChecks[i] =
103
                new JCheckBox(factory.getLabel(), factory.isEnabled());
104
            providerChecks[i].addChangeListener(this);
105
            providerChecks[i].setToolTipText(factory.getDescription());
106
            add(providerChecks[i], gbc);
107
            gbc.gridy++;
108
        }
109
    }
110

  
111
    public JComponent asJComponent() {
112
        return this;
113
    }
114

  
115
    public void initializeDefaults() {
116
        for (int i = 0; i < providers.size(); i++) {
117
            ExporttoSwingProviderFactory factory = providers.get(i);
118
            providerChecks[i].setSelected(factory.isEnabled());
119
        }
120
        valueChanged = false;
121
        validate();
122
    }
123

  
124
    public Set<?> getDisabledProviders() {
125
        Set<ExporttoSwingProviderFactory> disabledFactories =
126
            new HashSet<ExporttoSwingProviderFactory>();
127

  
128
        for (int i = 0; i < providerChecks.length; i++) {
129
            if (!providerChecks[i].isSelected()) {
130
                disabledFactories.add(providers.get(i));
131
            }
132
        }
133

  
134
        return disabledFactories;
135
    }
136

  
137
    public boolean isValueChanged() {
138
        return valueChanged;
139
    }
140

  
141
    public void setChangesApplied() {
142
        valueChanged = false;
143
    }
144

  
145
    public void stateChanged(ChangeEvent e) {
146
        valueChanged = true;
147
    }
148
}
branches/v2_0_0_prep/libraries/org.gvsig.exportto/org.gvsig.exportto.main/src/main/java/org/gvsig/exportto/main/Main.java
44 44
import org.gvsig.exportto.swing.ExporttoSwingManager;
45 45
import org.gvsig.exportto.swing.ExporttoWindowManager;
46 46
import org.gvsig.exportto.swing.JExporttoServicePanel;
47
import org.gvsig.exportto.swing.preferences.ExporttoSwingPreferencesComponent;
48
import org.gvsig.exportto.swing.spi.ExporttoSwingProviderLocator;
47 49
import org.gvsig.fmap.crs.CRSFactory;
48 50
import org.gvsig.fmap.dal.DALLocator;
49 51
import org.gvsig.fmap.dal.DataManager;
......
87 89
            }
88 90
        };
89 91

  
92
        Action preferences = new AbstractAction("Exportto preferences") {
93

  
94
            public void actionPerformed(ActionEvent e) {
95
                showExporttoPreferences();
96
            }
97

  
98
        };
99

  
90 100
        Action exit = new AbstractAction("Exit") {
91 101

  
92 102
            public void actionPerformed(ActionEvent e) {
......
103 113
        // Build the menu.
104 114
        JMenu menuFile = new JMenu("File");
105 115
        menuFile.add(new JMenuItem(showCookie));
116
        menuFile.add(new JMenuItem(preferences));
106 117
        menuFile.add(new JMenuItem(exit));
107 118

  
108 119
        menuBar.add(menuFile);
......
120 131
        frame.setVisible(true);
121 132
    }
122 133

  
134
    private void showExporttoPreferences() {
135
        ExporttoSwingPreferencesComponent preferences =
136
            ExporttoSwingProviderLocator.getManager()
137
                .createExporttoSwingProvidersPreferences();
138

  
139
        JFrame preferencesFrame = new JFrame("Export to preferences");
140
        preferencesFrame.add(preferences.asJComponent());
141

  
142
        preferencesFrame.pack();
143
        preferencesFrame.setVisible(true);
144
    }
145

  
123 146
    public void showExportto(ExporttoManager manager) {
124 147
        try {
125 148
            JExporttoServicePanel panel =
branches/v2_0_0_prep/libraries/org.gvsig.exportto/org.gvsig.exportto.main/pom.xml
1 1
<?xml version="1.0" encoding="ISO-8859-1"?>
2 2
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
4
	<modelVersion>4.0.0</modelVersion>
5
	<artifactId>org.gvsig.exportto.main</artifactId>
6
	<packaging>jar</packaging>
7
	<name>org.gvsig.exportto.main</name>
8
	<parent>
9
		<groupId>org.gvsig</groupId>
10
		<artifactId>org.gvsig.exportto</artifactId>
11
		<version>1.0.0-SNAPSHOT</version>
12
	</parent>
13
	<dependencies>
14
		<dependency>
15
			<groupId>org.gvsig</groupId>
16
			<artifactId>org.gvsig.exportto.lib.api</artifactId>
17
			<version>1.0.0-SNAPSHOT</version>
18
		</dependency>
19
		<dependency>
20
			<groupId>org.gvsig</groupId>
21
			<artifactId>org.gvsig.exportto.lib.impl</artifactId>
22
			<version>1.0.0-SNAPSHOT</version>
23
			<scope>runtime</scope>
24
		</dependency>
25
		<dependency>
26
			<groupId>org.gvsig</groupId>
27
			<artifactId>org.gvsig.exportto.swing.api</artifactId>
28
			<version>1.0.0-SNAPSHOT</version>
29
		</dependency>
30
		<dependency>
31
			<groupId>org.gvsig</groupId>
32
			<artifactId>org.gvsig.exportto.swing.impl</artifactId>
33
			<version>1.0.0-SNAPSHOT</version>
34
			<scope>runtime</scope>
35
		</dependency>
36
		<dependency>
3
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
4
    <modelVersion>4.0.0</modelVersion>
5
    <artifactId>org.gvsig.exportto.main</artifactId>
6
    <packaging>jar</packaging>
7
    <name>org.gvsig.exportto.main</name>
8
    <parent>
9
        <groupId>org.gvsig</groupId>
10
        <artifactId>org.gvsig.exportto</artifactId>
11
        <version>1.0.0-SNAPSHOT</version>
12
    </parent>
13
    <dependencies>
14
        <dependency>
37 15
            <groupId>org.gvsig</groupId>
16
            <artifactId>org.gvsig.exportto.lib.api</artifactId>
17
            <version>1.0.0-SNAPSHOT</version>
18
        </dependency>
19
        <dependency>
20
            <groupId>org.gvsig</groupId>
21
            <artifactId>org.gvsig.exportto.lib.impl</artifactId>
22
            <version>1.0.0-SNAPSHOT</version>
23
            <scope>runtime</scope>
24
        </dependency>
25
        <dependency>
26
            <groupId>org.gvsig</groupId>
27
            <artifactId>org.gvsig.exportto.swing.api</artifactId>
28
            <version>1.0.0-SNAPSHOT</version>
29
        </dependency>
30
        <dependency>
31
            <groupId>org.gvsig</groupId>
32
            <artifactId>org.gvsig.exportto.swing.spi</artifactId>
33
            <version>1.0.0-SNAPSHOT</version>
34
        </dependency>
35
        <dependency>
36
            <groupId>org.gvsig</groupId>
37
            <artifactId>org.gvsig.exportto.swing.impl</artifactId>
38
            <version>1.0.0-SNAPSHOT</version>
39
            <scope>runtime</scope>
40
        </dependency>
41
        <dependency>
42
            <groupId>org.gvsig</groupId>
38 43
            <artifactId>org.gvsig.exportto.swing.prov.generic</artifactId>
39 44
            <version>1.0.0-SNAPSHOT</version>
40 45
            <scope>runtime</scope>
......
51 56
            <version>1.0.0-SNAPSHOT</version>
52 57
            <scope>runtime</scope>
53 58
        </dependency>
54
         <dependency>
59
        <dependency>
55 60
            <groupId>org.gvsig</groupId>
56 61
            <artifactId>org.gvsig.exportto.swing.prov.dbf</artifactId>
57 62
            <version>1.0.0-SNAPSHOT</version>
......
69 74
            <version>1.0.0-SNAPSHOT</version>
70 75
            <scope>runtime</scope>
71 76
        </dependency>
72
		<dependency>
77
        <dependency>
73 78
            <groupId>org.gvsig</groupId>
74 79
            <artifactId>org.gvsig.tools.lib</artifactId>
75 80
            <scope>compile</scope>
......
78 83
            <groupId>org.gvsig</groupId>
79 84
            <artifactId>org.gvsig.projection</artifactId>
80 85
            <scope>compile</scope>
81
       </dependency>
82
       <dependency>
86
        </dependency>
87
        <dependency>
83 88
            <groupId>org.gvsig</groupId>
84
            <artifactId>org.gvsig.fmap.dal</artifactId>    
85
            <scope>compile</scope>        
89
            <artifactId>org.gvsig.fmap.dal</artifactId>
90
            <scope>compile</scope>
86 91
        </dependency>
87 92
        <dependency>
88 93
            <groupId>org.gvsig</groupId>
......
101 106
            <artifactId>org.gvsig.fmap.dal.db</artifactId>
102 107
            <classifier>store.postgresql</classifier>
103 108
            <scope>runtime</scope>
104
        </dependency>   
105
         <dependency>
109
        </dependency>
110
        <dependency>
106 111
            <groupId>org.gvsig</groupId>
107
            <artifactId>org.gvsig.fmap.mapcontext</artifactId>          
112
            <artifactId>org.gvsig.fmap.mapcontext</artifactId>
108 113
            <scope>runtime</scope>
109
        </dependency>   
114
        </dependency>
110 115
        <dependency>
111 116
            <groupId>org.gvsig</groupId>
112 117
            <artifactId>org.gvsig.fmap.dal.db</artifactId>
113 118
            <classifier>store.mysql</classifier>
114 119
            <scope>runtime</scope>
115
        </dependency>   
120
        </dependency>
116 121
        <dependency>
117 122
            <groupId>org.gvsig</groupId>
123
            <artifactId>org.gvsig.tools.swing.api</artifactId>
124
            <scope>compile</scope>
125
        </dependency>
126
        <dependency>
127
            <groupId>org.gvsig</groupId>
118 128
            <artifactId>org.gvsig.tools.swing.serv.field</artifactId>
119 129
            <scope>compile</scope>
120
        </dependency> 
130
        </dependency>
121 131
        <dependency>
122 132
            <groupId>org.gvsig</groupId>
123 133
            <artifactId>org.gvsig.metadata.lib.basic.api</artifactId>
124 134
            <scope>compile</scope>
125
        </dependency>           
126
	</dependencies>
135
        </dependency>
136
        <dependency>
137
            <groupId>org.gvsig</groupId>
138
            <artifactId>org.gvsig.i18n</artifactId>
139
            <scope>runtime</scope>
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff