Revision 672

View differences:

org.gvsig.projection.jcrs/tags/org.gvsig.projection.jcrs-2.1.65/org.gvsig.projection.app.jcrs/org.gvsig.projection.app.jcrs.common/src/main/assembly/gvsig-plugin-package.xml
1
<!--
2

  
3
    gvSIG. Desktop Geographic Information System.
4

  
5
    Copyright (C) 2007-2013 gvSIG Association.
6

  
7
    This program is free software; you can redistribute it and/or
8
    modify it under the terms of the GNU General Public License
9
    as published by the Free Software Foundation; either version 3
10
    of the License, or (at your option) any later version.
11

  
12
    This program is distributed in the hope that it will be useful,
13
    but WITHOUT ANY WARRANTY; without even the implied warranty of
14
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
    GNU General Public License for more details.
16

  
17
    You should have received a copy of the GNU General Public License
18
    along with this program; if not, write to the Free Software
19
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
20
    MA  02110-1301, USA.
21

  
22
    For any additional information, do not hesitate to contact us
23
    at info AT gvsig.com, or visit our website www.gvsig.com.
24

  
25
-->
26
<assembly>
27
  <id>gvsig-plugin-package</id>
28
  <formats>
29
    <format>zip</format>
30
  </formats>
31
  <baseDirectory>${project.artifactId}</baseDirectory>
32
  <includeBaseDirectory>true</includeBaseDirectory>
33
  <files>
34
    <file>
35
      <source>target/${project.artifactId}-${project.version}.jar</source>
36
      <outputDirectory>lib</outputDirectory>
37
    </file>
38
    <file>
39
      <source>target/package.info</source>
40
    </file>
41
  </files>
42

  
43
  <fileSets>
44
    <fileSet>
45
      <directory>src/main/resources-plugin</directory>
46
      <outputDirectory>.</outputDirectory>
47
    </fileSet>
48
  </fileSets>
49

  
50

  
51
  <dependencySets>
52
    <dependencySet>
53
      <useProjectArtifact>false</useProjectArtifact>
54
      <useTransitiveDependencies>false</useTransitiveDependencies>
55
      <outputDirectory>lib</outputDirectory>
56
		<includes>
57
            <include>org.gvsig:org.gvsig.projection.jcrs.lib</include>
58
            <include>net.sf:jgridshiftapi</include>
59
            <include>org.geotools:gt2-main:jar:unknown</include>
60
            <include>hsqldb:hsqldb</include>
61
            <include>javax.units:jsr108</include>
62
            <include>java3d:vecmath</include>
63
            <include>org.opengis:geoapi</include>
64
<!--             <include>org.gdal:gdal</include> -->
65
            <include>org.gvsig:org.gvsig.projection.api</include>
66
            <include>org.gvsig:org.gvsig.projection.cresques.ui</include>
67
            <include>org.gvsig:org.gvsig.projection.cresques.impl</include>
68
		</includes>
69
    </dependencySet>
70
  </dependencySets>
71

  
72
</assembly>
73

  
74

  
75

  
0 76

  
org.gvsig.projection.jcrs/tags/org.gvsig.projection.jcrs-2.1.65/org.gvsig.projection.app.jcrs/org.gvsig.projection.app.jcrs.common/src/main/java/org/gvsig/crs/InitialWarningExtension.java
1
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2
 *
3
 * Copyright (C) 2005 IVER T.I. and Generalitat Valenciana.
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
18
 *
19
 * For more information, contact:
20
 *
21
 *  Generalitat Valenciana
22
 *   Conselleria d'Infraestructures i Transport
23
 *   Av. Blasco Ib??ez, 50
24
 *   46010 VALENCIA
25
 *   SPAIN
26
 *
27
 *      +34 963862235
28
 *   gvsig@gva.es
29
 *      www.gvsig.gva.es
30
 *
31
 *    or
32
 *
33
 *   IVER T.I. S.A
34
 *   Salamanca 50
35
 *   46005 Valencia
36
 *   Spain
37
 *
38
 *   +34 963163400
39
 *   dac@iver.es
40
 */
41

  
42
/* CVS MESSAGES:
43
*
44
* $Id: InitialWarningExtension.java 8765 2006-11-15 00:08:29Z jjdelcerro $
45
* $Log$
46
* Revision 1.3.4.1  2006-11-15 00:08:08  jjdelcerro
47
* *** empty log message ***
48
*
49
* Revision 1.4  2006/10/02 13:52:34  jaume
50
* organize impots
51
*
52
* Revision 1.3  2006/08/29 07:56:27  cesar
53
* Rename the *View* family of classes to *Window* (ie: SingletonView to SingletonWindow, ViewInfo to WindowInfo, etc)
54
*
55
* Revision 1.2  2006/08/29 07:13:53  cesar
56
* Rename class com.iver.andami.ui.mdiManager.View to com.iver.andami.ui.mdiManager.IWindow
57
*
58
* Revision 1.1  2006/05/25 16:27:21  jaume
59
* *** empty log message ***
60
*
61
*
62
*/
63
package org.gvsig.crs;
64

  
65
import java.awt.Color;
66
import java.awt.Window;
67

  
68
import javax.swing.JButton;
69
import javax.swing.JCheckBox;
70
import javax.swing.JLabel;
71
import javax.swing.JPanel;
72
import javax.swing.JWindow;
73
import javax.swing.border.TitledBorder;
74

  
75
import org.gvsig.andami.PluginServices;
76
import org.gvsig.andami.plugins.Extension;
77
import org.gvsig.andami.ui.mdiManager.WindowInfo;
78

  
79

  
80
public class InitialWarningExtension extends Extension {
81
//	public static Preferences fPrefs = Preferences.userRoot().node( "gvsig.initial_warkning" );
82
//	private boolean show = fPrefs.getBoolean( "show_panel", true);
83
	private DlgWaring dlgWarning;
84
    /**
85
	 * @see org.gvsig.andami.plugins.IExtension#isEnabled()
86
	 */
87
	public boolean isEnabled() {
88
		return true;
89
	}
90

  
91
	/**
92
	 * @see com.iver.mdiApp.plugins.IExtension#isVisible()
93
	 */
94
	public boolean isVisible() {
95
		return true;
96
	}
97

  
98
	/**
99
	 * @see org.gvsig.andami.plugins.IExtension#initialize()
100
	 */
101
	public void initialize() {
102
		dlgWarning = new DlgWaring();
103
		dlgWarning.setText(PluginServices.getText(this, "initial_jcrs_warning"));
104
		dlgWarning.setVisible(true);
105
	}
106

  
107
	/**
108
	 * @see org.gvsig.andami.plugins.IExtension#execute(java.lang.String)
109
	 */
110
	public void execute(String actionCommand) {
111
	}
112
    
113
	private class DlgWaring extends JWindow{
114

  
115
		private JButton btnOk = null;
116
		private JCheckBox chkBoxShowAgain = null;
117
		private JLabel lblText = null;
118
		private JPanel panel=null;
119
		private JPanel panel2;
120
		/**
121
		 * This is the default constructor
122
		 */
123
		public DlgWaring() {
124
			super((Window)PluginServices.getMainFrame());
125
			Window window=(Window)PluginServices.getMainFrame();
126
			setLocation(window.getWidth()/2+window.getX()-150,window.getHeight()/2+window.getY()-150);
127
			initialize();
128
			this.setAlwaysOnTop(true);
129
		}
130

  
131
		public void setText(String string) {
132
			lblText.setText(string);
133
		}
134

  
135
		/**
136
		 * This method initializes this
137
		 *
138
		 * @return void
139
		 */
140
		private void initialize() {
141
			panel=new JPanel();
142
			panel.setBackground(Color.black);
143
			panel.setLayout(null);
144
			panel.setBounds(0,0,300,300);
145
			panel2=new JPanel();
146
			panel2.setLayout(null);
147
			panel2.setBounds(2,2,298,298);
148
			lblText = new JLabel();
149
			lblText.setBounds(15, 15, 271, 200);
150
			lblText.setText("JLabel");
151
			lblText.setBorder(new TitledBorder(PluginServices.getText(this, "warning")));
152
			panel2.add(lblText);
153
			panel2.setSize((int)(panel.getSize().getWidth()-4),(int)(panel.getSize().getHeight()-4));
154
			panel.add(panel2);
155
			this.setLayout(null);
156
			this.setSize(300, 300);
157
			this.add(getBtnOk(), null);
158
//			this.add(getChkBoxShowAgain(), null);
159
			this.add(panel, null);
160
		}
161

  
162
		/**
163
		 * This method initializes btnOk
164
		 *
165
		 * @return javax.swing.JButton
166
		 */
167
		private JButton getBtnOk() {
168
			if (btnOk == null) {
169
				btnOk = new JButton();
170
				btnOk.setBounds(100, 250, 100, 20);
171
				btnOk.setText(PluginServices.getText(this, "aceptar"));
172
				btnOk.addActionListener(new java.awt.event.ActionListener() {
173
					public void actionPerformed(java.awt.event.ActionEvent e) {
174
						dlgWarning.setVisible(false);
175
						dlgWarning.dispose();
176
						//						PluginServices.getMDIManager().closeWindow(dlgWarning);
177
					}
178
				});
179
			}
180
			return btnOk;
181
		}
182

  
183
		/**
184
		 * This method initializes chkBoxShowAgain
185
		 *
186
		 * @return javax.swing.JCheckBox
187
		 */
188
//		private JCheckBox getChkBoxShowAgain() {
189
//			if (chkBoxShowAgain == null) {
190
//				chkBoxShowAgain = new JCheckBox();
191
//				chkBoxShowAgain.setBounds(44, 116, 241, 21);
192
//				chkBoxShowAgain.setSelected(true);
193
//				chkBoxShowAgain.setText(PluginServices.getText(this, "show_this_dialog_next_startup"));
194
//			}
195
//			return chkBoxShowAgain;
196
//		}
197

  
198
		public WindowInfo getWindowInfo() {
199
			WindowInfo vi = new WindowInfo(WindowInfo.MODALDIALOG);
200
			vi.setWidth(300+8);
201
			vi.setHeight(250);
202
			vi.setTitle(PluginServices.getText(this, "warning"));
203
			return vi;
204
		}
205

  
206
	}  //  @jve:decl-index=0:visual-constraint="10,10"
207

  
208
}
0 209

  
org.gvsig.projection.jcrs/tags/org.gvsig.projection.jcrs-2.1.65/org.gvsig.projection.app.jcrs/org.gvsig.projection.app.jcrs.common/src/main/java/org/gvsig/crs/installer/EPSGDatabaseInstaller.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
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 3
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
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
package org.gvsig.crs.installer;
25

  
26
import java.io.File;
27
import java.io.FileOutputStream;
28
import java.io.IOException;
29
import java.io.InputStream;
30
import java.net.MalformedURLException;
31
import java.util.zip.ZipEntry;
32
import java.util.zip.ZipException;
33
import java.util.zip.ZipInputStream;
34
import org.apache.commons.io.FileUtils;
35
import org.apache.commons.io.FilenameUtils;
36
import org.gvsig.andami.LocaleManager;
37
import org.gvsig.andami.PluginServices;
38
import org.gvsig.andami.PluginsLocator;
39
import org.gvsig.andami.PluginsManager;
40
import org.gvsig.crs.CrsFactory;
41
import org.gvsig.crs.JCrsExtension;
42
import org.gvsig.installer.lib.api.PackageInfo;
43
import org.gvsig.installer.lib.api.execution.InstallPackageServiceException;
44
import org.gvsig.installer.lib.spi.InstallerInfoFileException;
45
import org.gvsig.installer.lib.spi.execution.InstallPackageProvider;
46
import org.gvsig.tools.ToolsLocator;
47
import org.gvsig.tools.dynobject.DynObject;
48
import org.gvsig.tools.service.spi.AbstractProvider;
49
import org.gvsig.tools.service.spi.ProviderServices;
50
import org.gvsig.tools.task.SimpleTaskStatus;
51
import org.gvsig.tools.task.TaskStatusManager;
52
import org.slf4j.Logger;
53
import org.slf4j.LoggerFactory;
54

  
55
public class EPSGDatabaseInstaller extends AbstractProvider implements InstallPackageProvider {
56

  
57
    private static Logger logger = LoggerFactory.getLogger(EPSGDatabaseInstaller.class);
58

  
59
    private int BUFFER = 2048;
60

  
61
    public EPSGDatabaseInstaller(ProviderServices providerServices) {
62
        super(providerServices);
63
    }
64

  
65
    public void install(File applicationFolder, InputStream inputStream, PackageInfo packageInfo) throws InstallPackageServiceException {
66
        PluginsManager pluginsManager = PluginsLocator.getManager();
67
        File i18nFolder = pluginsManager.getApplicationI18nFolder();
68

  
69
        File epsgDatabaseFolder = new File(CrsFactory.getDataBaseFolder(),"EPSG");
70

  
71
        logger.info("Installing package '" + packageInfo.getCode() + "' in '" + epsgDatabaseFolder.getAbsolutePath() + "'.");
72
        try {
73
            FileUtils.forceMkdir(epsgDatabaseFolder);
74
            decompress(inputStream, epsgDatabaseFolder);
75
            activateThisDataBase(packageInfo);
76
        } catch (Exception e) {
77
            try {
78
                logger.warn("Can install package '" + packageInfo.getCode() + "'.", e);
79
                // if there is an exception, installLater is called
80
                installLater(applicationFolder, inputStream, packageInfo);
81
            } catch (IOException e1) {
82
                logger.warn("Can install package '" + packageInfo.getCode() + "'.", e1);
83
                throw new InstallPackageServiceException(e1);
84
            }
85
        }
86

  
87
    }
88

  
89
    private void activateThisDataBase(PackageInfo packageInfo) {
90
        String dbentry = "EPSG/" + packageInfo.getCode() + "/EPSG.sql";
91
        File f = new File(CrsFactory.getDataBaseFolder(),dbentry);
92
        if( !f.exists() ) {
93
            logger.warn("Can't activate EPSG database, problems locating in '"+f.getAbsolutePath()+"'.");
94
            return;
95
        }
96
        PluginsManager pluginManager = PluginsLocator.getManager();
97
        PluginServices plugin = pluginManager.getPlugin(this);
98
        DynObject pluginProperties = plugin.getPluginProperties();
99
        
100
        pluginProperties.setDynValue("epsgDatabase", dbentry);
101
        plugin.savePluginProperties();    
102
    }
103
    
104
    private void decompress(InputStream inputStream, File folder)
105
            throws ZipException, IOException, InstallerInfoFileException {
106

  
107
        ZipInputStream zis = null;
108
        ZipEntry entry = null;
109
        byte data[] = new byte[BUFFER];
110
        int count = 0;
111

  
112
        TaskStatusManager manager = ToolsLocator.getTaskStatusManager();
113
        SimpleTaskStatus taskStatus = manager.createDefaultSimpleTaskStatus("Uncompressing...");
114

  
115
        manager.add(taskStatus);
116
        String entryName = "(header)";
117
        try {
118
            long readed = 0;
119
            zis = new ZipInputStream(inputStream);
120
            while ( (entry = zis.getNextEntry()) != null ) {
121
                entryName = FilenameUtils.separatorsToSystem(entry.getName());
122
                taskStatus.message(entryName);
123

  
124
                File file = new File(folder, entryName);
125
                if ( entry.isDirectory() ) {
126
                    file.mkdirs();
127
                } else {
128
                    if ( file.exists() ) {
129
                        FileUtils.forceDelete(file);
130
                    }
131
                    if ( !file.getParentFile().exists() ) {
132
                        FileUtils.forceMkdir(file.getParentFile());
133
                    }
134
                    logger.debug("extracting " + file.getAbsolutePath());
135
                    FileOutputStream fos = new FileOutputStream(file);
136
                    while ( (count = zis.read(data, 0, BUFFER)) != -1 ) {
137
                        fos.write(data, 0, count);
138
                        readed += count;
139
                        taskStatus.setCurValue(readed);
140
                    }
141
                    fos.flush();
142
                    fos.close();
143
                }
144
            }
145
            zis.close();
146
        } catch (IOException ex) {
147
            logger.warn("Problems uncompresing 'EPSG database' (last entry '" + entryName + "'.", ex);
148
            throw ex;
149

  
150
        } catch (RuntimeException ex) {
151
            logger.warn("Problems uncompresing 'EPSG database' (last entry '" + entryName + "'.", ex);
152
            throw ex;
153

  
154
        } finally {
155
            taskStatus.remove();
156

  
157
        }
158
    }
159

  
160
    public void installLater(File applicationDirectory, InputStream inputStream, PackageInfo packageInfo) throws InstallPackageServiceException, IOException {
161
        logger.warn("installLater is not implementes.");
162
    }
163
}
org.gvsig.projection.jcrs/tags/org.gvsig.projection.jcrs-2.1.65/org.gvsig.projection.app.jcrs/org.gvsig.projection.app.jcrs.common/src/main/java/org/gvsig/crs/installer/EPSGDatabaseInstallerFactory.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
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 3
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
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
package org.gvsig.crs.installer;
25

  
26
import java.io.File;
27
import java.io.IOException;
28
import org.apache.commons.io.FileUtils;
29
import org.gvsig.andami.PluginServices;
30
import org.gvsig.andami.PluginsLocator;
31
import org.gvsig.andami.PluginsManager;
32
import org.gvsig.crs.CrsFactory;
33
import org.gvsig.crs.JCrsExtension;
34
import org.gvsig.installer.lib.api.InstallerLocator;
35
import org.gvsig.installer.lib.api.InstallerManager;
36
import org.gvsig.installer.lib.spi.InstallerProviderLocator;
37
import org.gvsig.tools.ToolsLocator;
38
import org.gvsig.tools.dynobject.DynClass;
39
import org.gvsig.tools.dynobject.DynObject;
40
import org.gvsig.tools.dynobject.DynObjectManager;
41
import org.gvsig.tools.service.spi.AbstractProviderFactory;
42
import org.gvsig.tools.service.spi.Provider;
43
import org.gvsig.tools.service.spi.ProviderManager;
44
import org.gvsig.tools.service.spi.ProviderServices;
45
import org.slf4j.Logger;
46
import org.slf4j.LoggerFactory;
47

  
48
public class EPSGDatabaseInstallerFactory extends
49
        AbstractProviderFactory {
50

  
51
    private static final Logger logger = LoggerFactory.getLogger(EPSGDatabaseInstallerFactory.class);
52
    
53
    public static final String PROVIDER_NAME = "jCRS_EPSG";
54
    public static final String PROVIDER_DESCRIPTION = "EPSG database installer for jCRS";
55

  
56
    private DynClass dynclass;
57

  
58
    @Override
59
    protected DynClass createParametersDynClass() {
60
        if ( dynclass == null ) {
61
            initialize();
62
        }
63
        return dynclass;
64
    }
65

  
66
    @Override
67
    protected Provider doCreate(DynObject parameters, ProviderServices services) {
68
        return new EPSGDatabaseInstaller(services);
69
    }
70

  
71
    public void initialize() {
72
        if ( dynclass == null ) {
73
            DynObjectManager dynObjectManager = ToolsLocator
74
                    .getDynObjectManager();
75
            dynclass = dynObjectManager.createDynClass(PROVIDER_NAME,
76
                    PROVIDER_DESCRIPTION);
77
            dynObjectManager.add(dynclass);
78
        }
79
    }
80

  
81
    
82
    public static void registerEPSGDatabaseInstaller() {
83

  
84
        InstallerManager installerManager = InstallerLocator.getInstallerManager();
85
        ProviderManager providerManager = InstallerProviderLocator.getProviderManager();
86
        PluginsManager pluginsManager = PluginsLocator.getManager();
87

  
88
        providerManager.addProviderFactory(new EPSGDatabaseInstallerFactory());
89

  
90
        File epsgDatabaseFolder = new File(CrsFactory.getDataBaseFolder(),"EPSG");
91

  
92
        try {
93
            FileUtils.forceMkdir(epsgDatabaseFolder);
94
        } catch (IOException ex) {
95
            logger.warn("Can't create EPSG databases folder in '"+epsgDatabaseFolder.getAbsolutePath()+"'.",ex);
96
        }
97
        installerManager.setDefaultLocalAddonRepository(epsgDatabaseFolder, PROVIDER_NAME);
98
    }
99
}
org.gvsig.projection.jcrs/tags/org.gvsig.projection.jcrs-2.1.65/org.gvsig.projection.app.jcrs/org.gvsig.projection.app.jcrs.common/src/main/java/org/gvsig/crs/JCrsExtension.java
1
/* gvSIG. Sistema de Informaciรณn Geogrรกfica de la Generalitat Valenciana
2
 *
3
 * Copyright (C) 2006 Instituto de Desarrollo Regional and Generalitat Valenciana.
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
18
 *
19
 * For more information, contact:
20
 *
21
 *  Generalitat Valenciana
22
 *   Conselleria d'Infraestructures i Transport
23
 *   Av. Blasco Ibรกรฑez, 50
24
 *   46010 VALENCIA
25
 *   SPAIN
26
 *
27
 *      +34 963862235
28
 *   gvsig@gva.es
29
 *      www.gvsig.gva.es
30
 *
31
 *    or
32
 *
33
 *   Instituto de Desarrollo Regional (Universidad de Castilla La-Mancha
34
 *   Campus Universitario s/n
35
 *   02071 Alabacete
36
 *   Spain
37
 *
38
 *   +34 967 599 200
39
 */
40

  
41

  
42
package org.gvsig.crs;
43

  
44
import org.gvsig.andami.IconThemeHelper;
45
import org.gvsig.andami.plugins.Extension;
46
import org.gvsig.app.gui.panels.CRSSelectPanelFactory;
47
import org.gvsig.crs.gui.panels.CrsUIFactory;
48
import org.gvsig.crs.gui.panels.ProjChooserPanel;
49
import org.gvsig.crs.preferences.JCRSPreferencesPage;
50
import org.gvsig.tools.ToolsLocator;
51
import org.gvsig.tools.dynobject.DynObject;
52
import org.gvsig.tools.extensionpoint.ExtensionPoint;
53
import org.gvsig.tools.extensionpoint.ExtensionPointManager;
54

  
55
public class JCrsExtension extends Extension {
56
	//private final static Logger logger = LoggerFactory.getLogger(JCrsExtension.class);
57

  
58
    @Override
59
    public void initialize() {
60

  
61
        CRSSelectPanelFactory.registerPanelClass(ProjChooserPanel.class);
62
        CRSSelectPanelFactory.registerUIFactory(CrsUIFactory.class);
63

  
64
        IconThemeHelper.registerIcon("preferences", "jcrs-preferences", this);
65

  
66
        ExtensionPointManager extensionPoints = ToolsLocator.getExtensionPointManager();
67
        ExtensionPoint ep = extensionPoints.add("AplicationPreferences", "");
68
        ep.append("jCRS", "", new JCRSPreferencesPage());
69

  
70
    }
71

  
72

  
73
    @Override
74
	public void execute(String actionCommand) {
75

  
76
	}
77

  
78
	public boolean isEnabled() {
79
		return true;
80
	}
81

  
82
    @Override
83
	public boolean isVisible() {
84
		return false;
85
	}
86

  
87
}
0 88

  
org.gvsig.projection.jcrs/tags/org.gvsig.projection.jcrs-2.1.65/org.gvsig.projection.app.jcrs/org.gvsig.projection.app.jcrs.common/src/main/java/org/gvsig/crs/preferences/JCRSPreferencesPage.java
1
/*
2
 * To change this license header, choose License Headers in Project Properties.
3
 * To change this template file, choose Tools | Templates
4
 * and open the template in the editor.
5
 */
6
package org.gvsig.crs.preferences;
7

  
8
import java.awt.BorderLayout;
9
import java.io.File;
10
import java.util.Collection;
11
import java.util.Iterator;
12
import javax.swing.ComboBoxModel;
13
import javax.swing.DefaultComboBoxModel;
14
import javax.swing.DefaultListModel;
15
import javax.swing.ImageIcon;
16
import javax.swing.JPanel;
17
import org.apache.commons.io.FileUtils;
18
import org.apache.commons.io.FilenameUtils;
19
import org.apache.commons.lang3.BooleanUtils;
20
import org.apache.commons.lang3.StringUtils;
21
import org.gvsig.andami.IconThemeHelper;
22
import org.gvsig.andami.PluginServices;
23
import org.gvsig.andami.PluginsLocator;
24
import org.gvsig.andami.PluginsManager;
25
import org.gvsig.andami.preferences.AbstractPreferencePage;
26
import org.gvsig.andami.preferences.StoreException;
27
import org.gvsig.crs.CrsFactory;
28
import org.gvsig.tools.ToolsLocator;
29
import org.gvsig.tools.dynobject.DynObject;
30
import org.gvsig.tools.exception.BaseException;
31
import org.gvsig.tools.i18n.I18nManager;
32
import org.gvsig.tools.packageutils.PackageInfo;
33
import org.gvsig.tools.packageutils.PackageManager;
34
import org.slf4j.Logger;
35
import org.slf4j.LoggerFactory;
36

  
37
/**
38
 *
39
 * @author usuario
40
 */
41
public class JCRSPreferencesPage extends AbstractPreferencePage {
42

  
43
    private static final Logger logger = LoggerFactory.getLogger(JCRSPreferencesPage.class);
44
    private static final long serialVersionUID = -7838901334080793221L;
45
            
46
    private JCRSPreferencesPageView preferences;
47
    private DynObject pluginProperties;
48
    private PluginServices plugin;
49

  
50
    private class ListItem {
51

  
52
        private PackageInfo pkg;
53
        private File epsgFile;
54

  
55
        ListItem(PackageInfo pkg, File epsgFile) {
56
            this.pkg = pkg;
57
            this.epsgFile = epsgFile;
58
        }
59

  
60
        public File getEPSGFile() {
61
            return this.epsgFile;
62
        }
63
        
64
        public PackageInfo getPackageInfo() {
65
            return this.pkg;
66
        }
67

  
68
        public String toString() {
69
            return this.pkg.getName();
70
        }
71

  
72
    }
73

  
74
    public JCRSPreferencesPage() {
75
        initComponents();
76
    }
77

  
78
    private void initComponents() {
79
        I18nManager i18n = ToolsLocator.getI18nManager();
80
        PluginsManager pluginManager = PluginsLocator.getManager();
81
        this.plugin = pluginManager.getPlugin(this);
82
        this.pluginProperties = this.plugin.getPluginProperties();
83
        
84
        this.preferences = new JCRSPreferencesPageView();
85
        this.preferences.lblHeader.setText( 
86
                i18n.getTranslation("_Select_the_EPSG_data_base_to_use")
87
        );
88
        this.preferences.chkUseMomoryChacheForCRSs.setText(
89
       		i18n.getTranslation("_Use_cache_for_CRSs")
90
        );        
91
        this.setLayout(new BorderLayout());
92
        this.add(this.preferences, BorderLayout.NORTH);
93
        
94
        this.preferences.lblDatabaseInitializationMode.setText( 
95
                i18n.getTranslation("_When_initializing_the_EPSG_database")
96
        );
97
        DefaultComboBoxModel modelCombo = new DefaultComboBoxModel();
98
        modelCombo.addElement(i18n.getTranslation("_On_start_in_background"));
99
        modelCombo.addElement(i18n.getTranslation("_On_start_in_foreground"));
100
        modelCombo.addElement(i18n.getTranslation("_On_first_use"));
101
        this.preferences.cboDatabaseInitializationMode.setModel(modelCombo);
102

  
103
        initializeValues();
104
    }
105

  
106
    public void storeValues() throws StoreException {
107
        ListItem item = (ListItem) this.preferences.lstBBDD.getSelectedValue();
108
        if( item == null ) {
109
            return;
110
        }
111
        this.pluginProperties.setDynValue("epsgDatabase", item.getEPSGFile());
112
        this.pluginProperties.setDynValue("useMemoryCacheForCRSs", 
113
                this.preferences.chkUseMomoryChacheForCRSs.isSelected()
114
        );
115
        this.pluginProperties.setDynValue(
116
            "databaseInitializationMode", 
117
            this.preferences.cboDatabaseInitializationMode.getSelectedIndex()
118
        );
119
        this.plugin.savePluginProperties();
120
    }
121

  
122
    public void setChangesApplied() {
123
        // ????
124
    }
125

  
126
    public String getID() {
127
        return getClass().getName();
128
    }
129

  
130
    public String getTitle() {
131
        I18nManager i18nManager = ToolsLocator.getI18nManager();
132
        return i18nManager.getTranslation("jCRS_preferences");
133

  
134
    }
135

  
136
    public JPanel getPanel() {
137
        return this;
138
    }
139

  
140
    @Override
141
    public void initializeValues() {
142
        PackageManager pkgManager = ToolsLocator.getPackageManager();
143
        
144
        File dbfolder = CrsFactory.getDataBaseFolder();
145
        File epsgFolders = new File(dbfolder,"EPSG");
146
        Collection<File> files = FileUtils.listFiles(epsgFolders, new String[]{"info"}, true);
147
        DefaultListModel model = new DefaultListModel();
148
        
149
        File currentEPSG = getCurrentEPSG();
150

  
151
        int selectedOption = 0;
152
        int n = 0;
153
        Iterator<File> it = files.iterator();
154
        while( it.hasNext() ) {
155
            File f = it.next();
156
            if( f.getName().equals("package.info") ) {
157
                try {
158
                    PackageInfo pkginfo = pkgManager.createPackageInfo(f);
159
                    File epsgdb = new File(f.getParentFile(),"EPSG.sql");
160
                    epsgdb = makeRelative(dbfolder, epsgdb);
161
                    model.addElement(new ListItem(pkginfo, epsgdb));
162
                    if( epsgdb.equals(currentEPSG) ) {
163
                        selectedOption = n;
164
                    }
165
                    n++;
166
                } catch (BaseException ex) {
167
                    logger.warn("Can't load package information from '"+f.getAbsolutePath()+"'.",ex);
168
                }
169
            }
170
        }
171
        this.preferences.lstBBDD.setModel(model);
172
        this.preferences.lstBBDD.setSelectedIndex(selectedOption);
173
        
174
        boolean currentUseChacheForCRSs = BooleanUtils.isTrue(
175
                (Boolean) this.pluginProperties.getDynValue("useMemoryCacheForCRSs")
176
        );
177
        this.preferences.chkUseMomoryChacheForCRSs.setSelected(currentUseChacheForCRSs);
178
        
179
        this.preferences.cboDatabaseInitializationMode.setSelectedIndex( 
180
            (Integer)this.pluginProperties.getDynValue("databaseInitializationMode")
181
        );
182
    }
183
    
184
    private File makeRelative(File parent, File file) {
185
        String parent_path = parent.getAbsolutePath();
186
        if( !parent_path.endsWith(File.separator) ) {
187
            parent_path += File.separator;
188
        }
189
        if( file.getAbsolutePath().startsWith(parent_path) ) {
190
            file = new File(file.getAbsolutePath().substring(parent_path.length()));
191
        }
192
        return file;
193
    }
194

  
195
    private File getCurrentEPSG() {
196
        File dbfolder = CrsFactory.getDataBaseFolder();
197
        File currentEPSG = null;
198
        String s = StringUtils.defaultIfBlank((String) this.pluginProperties.getDynValue("epsgDatabase"),null);
199
        if( s!=null ) {
200
            currentEPSG = new File(s);    
201
            if( !currentEPSG.isAbsolute() ) {
202
                currentEPSG = new File(dbfolder,s);    
203
            }
204
            currentEPSG = makeRelative(dbfolder,currentEPSG);
205
        }
206
        return currentEPSG;
207
    }
208
    
209
    public void initializeDefaults() {
210

  
211
    }
212

  
213
    public ImageIcon getIcon() {
214
        return IconThemeHelper.getImageIcon("jcrs-preferences");
215
    }
216

  
217
    public boolean isValueChanged() {
218
        File currentEPSG = this.getCurrentEPSG();
219
        ListItem item = (ListItem) this.preferences.lstBBDD.getSelectedValue();
220
        if( item == null ) {
221
            return false;
222
        }
223
        boolean changed = ! currentEPSG.equals(item.getEPSGFile());
224
        if( !changed ) {
225
            boolean currentUseChacheForCRSs = BooleanUtils.isTrue(
226
                (Boolean) this.pluginProperties.getDynValue("useMemoryCacheForCRSs")
227
            );
228
            if( this.preferences.chkUseMomoryChacheForCRSs.isSelected()!=currentUseChacheForCRSs ) {
229
                changed = true;
230
            }
231
        }
232
        if( !changed ) {
233
            int n = this.preferences.cboDatabaseInitializationMode.getSelectedIndex();
234
            changed = n!=(Integer)this.pluginProperties.getDynValue("databaseInitializationMode");
235
        }
236
        return changed;
237
    }
238

  
239
    public boolean isResizeable() {
240
        return true;
241
    }
242

  
243
    
244
}
org.gvsig.projection.jcrs/tags/org.gvsig.projection.jcrs-2.1.65/org.gvsig.projection.app.jcrs/org.gvsig.projection.app.jcrs.common/src/main/java/org/gvsig/crs/preferences/JCRSPreferencesPageView.xml
1
<?xml version="1.0" encoding="UTF-8"?>
2

  
3
<object classname="com.jeta.forms.store.memento.FormPackage">
4
 <at name="fileversion">
5
  <object classname="com.jeta.forms.store.memento.FormsVersion2">
6
   <at name="major">2</at>
7
   <at name="minor">0</at>
8
   <at name="sub">0</at>
9
  </object>
10
 </at>
11
 <at name="form">
12
  <object classname="com.jeta.forms.store.memento.FormMemento">
13
   <super classname="com.jeta.forms.store.memento.ComponentMemento">
14
    <at name="cellconstraints">
15
     <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
16
      <at name="column">1</at>
17
      <at name="row">1</at>
18
      <at name="colspan">1</at>
19
      <at name="rowspan">1</at>
20
      <at name="halign">default</at>
21
      <at name="valign">default</at>
22
      <at name="insets" object="insets">0,0,0,0</at>
23
     </object>
24
    </at>
25
    <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
26
   </super>
27
   <at name="id">/home/jjdelcerro/datos/devel/org.gvsig.projection.jcrs/org.gvsig.projection.app.jcrs/org.gvsig.projection.app.jcrs.common/src/main/java/org/gvsig/crs/preferences/JCRSPreferencesPageView.xml</at>
28
   <at name="path">datos/devel/org.gvsig.projection.jcrs/org.gvsig.projection.app.jcrs/org.gvsig.projection.app.jcrs.common/src/main/java/org/gvsig/crs/preferences/JCRSPreferencesPageView.xml</at>
29
   <at name="rowspecs">CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,FILL:DEFAULT:GROW(1.0),CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:4DLU:NONE</at>
30
   <at name="colspecs">FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE</at>
31
   <at name="components">
32
    <object classname="java.util.LinkedList">
33
     <item >
34
      <at name="value">
35
       <object classname="com.jeta.forms.store.memento.BeanMemento">
36
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
37
         <at name="cellconstraints">
38
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
39
           <at name="column">2</at>
40
           <at name="row">2</at>
41
           <at name="colspan">1</at>
42
           <at name="rowspan">1</at>
43
           <at name="halign">default</at>
44
           <at name="valign">default</at>
45
           <at name="insets" object="insets">0,0,0,0</at>
46
          </object>
47
         </at>
48
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
49
        </super>
50
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
51
        <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
52
        <at name="beanproperties">
53
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
54
          <at name="classname">com.jeta.forms.components.label.JETALabel</at>
55
          <at name="properties">
56
           <object classname="com.jeta.forms.store.support.PropertyMap">
57
            <at name="border">
58
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
59
              <super classname="com.jeta.forms.store.properties.BorderProperty">
60
               <at name="name">border</at>
61
              </super>
62
              <at name="borders">
63
               <object classname="java.util.LinkedList">
64
                <item >
65
                 <at name="value">
66
                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
67
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
68
                    <at name="name">border</at>
69
                   </super>
70
                  </object>
71
                 </at>
72
                </item>
73
               </object>
74
              </at>
75
             </object>
76
            </at>
77
            <at name="name">lblDatabaseInitializationMode</at>
78
            <at name="width">498</at>
79
            <at name="text">Cuando inicializar la BBDD de EPSG</at>
80
            <at name="fill">
81
             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
82
              <at name="name">fill</at>
83
             </object>
84
            </at>
85
            <at name="height">14</at>
86
           </object>
87
          </at>
88
         </object>
89
        </at>
90
       </object>
91
      </at>
92
     </item>
93
     <item >
94
      <at name="value">
95
       <object classname="com.jeta.forms.store.memento.BeanMemento">
96
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
97
         <at name="cellconstraints">
98
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
99
           <at name="column">2</at>
100
           <at name="row">6</at>
101
           <at name="colspan">1</at>
102
           <at name="rowspan">1</at>
103
           <at name="halign">default</at>
104
           <at name="valign">default</at>
105
           <at name="insets" object="insets">0,0,0,0</at>
106
          </object>
107
         </at>
108
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
109
        </super>
110
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
111
        <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
112
        <at name="beanproperties">
113
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
114
          <at name="classname">com.jeta.forms.components.label.JETALabel</at>
115
          <at name="properties">
116
           <object classname="com.jeta.forms.store.support.PropertyMap">
117
            <at name="border">
118
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
119
              <super classname="com.jeta.forms.store.properties.BorderProperty">
120
               <at name="name">border</at>
121
              </super>
122
              <at name="borders">
123
               <object classname="java.util.LinkedList">
124
                <item >
125
                 <at name="value">
126
                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
127
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
128
                    <at name="name">border</at>
129
                   </super>
130
                  </object>
131
                 </at>
132
                </item>
133
               </object>
134
              </at>
135
             </object>
136
            </at>
137
            <at name="name">lblHeader</at>
138
            <at name="width">498</at>
139
            <at name="text">Seleccione la base de datos EPSG a utilizar</at>
140
            <at name="fill">
141
             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
142
              <at name="name">fill</at>
143
             </object>
144
            </at>
145
            <at name="height">14</at>
146
           </object>
147
          </at>
148
         </object>
149
        </at>
150
       </object>
151
      </at>
152
     </item>
153
     <item >
154
      <at name="value">
155
       <object classname="com.jeta.forms.store.memento.BeanMemento">
156
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
157
         <at name="cellconstraints">
158
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
159
           <at name="column">2</at>
160
           <at name="row">10</at>
161
           <at name="colspan">1</at>
162
           <at name="rowspan">1</at>
163
           <at name="halign">default</at>
164
           <at name="valign">default</at>
165
           <at name="insets" object="insets">0,0,0,0</at>
166
          </object>
167
         </at>
168
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
169
        </super>
170
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
171
        <at name="beanclass">javax.swing.JCheckBox</at>
172
        <at name="beanproperties">
173
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
174
          <at name="classname">javax.swing.JCheckBox</at>
175
          <at name="properties">
176
           <object classname="com.jeta.forms.store.support.PropertyMap">
177
            <at name="border">
178
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
179
              <super classname="com.jeta.forms.store.properties.BorderProperty">
180
               <at name="name">border</at>
181
              </super>
182
              <at name="borders">
183
               <object classname="java.util.LinkedList">
184
                <item >
185
                 <at name="value">
186
                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
187
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
188
                    <at name="name">border</at>
189
                   </super>
190
                  </object>
191
                 </at>
192
                </item>
193
               </object>
194
              </at>
195
             </object>
196
            </at>
197
            <at name="actionCommand">Usar cache para los CRSs</at>
198
            <at name="name">chkUseMomoryChacheForCRSs</at>
199
            <at name="width">498</at>
200
            <at name="text">Usar cache para los CRSs</at>
201
            <at name="height">16</at>
202
           </object>
203
          </at>
204
         </object>
205
        </at>
206
       </object>
207
      </at>
208
     </item>
209
     <item >
210
      <at name="value">
211
       <object classname="com.jeta.forms.store.memento.BeanMemento">
212
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
213
         <at name="cellconstraints">
214
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
215
           <at name="column">2</at>
216
           <at name="row">8</at>
217
           <at name="colspan">1</at>
218
           <at name="rowspan">1</at>
219
           <at name="halign">default</at>
220
           <at name="valign">default</at>
221
           <at name="insets" object="insets">0,0,0,0</at>
222
          </object>
223
         </at>
224
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
225
        </super>
226
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
227
        <at name="beanclass">javax.swing.JList</at>
228
        <at name="beanproperties">
229
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
230
          <at name="classname">javax.swing.JList</at>
231
          <at name="properties">
232
           <object classname="com.jeta.forms.store.support.PropertyMap">
233
            <at name="border">
234
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
235
              <super classname="com.jeta.forms.store.properties.BorderProperty">
236
               <at name="name">border</at>
237
              </super>
238
              <at name="borders">
239
               <object classname="java.util.LinkedList">
240
                <item >
241
                 <at name="value">
242
                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
243
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
244
                    <at name="name">border</at>
245
                   </super>
246
                  </object>
247
                 </at>
248
                </item>
249
               </object>
250
              </at>
251
             </object>
252
            </at>
253
            <at name="scrollableTracksViewportHeight">true</at>
254
            <at name="scrollableTracksViewportWidth">true</at>
255
            <at name="name">lstBBDD</at>
256
            <at name="width">496</at>
257
            <at name="items">
258
             <object classname="com.jeta.forms.store.properties.ItemsProperty">
259
              <at name="name">items</at>
260
             </object>
261
            </at>
262
            <at name="scollBars">
263
             <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
264
              <at name="name">scollBars</at>
265
              <at name="verticalpolicy">20</at>
266
              <at name="horizontalpolicy">30</at>
267
              <at name="border">
268
               <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
269
                <super classname="com.jeta.forms.store.properties.BorderProperty">
270
                 <at name="name">border</at>
271
                </super>
272
                <at name="borders">
273
                 <object classname="java.util.LinkedList">
274
                  <item >
275
                   <at name="value">
276
                    <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
277
                     <super classname="com.jeta.forms.store.properties.BorderProperty">
278
                      <at name="name">border</at>
279
                     </super>
280
                    </object>
281
                   </at>
282
                  </item>
283
                 </object>
284
                </at>
285
               </object>
286
              </at>
287
             </object>
288
            </at>
289
            <at name="height">383</at>
290
           </object>
291
          </at>
292
         </object>
293
        </at>
294
       </object>
295
      </at>
296
     </item>
297
     <item >
298
      <at name="value">
299
       <object classname="com.jeta.forms.store.memento.BeanMemento">
300
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
301
         <at name="cellconstraints">
302
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
303
           <at name="column">2</at>
304
           <at name="row">4</at>
305
           <at name="colspan">1</at>
306
           <at name="rowspan">1</at>
307
           <at name="halign">default</at>
308
           <at name="valign">default</at>
309
           <at name="insets" object="insets">0,0,0,0</at>
310
          </object>
311
         </at>
312
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
313
        </super>
314
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
315
        <at name="beanclass">javax.swing.JComboBox</at>
316
        <at name="beanproperties">
317
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
318
          <at name="classname">javax.swing.JComboBox</at>
319
          <at name="properties">
320
           <object classname="com.jeta.forms.store.support.PropertyMap">
321
            <at name="border">
322
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
323
              <super classname="com.jeta.forms.store.properties.BorderProperty">
324
               <at name="name">border</at>
325
              </super>
326
              <at name="borders">
327
               <object classname="java.util.LinkedList">
328
                <item >
329
                 <at name="value">
330
                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
331
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
332
                    <at name="name">border</at>
333
                   </super>
334
                  </object>
335
                 </at>
336
                </item>
337
               </object>
338
              </at>
339
             </object>
340
            </at>
341
            <at name="selectedItem">
342
             <object classname="com.jeta.forms.store.properties.ListItemProperty">
343
              <at name="name">listitem</at>
344
              <at name="label">On start in background</at>
345
              <at name="icon">
346
               <object classname="com.jeta.forms.store.properties.IconProperty">
347
                <at name="embedded">false</at>
348
                <at name="description"></at>
349
                <at name="width">0</at>
350
                <at name="height">0</at>
351
               </object>
352
              </at>
353
             </object>
354
            </at>
355
            <at name="name">cboDatabaseInitializationMode</at>
356
            <at name="width">498</at>
357
            <at name="items">
358
             <object classname="com.jeta.forms.store.properties.ItemsProperty">
359
              <at name="name">items</at>
360
              <at name="items">
361
               <object classname="java.util.LinkedList">
362
                <item >
363
                 <at name="value">
364
                  <object classname="com.jeta.forms.store.properties.ListItemProperty">
365
                   <at name="name">listitem</at>
366
                   <at name="label">On start in background</at>
367
                   <at name="icon">
368
                    <object classname="com.jeta.forms.store.properties.IconProperty">
369
                     <at name="embedded">false</at>
370
                     <at name="description"></at>
371
                     <at name="width">0</at>
372
                     <at name="height">0</at>
373
                    </object>
374
                   </at>
375
                  </object>
376
                 </at>
377
                </item>
378
                <item >
379
                 <at name="value">
380
                  <object classname="com.jeta.forms.store.properties.ListItemProperty">
381
                   <at name="name">listitem</at>
382
                   <at name="label">On start in foreground</at>
383
                   <at name="icon">
384
                    <object classname="com.jeta.forms.store.properties.IconProperty">
385
                     <at name="embedded">false</at>
386
                     <at name="description"></at>
387
                     <at name="width">0</at>
388
                     <at name="height">0</at>
389
                    </object>
390
                   </at>
391
                  </object>
392
                 </at>
393
                </item>
394
                <item >
395
                 <at name="value">
396
                  <object classname="com.jeta.forms.store.properties.ListItemProperty">
397
                   <at name="name">listitem</at>
398
                   <at name="label">On first use</at>
399
                   <at name="icon">
400
                    <object classname="com.jeta.forms.store.properties.IconProperty">
401
                     <at name="embedded">false</at>
402
                     <at name="description"></at>
403
                     <at name="width">0</at>
404
                     <at name="height">0</at>
405
                    </object>
406
                   </at>
407
                  </object>
408
                 </at>
409
                </item>
410
               </object>
411
              </at>
412
             </object>
413
            </at>
414
            <at name="height">18</at>
415
            <at name="itemCount">3</at>
416
           </object>
417
          </at>
418
         </object>
419
        </at>
420
       </object>
421
      </at>
422
     </item>
423
    </object>
424
   </at>
425
   <at name="properties">
426
    <object classname="com.jeta.forms.store.memento.PropertiesMemento">
427
     <at name="classname">com.jeta.forms.gui.form.GridView</at>
428
     <at name="properties">
429
      <object classname="com.jeta.forms.store.support.PropertyMap">
430
       <at name="border">
431
        <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
432
         <super classname="com.jeta.forms.store.properties.BorderProperty">
433
          <at name="name">border</at>
434
         </super>
435
         <at name="borders">
436
          <object classname="java.util.LinkedList"/>
437
         </at>
438
        </object>
439
       </at>
440
       <at name="name"></at>
441
       <at name="fill">
442
        <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
443
         <at name="name">fill</at>
444
        </object>
445
       </at>
446
       <at name="scollBars">
447
        <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
448
         <at name="name">scollBars</at>
449
         <at name="verticalpolicy">21</at>
450
         <at name="horizontalpolicy">31</at>
451
         <at name="border">
452
          <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
453
           <super classname="com.jeta.forms.store.properties.BorderProperty">
454
            <at name="name">border</at>
455
           </super>
456
           <at name="borders">
457
            <object classname="java.util.LinkedList">
458
             <item >
459
              <at name="value">
460
               <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
461
                <super classname="com.jeta.forms.store.properties.BorderProperty">
462
                 <at name="name">border</at>
463
                </super>
464
               </object>
465
              </at>
466
             </item>
467
            </object>
468
           </at>
469
          </object>
470
         </at>
471
        </object>
472
       </at>
473
      </object>
474
     </at>
475
    </object>
476
   </at>
477
   <at name="cellpainters">
478
    <object classname="com.jeta.forms.store.support.Matrix">
479
     <at name="rows">
480
      <object classname="[Ljava.lang.Object;" size="11">
481
       <at name="item" index="0">
482
        <object classname="[Ljava.lang.Object;" size="3"/>
483
       </at>
484
       <at name="item" index="1">
485
        <object classname="[Ljava.lang.Object;" size="3"/>
486
       </at>
487
       <at name="item" index="2">
488
        <object classname="[Ljava.lang.Object;" size="3"/>
489
       </at>
490
       <at name="item" index="3">
491
        <object classname="[Ljava.lang.Object;" size="3"/>
492
       </at>
493
       <at name="item" index="4">
494
        <object classname="[Ljava.lang.Object;" size="3"/>
495
       </at>
496
       <at name="item" index="5">
497
        <object classname="[Ljava.lang.Object;" size="3"/>
498
       </at>
499
       <at name="item" index="6">
500
        <object classname="[Ljava.lang.Object;" size="3"/>
501
       </at>
502
       <at name="item" index="7">
503
        <object classname="[Ljava.lang.Object;" size="3"/>
504
       </at>
505
       <at name="item" index="8">
506
        <object classname="[Ljava.lang.Object;" size="3"/>
507
       </at>
508
       <at name="item" index="9">
509
        <object classname="[Ljava.lang.Object;" size="3"/>
510
       </at>
511
       <at name="item" index="10">
512
        <object classname="[Ljava.lang.Object;" size="3"/>
513
       </at>
514
      </object>
515
     </at>
516
    </object>
517
   </at>
518
   <at name="rowgroups">
519
    <object classname="com.jeta.forms.store.memento.FormGroupSet">
520
     <at name="groups">
521
      <object classname="java.util.HashMap"/>
522
     </at>
523
    </object>
524
   </at>
525
   <at name="colgroups">
526
    <object classname="com.jeta.forms.store.memento.FormGroupSet">
527
     <at name="groups">
528
      <object classname="java.util.HashMap"/>
529
     </at>
530
    </object>
531
   </at>
532
  </object>
533
 </at>
534
</object>
org.gvsig.projection.jcrs/tags/org.gvsig.projection.jcrs-2.1.65/org.gvsig.projection.app.jcrs/org.gvsig.projection.app.jcrs.common/src/main/java/org/gvsig/crs/preferences/JCRSPreferencesPageView.java
1
package org.gvsig.crs.preferences;
2

  
3
import com.jeta.open.i18n.I18NUtils;
4
import com.jgoodies.forms.layout.CellConstraints;
5
import com.jgoodies.forms.layout.FormLayout;
6
import java.awt.BorderLayout;
7
import java.awt.ComponentOrientation;
8
import java.awt.Container;
9
import java.awt.Dimension;
10
import javax.swing.Box;
11
import javax.swing.ImageIcon;
12
import javax.swing.JCheckBox;
13
import javax.swing.JComboBox;
14
import javax.swing.JFrame;
15
import javax.swing.JLabel;
16
import javax.swing.JList;
17
import javax.swing.JPanel;
18
import javax.swing.JScrollPane;
19

  
20

  
21
public class JCRSPreferencesPageView extends JPanel
22
{
23
   JLabel lblDatabaseInitializationMode = new JLabel();
24
   JLabel lblHeader = new JLabel();
25
   JCheckBox chkUseMomoryChacheForCRSs = new JCheckBox();
26
   JList lstBBDD = new JList();
27
   JComboBox cboDatabaseInitializationMode = new JComboBox();
28

  
29
   /**
30
    * Default constructor
31
    */
32
   public JCRSPreferencesPageView()
33
   {
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff