Revision 39189

View differences:

tags/v2_0_0_Build_2057/libraries/org.gvsig.newlayer/org.gvsig.newlayer.lib/org.gvsig.newlayer.lib.api/src/main/java/org/gvsig/newlayer/NewLayerManager.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.newlayer;
23

  
24
import java.util.List;
25

  
26
import org.gvsig.fmap.mapcontext.MapContext;
27
import org.gvsig.newlayer.preferences.NewLayerPreferencesComponent;
28
import org.gvsig.tools.service.ServiceException;
29

  
30
/**
31
 * This class is responsible of the management of the library's business logic.
32
 * It is the library's main entry point, and provides all the services to manage
33
 * {@link NewLayerService}s.
34
 * 
35
 * @see NewLayerService
36
 * @author gvSIG team
37
 * @version $Id$
38
 */
39
public interface NewLayerManager {
40

  
41
    public enum STORETYPE{ANY,TABULAR,SPATIAL};
42
    
43

  
44
    /**
45
     * Create an instance of a {@link NewLayerService}.
46
     * @return {@link NewLayerService}
47
     * @throws ServiceException
48
     *             if there is an error getting the service
49
     */
50
    public NewLayerService createNewLayerService(MapContext mapContext);
51
    
52
    public void registerProvider(NewLayerProviderFactory factory);
53
    
54
    public List<NewLayerProviderFactory> getProviders(STORETYPE filter);
55

  
56
    public List<NewLayerProviderFactory> getProviders();
57
    
58
    public NewLayerWizard createNewLayerWizard(NewLayerService service);
59

  
60
    /**
61
     * Returns the provider factory with the given name.
62
     * 
63
     * @param name
64
     *            of the provider
65
     * @return the provider factory
66
     * @throws ServiceException
67
     *             if there is an error getting the provider factory
68
     */
69
    public NewLayerProviderFactory getNewLayerProviderFactory(
70
        String providerName) throws ServiceException;
71

  
72
    /**
73
     * Enables or disables a new layer provider.
74
     * 
75
     * @param factory
76
     *            of the provider to enable or disable
77
     * @param value
78
     *            if the provider must be enabled or disabled
79
     */
80
    public void enableProvider(NewLayerProviderFactory factory, Boolean false1);
81

  
82
    /**
83
     * Creates a preferences component to manage the export to properties.
84
     * 
85
     * @return a preferences component
86
     */
87
    public NewLayerPreferencesComponent createNewLayerProvidersPreferences();
88

  
89
    /**
90
     * Returns if the provider whose factory is provided is enabled.
91
     * 
92
     * @param factory
93
     *            of the provider to check
94
     * @return if the provider whose factory is provided is enabled
95
     */
96
    public boolean isProviderEnabled(NewLayerProviderFactory factory);
97

  
98
}
tags/v2_0_0_Build_2057/libraries/org.gvsig.newlayer/org.gvsig.newlayer.lib/org.gvsig.newlayer.lib.api/src/main/java/org/gvsig/newlayer/NewLayerProvider.java
1
package org.gvsig.newlayer;
2

  
3
import java.util.List;
4

  
5
import org.gvsig.fmap.dal.DataServerExplorer;
6
import org.gvsig.fmap.dal.DataStoreParameters;
7
import org.gvsig.fmap.dal.feature.EditableFeatureType;
8
import org.gvsig.fmap.dal.feature.NewFeatureStoreParameters;
9
import org.gvsig.tools.service.spi.Provider;
10

  
11
public interface NewLayerProvider extends Provider{
12
	
13
	public NewLayerService getService();
14
	
15
	public DataServerExplorer getExplorer();
16
	
17
	public String getStoreName();
18

  
19
	public EditableFeatureType getFeatureType();
20
	
21
	public NewFeatureStoreParameters getNewStoreParameters();
22
	
23
	public DataStoreParameters getOpenStoreParameters();
24

  
25
	public List<NewLayerProviderPanel> getPanels();
26
}
tags/v2_0_0_Build_2057/libraries/org.gvsig.newlayer/org.gvsig.newlayer.lib/org.gvsig.newlayer.lib.api/src/main/java/org/gvsig/newlayer/NewLayerProviderPanel.java
1
package org.gvsig.newlayer;
2

  
3
import javax.swing.JPanel;
4

  
5

  
6
public abstract class NewLayerProviderPanel extends JPanel{
7

  
8

  
9
	protected NewLayerProvider provider;
10

  
11
	protected NewLayerProviderPanel(NewLayerProvider provider){
12
		this.provider = provider;
13
	}
14

  
15
	public abstract String getTitle();
16
	
17
	public abstract boolean isValidPanel() throws NewLayerException;
18
	
19
	public abstract void updatePanel();
20
	
21
	
22
	
23
}
tags/v2_0_0_Build_2057/libraries/org.gvsig.newlayer/org.gvsig.newlayer.lib/org.gvsig.newlayer.lib.api/src/main/java/org/gvsig/newlayer/preferences/NewLayerPreferencesComponent.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.newlayer.preferences;
23

  
24
import java.util.Set;
25

  
26
import org.gvsig.newlayer.NewLayerProviderFactory;
27
import org.gvsig.tools.swing.api.Component;
28

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

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

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

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

  
56
    /**
57
     * Tells the component the changes made by the user to the properties
58
     * had been performed.
59
     */
60
    void setChangesApplied();
61
}
tags/v2_0_0_Build_2057/libraries/org.gvsig.newlayer/org.gvsig.newlayer.lib/org.gvsig.newlayer.lib.api/src/main/java/org/gvsig/newlayer/NewLayerException.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.newlayer;
23

  
24
import org.gvsig.tools.exception.BaseException;
25

  
26
/**
27
 * Generic exception thrown in the NewLayer API when the exception or error
28
 * may be dealt by the program or the user of the program which is a client of
29
 * the NewLayer API.
30
 * 
31
 * @see {@link NewLayerService}
32
 * @see {@link NewLayerManager}
33
 * @author gvSIG team.
34
 * @version $Id$
35
 */
36
public class NewLayerException extends BaseException {
37

  
38
    /**
39
	 * 
40
	 */
41
	private static final long serialVersionUID = -2954242107118688337L;
42

  
43
	private static final String MESSAGE =
44
        "An error has been produced in the NewLayer library";
45

  
46
    private static final String KEY = "_NewLayerException";
47

  
48
    /**
49
     * Constructor to be used in rare cases, usually you must create a new child
50
     * exception class for each case.
51
     * <strong>Don't use this constructor in child classes.</strong>
52
     */
53
    public NewLayerException() {
54
        super(MESSAGE, KEY, serialVersionUID);
55
    }
56

  
57
    /**
58
     * Constructor to be used in rare cases, usually you must create a new child
59
     * exception class for each case.
60
     * <p>
61
     * <strong>Don't use this constructor in child classes.</strong>
62
     * </p>
63
     * 
64
     * @param cause
65
     *            the original cause of the exception
66
     */
67
    public NewLayerException(Exception cause) {
68
        super(MESSAGE, cause, KEY, serialVersionUID);
69
    }
70

  
71
    /**
72
     * @see BaseException#BaseException(String, String, long).
73
     * @param message
74
     *            the default messageFormat to describe the exception
75
     * @param key
76
     *            the key to use to search a localized messageFormnata
77
     * @param code
78
     *            the unique code to identify the exception
79
     */
80
    protected NewLayerException(String message, String key, long code) {
81
        super(message, key, code);
82
    }
83

  
84
    /**
85
     * @see BaseException#BaseException(String, Throwable, String, long).
86
     * @param message
87
     *            the default messageFormat to describe the exception
88
     * @param cause
89
     *            the original cause of the exception
90
     * @param key
91
     *            the key to use to search a localized messageFormnata
92
     * @param code
93
     *            the unique code to identify the exception
94
     */
95
    protected NewLayerException(String message, Throwable cause,
96
        String key, long code) {
97
        super(message, cause, key, code);
98
    }
99
}
tags/v2_0_0_Build_2057/libraries/org.gvsig.newlayer/org.gvsig.newlayer.lib/org.gvsig.newlayer.lib.api/src/main/java/org/gvsig/newlayer/NewLayerServiceException.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.newlayer;
23

  
24
import org.gvsig.tools.exception.BaseException;
25
import org.gvsig.tools.service.ServiceException;
26

  
27
/**
28
 * Exception thrown when there is an error getting a NewLayer message.
29
 * 
30
 * @author gvSIG team
31
 * @version $Id$
32
 */
33
public class NewLayerServiceException extends ServiceException {
34
    /**
35
	 * 
36
	 */
37
	private static final long serialVersionUID = -4395786952326742397L;
38

  
39
	private static final String MESSAGE =
40
        "An error has been produced creating a store";
41

  
42
    private static final String KEY = "_NewLayerServiceException";
43
    
44
	/**
45
	 * @see BaseException#BaseException(String, String, long)
46
	 */
47
	protected NewLayerServiceException(String message, String key, long code) {
48
		super(message, key, code);
49
	}
50

  
51
	/**
52
	 * @see BaseException#BaseException(String, Throwable, String, long)
53
	 */
54
	protected NewLayerServiceException(String message, Throwable cause, String key,
55
			long code) {
56
		super(message, cause, key, code);
57
	}
58

  
59
    /**
60
     * Creates a new {@link NewLayerServiceException}.
61
     * 
62
     * @param cause
63
     *            the original cause
64
     */
65
    public NewLayerServiceException(Throwable cause) {
66
        super(MESSAGE, cause, KEY, serialVersionUID);
67
    }
68
    
69
}
tags/v2_0_0_Build_2057/libraries/org.gvsig.newlayer/org.gvsig.newlayer.lib/org.gvsig.newlayer.lib.api/src/main/java/org/gvsig/newlayer/NewLayerService.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

  
23
package org.gvsig.newlayer;
24

  
25
import java.util.List;
26

  
27
import org.gvsig.fmap.dal.DataServerExplorer;
28
import org.gvsig.fmap.dal.DataStoreParameters;
29
import org.gvsig.fmap.dal.feature.EditableFeatureType;
30
import org.gvsig.fmap.dal.feature.FeatureStore;
31
import org.gvsig.fmap.dal.feature.NewFeatureStoreParameters;
32
import org.gvsig.fmap.mapcontext.MapContext;
33

  
34
/**
35
 * <p>
36
 * This service is used to create a new {@link FeatureStore}.
37
 * </p>
38
 * 
39
 * @author gvSIG team
40
 * @version $Id$
41
 */
42
public interface NewLayerService {
43

  
44
    /**
45
     * @deprecated use {@link #setProviderFactory(NewLayerProviderFactory)}
46
     *             instead
47
     */
48
    public void setType(String type);
49

  
50
    /**
51
     * @deprecated use {@link #getProviderFactory()} instead
52
     */
53
    public String getType();
54

  
55
    /**
56
     * @deprecated use {@link #getProviderFactories()} instead
57
     */
58
    public List<String> getTypes();
59

  
60
    public void setProviderFactory(NewLayerProviderFactory type);
61
    
62
    public NewLayerProviderFactory getProviderFactory();
63

  
64
    public List<NewLayerProviderFactory> getProviderFactories();
65
    
66
    public void createLayer() throws NewLayerServiceException;
67

  
68
	public void loadLayer() throws NewLayerServiceException;
69

  
70
    public DataServerExplorer getExplorer();
71
    
72
    public String getStoreName();
73
    
74
    public EditableFeatureType getFeatureType();
75
    
76
    public NewFeatureStoreParameters getNewStoreParameters();
77
    
78
    public DataStoreParameters getOpenStoreParameters();
79
    
80
    public NewLayerProvider getProvider();
81
    
82
    public void addLayerToView(boolean b);
83
    
84
    public MapContext getMapContext();
85
    
86
}
tags/v2_0_0_Build_2057/libraries/org.gvsig.newlayer/org.gvsig.newlayer.lib/org.gvsig.newlayer.lib.api/src/main/java/org/gvsig/newlayer/NewLayerWizard.java
1
package org.gvsig.newlayer;
2

  
3
import javax.swing.ImageIcon;
4

  
5
import org.gvsig.gui.beans.wizard.WizardPanelWithLogo;
6

  
7

  
8
public abstract class NewLayerWizard extends WizardPanelWithLogo{
9

  
10
	private static final long serialVersionUID = -9070328984844239279L;
11

  
12
	public NewLayerWizard(ImageIcon logo) {
13
		super(logo);
14
	}
15

  
16
	public abstract NewLayerService getService();
17

  
18
    public abstract void setType(NewLayerProviderFactory currentType);
19

  
20
}
tags/v2_0_0_Build_2057/libraries/org.gvsig.newlayer/org.gvsig.newlayer.lib/org.gvsig.newlayer.lib.api/src/main/java/org/gvsig/newlayer/NewLayerProviderFactory.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.newlayer;
23

  
24
import org.gvsig.tools.service.spi.ProviderFactory;
25

  
26
/**
27
 * @author gvSIG Team
28
 * @version $Id$
29
 */
30
public interface NewLayerProviderFactory extends ProviderFactory {
31

  
32
    public boolean isSpatial();
33

  
34
    public NewLayerProvider create(NewLayerService service);
35

  
36
    /**
37
     * If the provider this factory creates is enabled. This option might
38
     * be used as a way to show or not some providers to the user.
39
     * 
40
     * @return if the provider is enabled
41
     */
42
    public boolean isEnabled();
43

  
44
    /**
45
     * Enable or disable this provider factory.
46
     * 
47
     * @param value
48
     *            if to enable or disable the factory
49
     */
50
    public void setEnabled(boolean value);
51

  
52
    /**
53
     * Returns a description of the provider.
54
     * 
55
     * @return a description for the provider
56
     */
57
    public String getDescription();
58

  
59
    /**
60
     * Returns a label or short description for the provider.
61
     * 
62
     * @return a label or short description for the provider
63
     */
64
    public String getLabel();
65
}
tags/v2_0_0_Build_2057/libraries/org.gvsig.newlayer/org.gvsig.newlayer.lib/org.gvsig.newlayer.lib.api/src/main/java/org/gvsig/newlayer/NewLayerLocator.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.newlayer;
23

  
24
import org.gvsig.tools.locator.BaseLocator;
25
import org.gvsig.tools.locator.Locator;
26
import org.gvsig.tools.locator.LocatorException;
27

  
28
/**
29
 * This locator is the entry point for the NewLayer library, providing
30
 * access to all NewLayer services through the {@link NewLayerManager}
31
 * .
32
 * 
33
 * @author gvSIG team
34
 * @version $Id$
35
 */
36
public class NewLayerLocator extends BaseLocator {
37

  
38
    /**
39
     * NewLayer manager name.
40
     */
41
    public static final String MANAGER_NAME = "NewLayer.manager";
42

  
43
    /**
44
     * NewLayer manager description.
45
     */
46
    public static final String MANAGER_DESCRIPTION = "NewLayer Manager";
47

  
48
    private static final String LOCATOR_NAME = "NewLayer.locator";
49

  
50
    /**
51
     * Unique instance.
52
     */
53
    private static final NewLayerLocator INSTANCE =
54
        new NewLayerLocator();
55

  
56
    /**
57
     * Return the singleton instance.
58
     * 
59
     * @return the singleton instance
60
     */
61
    public static NewLayerLocator getInstance() {
62
        return INSTANCE;
63
    }
64

  
65
    /**
66
     * Return the Locator's name.
67
     * 
68
     * @return a String with the Locator's name
69
     */
70
    public final String getLocatorName() {
71
        return LOCATOR_NAME;
72
    }
73

  
74
    /**
75
     * Return a reference to the NewLayerManager.
76
     * 
77
     * @return a reference to the NewLayerManager
78
     * @throws LocatorException
79
     *             if there is no access to the class or the class cannot be
80
     *             instantiated
81
     * @see Locator#get(String)
82
     */
83
    public static NewLayerManager getManager() throws LocatorException {
84
        return (NewLayerManager) getInstance().get(MANAGER_NAME);
85
    }
86

  
87
    /**
88
     * Registers the Class implementing the NewLayerManager interface.
89
     * 
90
     * @param clazz
91
     *            implementing the NewLayerManager interface
92
     */
93
    public static void registerManager(
94
        Class<? extends NewLayerManager> clazz) {
95
        getInstance().register(MANAGER_NAME, MANAGER_DESCRIPTION, clazz);
96
    }
97

  
98
}
tags/v2_0_0_Build_2057/libraries/org.gvsig.newlayer/org.gvsig.newlayer.lib/org.gvsig.newlayer.lib.api/src/main/java/org/gvsig/newlayer/NewLayerLibrary.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.newlayer;
23

  
24
import org.gvsig.tools.library.AbstractLibrary;
25
import org.gvsig.tools.library.LibraryException;
26
import org.gvsig.tools.locator.ReferenceNotRegisteredException;
27

  
28
/**
29
 * Library for API initialization and configuration.
30
 * 
31
 * @author gvSIG team
32
 * @version $Id$
33
 */
34
public class NewLayerLibrary extends AbstractLibrary {
35
       
36
    @Override
37
    public void doRegistration() {
38
        registerAsAPI(NewLayerLibrary.class);
39
    }
40

  
41
    @Override
42
    protected void doInitialize() throws LibraryException {
43
        // Do nothing
44
    }
45

  
46
    @Override
47
    protected void doPostInitialize() throws LibraryException {
48
        // Validate there is any implementation registered.
49
        NewLayerManager manager = NewLayerLocator.getManager();
50
        if (manager == null) {
51
            throw new ReferenceNotRegisteredException(
52
                NewLayerLocator.MANAGER_NAME, NewLayerLocator
53
                    .getInstance());
54
        }
55
    }
56

  
57
}
tags/v2_0_0_Build_2057/libraries/org.gvsig.newlayer/org.gvsig.newlayer.lib/org.gvsig.newlayer.lib.api/src/main/java/org/gvsig/newlayer/spi/AbstractNewLayerProviderFactory.java
1
package org.gvsig.newlayer.spi;
2

  
3
import org.gvsig.newlayer.NewLayerLocator;
4
import org.gvsig.newlayer.NewLayerProviderFactory;
5
import org.gvsig.tools.dynobject.DynClass;
6
import org.gvsig.tools.dynobject.DynObject;
7
import org.gvsig.tools.service.ServiceException;
8
import org.gvsig.tools.service.spi.Provider;
9
import org.gvsig.tools.service.spi.ProviderServices;
10

  
11
public abstract class AbstractNewLayerProviderFactory implements NewLayerProviderFactory{
12

  
13
	public final Provider doCreate(DynObject parameters, ProviderServices services) {
14
		throw new UnsupportedOperationException();
15
	}
16

  
17
	public DynObject createParameters() {
18
		throw new UnsupportedOperationException();
19
	}
20

  
21
	public void initialize() {
22
		throw new UnsupportedOperationException();
23
	}
24

  
25
	protected DynClass createParametersDynClass() {
26
		throw new UnsupportedOperationException();
27
	}
28

  
29
	public Provider create(DynObject parameters, ProviderServices services)
30
	throws ServiceException {
31
		throw new UnsupportedOperationException();
32
	}
33

  
34
    public boolean isEnabled() {
35
        return NewLayerLocator.getManager().isProviderEnabled(this);
36
    }
37

  
38
    public void setEnabled(boolean value) {
39
        NewLayerLocator.getManager().enableProvider(this, value);
40
    }
41

  
42
    @Override
43
    public String toString() {
44
        return getLabel();
45
    }
46
}
tags/v2_0_0_Build_2057/libraries/org.gvsig.newlayer/org.gvsig.newlayer.lib/org.gvsig.newlayer.lib.api/src/main/java/org/gvsig/newlayer/spi/AbstractNewLayerProvider.java
1
package org.gvsig.newlayer.spi;
2

  
3
import org.gvsig.fmap.dal.DataServerExplorer;
4
import org.gvsig.newlayer.NewLayerProvider;
5
import org.gvsig.newlayer.NewLayerService;
6
import org.gvsig.tools.service.spi.ProviderServices;
7

  
8
public abstract class AbstractNewLayerProvider implements NewLayerProvider{
9

  
10
	private NewLayerService service;
11
	protected DataServerExplorer explorer;
12
	protected String storeName;
13

  
14
	protected AbstractNewLayerProvider(NewLayerService service){
15
		this.service = service;
16
	}
17
	
18
	public NewLayerService getService() {
19
		return service;
20
	}
21
	
22
	public DataServerExplorer getExplorer() {
23
		return explorer;
24
	}
25
	
26
	public String getStoreName() {
27
		return storeName;
28
	}
29
	
30
	public void setProviderServices(ProviderServices services) {
31
		throw new UnsupportedOperationException();
32
	}
33
	
34
	
35

  
36
}
tags/v2_0_0_Build_2057/libraries/org.gvsig.newlayer/org.gvsig.newlayer.lib/org.gvsig.newlayer.lib.api/src/main/resources/META-INF/services/org.gvsig.tools.library.Library
1
org.gvsig.newlayer.NewLayerLibrary
tags/v2_0_0_Build_2057/libraries/org.gvsig.newlayer/org.gvsig.newlayer.lib/org.gvsig.newlayer.lib.api/src/main/resources/filters.txt
1
point_geometries_only=
2
curve_geometries_only=
3
surface_geometries_only=
tags/v2_0_0_Build_2057/libraries/org.gvsig.newlayer/org.gvsig.newlayer.lib/org.gvsig.newlayer.lib.api/pom.xml
1
<?xml version="1.0" encoding="ISO-8859-1"?>
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.newlayer.lib.api</artifactId>
6
    <packaging>jar</packaging>
7
    <name>org.gvsig.newlayer.lib.api</name>
8
    <parent>
9
        <groupId>org.gvsig</groupId>
10
        <artifactId>org.gvsig.newlayer.lib</artifactId>
11
        <version>1.0.0-SNAPSHOT</version>
12
    </parent>
13
    <dependencies>
14
        <dependency>
15
            <groupId>org.gvsig</groupId>
16
            <artifactId>org.gvsig.tools.lib</artifactId>
17
            <scope>compile</scope>
18
        </dependency>
19
        <dependency>
20
            <groupId>org.gvsig</groupId>
21
            <artifactId>org.gvsig.tools.swing.api</artifactId>
22
            <scope>compile</scope>
23
        </dependency>
24
        <dependency>
25
            <groupId>org.gvsig</groupId>
26
            <artifactId>org.gvsig.fmap.dal</artifactId>
27
            <scope>compile</scope>
28
        </dependency>
29
        <dependency>
30
            <groupId>org.gvsig</groupId>
31
            <artifactId>org.gvsig.projection</artifactId>
32
            <scope>compile</scope>
33
        </dependency>
34
        <dependency>
35
            <groupId>org.gvsig</groupId>
36
            <artifactId>org.gvsig.ui</artifactId>
37
            <version>2.0.1-SNAPSHOT</version>
38
            <scope>compile</scope>
39
        </dependency>
40
        <dependency>
41
            <groupId>jwizardcomponent</groupId>
42
            <artifactId>jwizardcomponent</artifactId>
43
            <scope>compile</scope>
44
        </dependency>
45
        <dependency>
46
            <groupId>org.gvsig</groupId>
47
            <artifactId>org.gvsig.fmap.mapcontext</artifactId>
48
            <version>2.0-SNAPSHOT</version>
49
            <scope>compile</scope>
50
        </dependency>
51
    </dependencies>
52
    <build>
53
        <plugins>
54
            <plugin>
55
                <groupId>org.apache.maven.plugins</groupId>
56
                <artifactId>maven-jar-plugin</artifactId>
57
                <configuration>
58
                </configuration>
59
                <executions>
60
                    <!-- Generates a jar file only with the test classes -->
61
                    <execution>
62
                        <goals>
63
                            <goal>test-jar</goal>
64
                        </goals>
65
                    </execution>
66
                </executions>
67
            </plugin>
68
        </plugins>
69
    </build>
70
</project>
0 71

  
tags/v2_0_0_Build_2057/libraries/org.gvsig.newlayer/org.gvsig.newlayer.lib/pom.xml
1
<?xml version="1.0" encoding="ISO-8859-1"?>
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
4
		 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5

  
6
	<modelVersion>4.0.0</modelVersion>
7
	<artifactId>org.gvsig.newlayer.lib</artifactId>
8
	<packaging>pom</packaging>
9
	<name>org.gvsig.newlayer.lib</name>
10
	<parent>
11
		<groupId>org.gvsig</groupId>
12
		<artifactId>org.gvsig.newlayer</artifactId>
13
		<version>1.0.0-SNAPSHOT</version>
14
	</parent>
15

  
16
	<modules>
17
		<module>org.gvsig.newlayer.lib.api</module>
18
		<module>org.gvsig.newlayer.lib.impl</module>
19
	</modules>
20
</project>
tags/v2_0_0_Build_2057/libraries/org.gvsig.newlayer/org.gvsig.newlayer.lib/org.gvsig.newlayer.lib.impl/src/test/resources/README.txt
1
Put into this folder the resources needed by your test classes.
2

  
3
This folder is added to the Tests classpath, so you can load any resources 
4
through the ClassLoader.
5

  
6
By default, in this folder you can find an example of log4j configuration,
7
prepared to log messages through the console, so logging works when you
8
run your tests classes.
tags/v2_0_0_Build_2057/libraries/org.gvsig.newlayer/org.gvsig.newlayer.lib/org.gvsig.newlayer.lib.impl/src/test/resources/log4j.xml
1
<?xml version="1.0" encoding="ISO-8859-1" ?>
2
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
3

  
4
<!-- 
5
Log4J configuration file for unit tests execution.
6
 -->
7
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
8

  
9
	<!-- Appender configuration to show logging messages through the console -->
10
	<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
11
		<layout class="org.apache.log4j.PatternLayout">
12
			<param name="ConversionPattern" value="%d{HH:mm:ss,SSS} %-5p [%c{2}.%M()]\n  %m%n" />
13
		</layout>
14
	</appender>
15

  
16
	<!-- 
17
	Activate logging messages of DEBUG level of higher only for the
18
	org.gvsig.tools packages.
19
	You can put full classes names or packages instead, to configure
20
	logging for all the classes and subpackages of the package.
21
	-->
22
	<category name="org.gvsig.tools">
23
		<priority value="DEBUG" />
24
	</category>
25
	<category name="org.gvsig.newlayer">
26
		<priority value="DEBUG" />
27
	</category>
28

  
29
	<!-- 
30
	By default, show only logging messages of INFO level or higher, 
31
	through the previously configured CONSOLE appender. 
32
	-->
33
	<root>
34
		<priority value="INFO" />
35
		<appender-ref ref="CONSOLE" />
36
	</root>
37
</log4j:configuration>
tags/v2_0_0_Build_2057/libraries/org.gvsig.newlayer/org.gvsig.newlayer.lib/org.gvsig.newlayer.lib.impl/src/main/resources/META-INF/services/org.gvsig.tools.library.Library
1
org.gvsig.newlayer.impl.NewLayerDefaultImplLibrary
tags/v2_0_0_Build_2057/libraries/org.gvsig.newlayer/org.gvsig.newlayer.lib/org.gvsig.newlayer.lib.impl/src/main/resources/org/gvsig/newlayer/lib/impl/newlayerfilters.properties
1
#point_geometries_only=
2
#curve_geometries_only=
3
#surface_geometries_only=
4
prov_demo=PROV < '10'
tags/v2_0_0_Build_2057/libraries/org.gvsig.newlayer/org.gvsig.newlayer.lib/org.gvsig.newlayer.lib.impl/src/main/resources/org/gvsig/newlayer/lib/impl/i18n/text_en.properties
1
cant_create_new_layer=Can't create the new layer
2
new_layer_parameters_missing=Can't create a new layer.\n The store paremeters are missing.\n Go back and enter it, please.
3
new_layer_not_store_name=Can't create a new layer.\n The store name is missing.\n Go back and enter it, please.
4
not_applicable=Not applicable
5
_Invalid_geometry_type=Invalid geometry type
0 6

  
tags/v2_0_0_Build_2057/libraries/org.gvsig.newlayer/org.gvsig.newlayer.lib/org.gvsig.newlayer.lib.impl/src/main/resources/org/gvsig/newlayer/lib/impl/i18n/text.properties
1
cant_create_new_layer=No se puede crear la nueva capa
2
new_layers_parameters_missing=No se puede crear una nueva capa.\nFaltan los par?metros.\nVuelva atr?s e introd?zcalos.
3
new_layer_not_store_name=No se puede crear la nueva capa.\nEl nombre del store no existe.\nVuelva atr?s e introd?zcalo.
4
not_applicable=No aplicable
5
_Invalid_geometry_type=Tipo de geometr?a no v?lido
0 6

  
tags/v2_0_0_Build_2057/libraries/org.gvsig.newlayer/org.gvsig.newlayer.lib/org.gvsig.newlayer.lib.impl/src/main/java/org/gvsig/newlayer/impl/preferences/DefaultNewLayerPreferencesComponent.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.newlayer.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.newlayer.NewLayerLocator;
39
import org.gvsig.newlayer.NewLayerProviderFactory;
40
import org.gvsig.newlayer.preferences.NewLayerPreferencesComponent;
41

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

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

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

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

  
66
    /**
67
     * Creates a new DefaultNewLayerPreferencesComponent.
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 DefaultNewLayerPreferencesComponent(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<NewLayerProviderFactory>(NewLayerLocator.getManager()
97
                .getProviders());
98
        providerChecks = new JCheckBox[providers.size()];
99
        for (int i = 0; i < providers.size(); i++) {
100
            NewLayerProviderFactory factory = providers.get(i);
101
            providerChecks[i] =
102
                new JCheckBox(factory.getLabel(), factory.isEnabled());
103
            providerChecks[i].addChangeListener(this);
104
            providerChecks[i].setToolTipText(factory.getDescription());
105
            add(providerChecks[i], gbc);
106
            gbc.gridy++;
107
        }
108
    }
109

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

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

  
123
    public Set<NewLayerProviderFactory> getDisabledProviders() {
124
        Set<NewLayerProviderFactory> disabledFactories =
125
            new HashSet<NewLayerProviderFactory>();
126

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

  
133
        return disabledFactories;
134
    }
135

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

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

  
144
    public void stateChanged(ChangeEvent e) {
145
        valueChanged = true;
146
    }
147
}
tags/v2_0_0_Build_2057/libraries/org.gvsig.newlayer/org.gvsig.newlayer.lib/org.gvsig.newlayer.lib.impl/src/main/java/org/gvsig/newlayer/impl/NewLayerDefaultImplLibrary.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.newlayer.impl;
23

  
24
import java.util.Locale;
25

  
26
import org.gvsig.i18n.Messages;
27
import org.gvsig.newlayer.NewLayerLibrary;
28
import org.gvsig.newlayer.NewLayerLocator;
29
import org.gvsig.tools.library.AbstractLibrary;
30
import org.gvsig.tools.library.LibraryException;
31

  
32
/**
33
 * Library for default implementation initialization and configuration.
34
 * 
35
 * @author gvSIG team
36
 * @version $Id$
37
 */
38
public class NewLayerDefaultImplLibrary extends AbstractLibrary {
39
    
40
    @Override
41
    public void doRegistration() {
42
        registerAsImplementationOf(NewLayerLibrary.class);
43
    }
44

  
45
    @Override
46
    protected void doInitialize() throws LibraryException {
47
        NewLayerLocator.registerManager(DefaultNewLayerManager.class);
48
        if (!Messages.hasLocales()) {
49
            Messages.addLocale(Locale.getDefault());
50
        }
51
        Messages.addResourceFamily("org.gvsig.newlayer.lib.impl.i18n.text",
52
            NewLayerDefaultImplLibrary.class.getClassLoader(),
53
            NewLayerDefaultImplLibrary.class.getClass().getName());
54
    }
55

  
56
    @Override
57
    protected void doPostInitialize() throws LibraryException {
58
        // Do nothing
59
    }
60

  
61
}
tags/v2_0_0_Build_2057/libraries/org.gvsig.newlayer/org.gvsig.newlayer.lib/org.gvsig.newlayer.lib.impl/src/main/java/org/gvsig/newlayer/impl/TypeSelectorPanel.java
1
package org.gvsig.newlayer.impl;
2

  
3
import java.awt.BorderLayout;
4

  
5
import javax.swing.DefaultListSelectionModel;
6
import javax.swing.JList;
7
import javax.swing.JPanel;
8
import javax.swing.JScrollPane;
9
import javax.swing.ListModel;
10
import javax.swing.event.ListSelectionEvent;
11
import javax.swing.event.ListSelectionListener;
12

  
13
import org.gvsig.gui.beans.wizard.panel.NotContinueWizardException;
14
import org.gvsig.gui.beans.wizard.panel.OptionPanel;
15
import org.gvsig.newlayer.NewLayerProviderFactory;
16
import org.gvsig.newlayer.NewLayerService;
17
import org.gvsig.newlayer.NewLayerWizard;
18

  
19
public class TypeSelectorPanel extends JPanel implements OptionPanel{
20
	
21
	/**
22
	 * 
23
	 */
24
	private static final long serialVersionUID = 419873365484240927L;
25
	private NewLayerWizard wizard;
26
    private NewLayerProviderFactory currentType;
27

  
28
	public TypeSelectorPanel(NewLayerWizard wizard){
29
		this.wizard = wizard;
30
		initializeComponents();
31
	}
32

  
33
	public String getPanelTitle() {
34
		return "Type selector panel";
35
	}
36

  
37
	public void nextPanel() throws NotContinueWizardException {
38
		if (currentType!=null){
39
			this.wizard.setType(currentType);
40
			return;
41
		}
42
		throw new NotContinueWizardException("", null, false);
43
	}
44

  
45
	public void lastPanel() {
46
		// do nothing
47
		
48
	}
49

  
50
	public void updatePanel() {
51
		initializeComponents();
52
	}
53

  
54
	public JPanel getJPanel() {
55
		return this;
56
	}
57

  
58
    private void initializeComponents() {
59
        this.setLayout(new BorderLayout());
60

  
61
        JList types = new JList();     
62
        ListModel model =
63
            new org.gvsig.utils.DefaultListModel(this.getService()
64
                .getProviderFactories());
65
       
66
        types.setModel(model);
67
        types.setSelectionMode(DefaultListSelectionModel.SINGLE_SELECTION);
68
        
69
        types.addListSelectionListener(new ListSelectionListener() {
70
			public void valueChanged(ListSelectionEvent e) {
71
				if (e.getValueIsAdjusting() == false) {
72
					JList list = (JList) e.getSource();
73
					
74
			        if (list.getSelectedIndex() > -1) {
75
                        currentType =
76
                            (NewLayerProviderFactory) list.getSelectedValue();
77
                        
78
                        wizard.setNextButtonEnabled(true);
79
			        } else {
80
			            wizard.setNextButtonEnabled(false);
81
			        }
82
			    }
83
			}
84
		});
85
        
86
        JScrollPane scrollPane = new JScrollPane();
87
        scrollPane.setViewportView(types);
88
        this.add(scrollPane, BorderLayout.CENTER);        
89
    }
90

  
91
	private NewLayerService getService() {
92
		return this.wizard.getService();
93
	} 
94
}
tags/v2_0_0_Build_2057/libraries/org.gvsig.newlayer/org.gvsig.newlayer.lib/org.gvsig.newlayer.lib.impl/src/main/java/org/gvsig/newlayer/impl/DefaultNewLayerManager.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.newlayer.impl;
23

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

  
31
import javax.swing.ImageIcon;
32

  
33
import org.slf4j.Logger;
34
import org.slf4j.LoggerFactory;
35

  
36
import org.gvsig.fmap.mapcontext.MapContext;
37
import org.gvsig.newlayer.NewLayerManager;
38
import org.gvsig.newlayer.NewLayerProviderFactory;
39
import org.gvsig.newlayer.NewLayerService;
40
import org.gvsig.newlayer.NewLayerWizard;
41
import org.gvsig.newlayer.impl.preferences.DefaultNewLayerPreferencesComponent;
42
import org.gvsig.newlayer.preferences.NewLayerPreferencesComponent;
43
import org.gvsig.tools.ToolsLocator;
44
import org.gvsig.tools.extensionpoint.ExtensionPoint;
45
import org.gvsig.tools.extensionpoint.ExtensionPoint.Extension;
46
import org.gvsig.tools.extensionpoint.ExtensionPointManager;
47
import org.gvsig.tools.service.ServiceException;
48

  
49
/**
50
 * Default {@link NewLayerManager} implementation.
51
 * 
52
 * @author gvSIG Team
53
 * @version $Id$
54
 */
55
public class DefaultNewLayerManager implements NewLayerManager {
56

  
57
    private static final Logger LOG = LoggerFactory
58
        .getLogger(DefaultNewLayerManager.class);
59

  
60
    final static private String EP_NEWLAYER_NAME = "NewLayer.manager.providers";
61
    final static private String EP_NEWLAYER_DESCRIPTION = "NewLayer providers";
62

  
63
    private Map<NewLayerProviderFactory, Boolean> providerStatus;
64

  
65
    /**
66
     * Empty constructor.
67
     */
68
    public DefaultNewLayerManager() {
69
        providerStatus = new HashMap<NewLayerProviderFactory, Boolean>();
70
    }
71

  
72
    public NewLayerService createNewLayerService(MapContext mapContext) {
73
        return new DefaultNewLayerService(this, mapContext);
74
    }
75

  
76
    public void registerProvider(NewLayerProviderFactory factory) {
77
        ExtensionPoint ep = getNewLayerProvidersExtensionPoint();
78
        ep.append(factory.getName(), factory.getDescription(), factory);
79
    }
80

  
81
    public NewLayerWizard createNewLayerWizard(NewLayerService service) {
82
        URL iconURL =
83
            getClass().getClassLoader().getResource(
84
                "org/gvsig/newlayer/lib/impl/images/newlayericon.png");
85
        ImageIcon logo = null;
86
        if (iconURL != null) {
87
            logo = new ImageIcon(iconURL);
88
        }
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff