Revision 39264

View differences:

tags/v2_0_0_Build_2058/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_2058/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_2058/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_2058/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_2058/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_2058/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_2058/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_2058/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_2058/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_2058/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_2058/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_2058/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_2058/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_2058/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_2058/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_2058/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_2058/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_2058/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_2058/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_2058/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_2058/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
        }
89

  
90
        return new DefaultNewLayerWizard(logo, service);
91
    }
92

  
93
    public NewLayerProviderFactory getNewLayerProviderFactory(
94
        String providerName) throws ServiceException {
95
        ExtensionPoint ep = getNewLayerProvidersExtensionPoint();
96
        try {
97
            return (NewLayerProviderFactory) ep.create(providerName);
98
        } catch (InstantiationException e) {
99
            throw new RuntimeException(e);
100
        } catch (IllegalAccessException e) {
101
            throw new RuntimeException(e);
102
        }
103
    }
104

  
105
    public void enableProvider(NewLayerProviderFactory factory, Boolean value) {
106
        providerStatus.put(factory, Boolean.valueOf(value));
107
    }
108

  
109
    public NewLayerPreferencesComponent createNewLayerProvidersPreferences() {
110
        return new DefaultNewLayerPreferencesComponent();
111
    }
112

  
113
    public List<NewLayerProviderFactory> getProviders() {
114
        ExtensionPoint ep = getNewLayerProvidersExtensionPoint();
115
        List<NewLayerProviderFactory> providers =
116
            new ArrayList<NewLayerProviderFactory>();
117
        @SuppressWarnings("unchecked")
118
        Iterator<Extension> it = ep.iterator();
119

  
120
        while (it.hasNext()) {
121
            Extension extension = (Extension) it.next();
122
            NewLayerProviderFactory factory;
123
            try {
124
                factory = (NewLayerProviderFactory) extension.create();
125
            } catch (InstantiationException e) {
126
                LOG.warn(
127
                    "Can't create NewLayerProviderFactory "
128
                        + extension.getName(), e);
129
                continue;
130
            } catch (IllegalAccessException e) {
131
                LOG.warn(
132
                    "Can't create NewLayerProviderFactory "
133
                        + extension.getName(), e);
134
                continue;
135
            }
136
            providers.add(factory);
137
        }
138

  
139
        return providers;
140
    }
141

  
142
    private ExtensionPoint getNewLayerProvidersExtensionPoint() {
143
        ExtensionPointManager epmgr = ToolsLocator.getExtensionPointManager();
144
        return
145
            epmgr.add(EP_NEWLAYER_NAME, EP_NEWLAYER_DESCRIPTION);
146
    }
147

  
148
    public List<NewLayerProviderFactory> getProviders(STORETYPE filter) {
149
        // TODO use filters
150
        // if (filter == STORETYPE.TABULAR){
151
        // if (!factory.isSpatial()){
152
        // providers.add(factory);
153
        // }
154
        // } else {
155
        // }
156
        return getProviders();
157
    }
158

  
159
    public boolean isProviderEnabled(NewLayerProviderFactory factory) {
160
        Boolean status = providerStatus.get(factory);
161
        return status == null ? true : status.booleanValue();
162
    }
163

  
164
}
tags/v2_0_0_Build_2058/libraries/org.gvsig.newlayer/org.gvsig.newlayer.lib/org.gvsig.newlayer.lib.impl/src/main/java/org/gvsig/newlayer/impl/AddNewLayerQuestionPanel.java
1
package org.gvsig.newlayer.impl;
2

  
3
import java.awt.BorderLayout;
4

  
5
import javax.swing.JCheckBox;
6
import javax.swing.JPanel;
7

  
8
import org.gvsig.gui.beans.wizard.panel.NotContinueWizardException;
9
import org.gvsig.gui.beans.wizard.panel.OptionPanel;
10
import org.gvsig.i18n.Messages;
11
import org.gvsig.newlayer.NewLayerService;
12
import org.gvsig.newlayer.NewLayerWizard;
13

  
14
public class AddNewLayerQuestionPanel extends JPanel implements OptionPanel{
15
	
16
    private static final long serialVersionUID = -5251910576017225307L;
17
    private NewLayerWizard wizard;
18
	private JCheckBox questionCheckBox = null;
19
	
20
	public AddNewLayerQuestionPanel(NewLayerWizard wizard){
21
		this.wizard = wizard;
22
		initializeComponents();
23
	}
24

  
25
	public String getPanelTitle() {
26
		return "Add layer question panel";
27
	}
28

  
29
	public void nextPanel() throws NotContinueWizardException {
30
		getService().addLayerToView(getAddLayerToView());
31
	}
32

  
33
	public void lastPanel() {
34
		// do nothing
35
		
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff