Revision 4675

View differences:

org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.31/org.gvsig.vcsgis.app/org.gvsig.vcsgis.app.server/buildNumber.properties
1
#Tue Oct 26 09:36:37 CEST 2021
2
buildNumber=38
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.31/org.gvsig.vcsgis.app/org.gvsig.vcsgis.app.server/src/main/resources-plugin/readme_es.txt
1

  
2
Para desplegar el servidor VCSGis en tomcat, es aconsejable configurar 
3
la variable de entorno VCSGIS_SERVER_CONFIG de forma que apunte a fichero 
4
"$CATALINA_BASE/conf/vcsgisserver.config", y en este fichero mantener la 
5
configuracion del servicio de VCSGis.
6

  
7
Para hacerlo aƱadir las siguientes lineas al fichero "$CATALINA_BASE/bin/setenv.sh" :
8

  
9
  VCSGIS_SERVER_CONFIG="$CATALINA_BASE"/conf/vcsgisserver.config
10
  export VCSGIS_SERVER_CONFIG
11

  
12
En caso de que el fichero "$CATALINA_BASE"/bin/setenv.sh no exista lo creariamos.
13

  
14
Podemos copiar la configuracion del fichero:
15

  
16
  gvSIG/extensiones/org.gvsig.vcsgis.app.server/WEB-INF/vcsgisserver.config
17

  
18
De la instalacion de gvSIG desktop, que se crea al iniciar el servidor empotrado
19
en gvSIG desktop con la configutacion que le hayamos indicado.
20

  
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.31/org.gvsig.vcsgis.app/org.gvsig.vcsgis.app.server/src/main/resources-plugin/config.xml
1
<?xml version="1.0" encoding="ISO-8859-1"?>
2
<!-- gvSIG. Desktop Geographic Information System. Copyright (C) 2007-2013 gvSIG
3
  Association. This program is free software; you can redistribute it and/or modify
4
  it under the terms of the GNU General Public License as published by the Free Software
5
  Foundation; either version 3 of the License, or (at your option) any later version.
6
  This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
7
  without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
8
  PURPOSE. See the GNU General Public License for more details. You should have received
9
  a copy of the GNU General Public License along with this program; if not, write to
10
  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
11
  USA. For any additional information, do not hesitate to contact us at info AT gvsig.com,
12
  or visit our website www.gvsig.com. -->
13
<plugin-config>
14
  <depends plugin-name="org.gvsig.app.mainplugin" />
15
  <depends plugin-name="org.gvsig.vcsgis.app.mainplugin" />
16

  
17
  <resourceBundle name="text" />
18
  <libraries library-dir="lib" />
19
  <extensions>
20
    <extension class-name="org.gvsig.vcsgis.app.server.VCSGisServerExtension"
21
      description="" active="true" priority="1">
22

  
23
      <action 
24
            name="tools-vcsgis-show-server" 
25
            label="_VCSGis_Server" 
26
            tooltip="_Show_the_VCSGis_server_panel"
27
            position="900700102" 
28
            action-command="tools-vcsgis-show-server" 
29
            icon="tools-vcsgis-show-server"
30
            accelerator="" 
31
      />
32

  
33
      <menu text="tools/_VCSGis/_Administration/_VCSGis_Server" name="tools-vcsgis-show-server" />
34

  
35
    </extension>
36
  </extensions>
37
</plugin-config>
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.31/org.gvsig.vcsgis.app/org.gvsig.vcsgis.app.server/src/main/resources-plugin/WEB-INF/vcsgisserver.config
1
{
2
    "ConnectionParameters":{
3
        "ProviderName":"H2Spatial",
4
        "JDBCDriverClass":"org.h2.Driver",
5
        "host":null,
6
        "port":9123,
7
        "Schema":"PUBLIC",
8
        "dbname":"default_repository",
9
        "Catalog":null,
10
        "dbuser":"SA",
11
        "password":null,
12
        "database_file":{
13
            "__classname__":"java.io.File",
14
            "path":"/home/jjdelcerro/dbs/default_repository"
15
        },
16
        "URL":null,
17
        "ServerPort":-1,
18
        "ServerAllowOthers":true,
19
        "MaxSecondsIdle":10,
20
        "UseSSL":false,
21
        "ShowInformationDBTables":false,
22
        "batchSize":500
23
    }
24
}
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.31/org.gvsig.vcsgis.app/org.gvsig.vcsgis.app.server/src/main/resources-plugin/static/index.html
1
<html>
2
    <body>
3
        <H1>VCSGis for gvSIG desktop</h1>
4
    </body>
5
</html>
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.31/org.gvsig.vcsgis.app/org.gvsig.vcsgis.app.server/src/main/resources-plugin/readme_en.txt
1
To deploy the VCSGis server in tomcat, it is advisable to configure the 
2
environment variable VCSGIS_SERVER_CONFIG so that it points to the 
3
file "$CATALINA_BASE/conf/vcsgisserver.config", and in this file keep 
4
the VCSGis service configuration.
5

  
6
To do this add the following lines to the file "$CATALINA_BASE/bin/setenv.sh":
7

  
8
  VCSGIS_SERVER_CONFIG="$CATALINA_BASE"/conf/vcsgisserver.config
9
  export VCSGIS_SERVER_CONFIG
10

  
11
In case the file "$CATALINA_BASE/bin/setenv.sh" does not exist, we would create it.
12

  
13
We can copy the configuration of the file:
14

  
15
   gvSIG/extensions/org.gvsig.vcsgis.app.server/WEB-INF/vcsgisserver.config
16

  
17
From the gvSIG desktop installation, which is created when starting the embedded server
18
in gvSIG desktop with the configuration that we have indicated.
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.31/org.gvsig.vcsgis.app/org.gvsig.vcsgis.app.server/src/main/resources-plugin/i18n/text.properties
1
_VCSGis_Server=Servidor VCSGis
2
_Show_the_VCSGis_server_panel=Muestra el panel del servidor VCSGis
3
_Database=Base de datos
4
_Port=Puerto
5
_Messages=Mensajes
6
_Restart=Reiniciar
7
_Stop=Detener
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.31/org.gvsig.vcsgis.app/org.gvsig.vcsgis.app.server/src/main/resources-plugin/i18n/text_en.properties
1
_VCSGis_server=VCSGis Server
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.31/org.gvsig.vcsgis.app/org.gvsig.vcsgis.app.server/src/main/assembly/gvsig-plugin-package.xml
1
<!-- gvSIG. Desktop Geographic Information System. Copyright (C) 2007-2013 gvSIG
2
  Association. This program is free software; you can redistribute it and/or modify
3
  it under the terms of the GNU General Public License as published by the Free Software
4
  Foundation; either version 3 of the License, or (at your option) any later version.
5
  This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
6
  without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
7
  PURPOSE. See the GNU General Public License for more details. You should have received
8
  a copy of the GNU General Public License along with this program; if not, write to
9
  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
10
  USA. For any additional information, do not hesitate to contact us at info AT gvsig.com,
11
  or visit our website www.gvsig.com. -->
12
<assembly>
13
  <id>gvsig-plugin-package</id>
14
  <formats>
15
    <format>zip</format>
16
  </formats>
17
  <baseDirectory>${project.artifactId}</baseDirectory>
18
  <includeBaseDirectory>true</includeBaseDirectory>
19
  <files>
20
    <file>
21
      <source>target/${project.artifactId}-${project.version}.jar</source>
22
      <outputDirectory>lib</outputDirectory>
23
    </file>
24
    <file>
25
      <source>target/package.info</source>
26
    </file>
27
  </files>
28

  
29
  <fileSets>
30
    <fileSet>
31
      <directory>src/main/resources-plugin</directory>
32
      <outputDirectory>.</outputDirectory>
33
    </fileSet>
34
  </fileSets>
35

  
36

  
37
  <dependencySets>
38

  
39
    <dependencySet>
40
      <useProjectArtifact>false</useProjectArtifact>
41
      <useTransitiveDependencies>false</useTransitiveDependencies>
42
      <outputDirectory>war</outputDirectory>
43
      <outputFileNameMapping>vcsgis##${project.version}.war</outputFileNameMapping>
44
      <includes>
45
        <include>org.gvsig:org.gvsig.vcsgis.tomcat.webapp:war</include>        
46
      </includes>
47
    </dependencySet>
48
          
49
    <dependencySet>
50
      <useProjectArtifact>false</useProjectArtifact>
51
      <useTransitiveDependencies>true</useTransitiveDependencies>
52
      <outputDirectory>lib</outputDirectory>
53
      <includes>
54
        <include>org.eclipse.jetty:jetty-server</include>
55
        <include>org.eclipse.jetty:jetty-servlet</include>
56
        <include>org.eclipse.jetty:jetty-webapp</include>
57
        <include>org.eclipse.jetty:jetty-util</include>
58
        <include>org.eclipse.jetty:jetty-io</include>
59
        <include>org.eclipse.jetty:jetty-jndi</include>
60

  
61
        <include>org.eclipse.jetty:jetty-alpn-client</include>
62
        <include>org.eclipse.jetty:jetty-annotations</include>
63
        <include>org.eclipse.jetty:jetty-client</include>
64
        <include>org.eclipse.jetty:jetty-continuation</include>
65
        <include>org.eclipse.jetty:jetty-deploy</include>
66
        <include>org.eclipse.jetty:jetty-http</include>
67
        <include>org.eclipse.jetty:jetty-io</include>
68
        <include>org.eclipse.jetty:jetty-jaspi</include>
69
        <include>org.eclipse.jetty:jetty-jmx</include>
70
        <include>org.eclipse.jetty:jetty-jndi</include>
71
        <include>org.eclipse.jetty:jetty-plus</include>
72
        <include>org.eclipse.jetty:jetty-quickstart</include>
73
        <include>org.eclipse.jetty:jetty-rewrite</include>
74
        <include>org.eclipse.jetty:jetty-security</include>
75
        <include>org.eclipse.jetty:jetty-server</include>
76
        <include>org.eclipse.jetty:jetty-servlet</include>
77
        <include>org.eclipse.jetty:jetty-servlets</include>
78
        <include>org.eclipse.jetty:jetty-util</include>
79
        <include>org.eclipse.jetty:jetty-webapp</include>
80
        <include>org.eclipse.jetty:jetty-xml</include>        
81
      </includes>
82
    </dependencySet>
83

  
84
  </dependencySets>
85

  
86
</assembly>
87

  
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.31/org.gvsig.vcsgis.app/org.gvsig.vcsgis.app.server/src/main/java/org/gvsig/vcsgis/app/server/VCSGisServerExtension.java
1
/*
2
 * gvSIG. Desktop Geographic Information System.
3
 * 
4
 * Copyright (C) 2007-2020 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, see <https://www.gnu.org/licenses/>. 
18
 * 
19
 * For any additional information, do not hesitate to contact us
20
 * at info AT gvsig.com, or visit our website www.gvsig.com.
21
 */
22
package org.gvsig.vcsgis.app.server;
23

  
24
import java.io.File;
25
import org.gvsig.andami.IconThemeHelper;
26
import org.gvsig.andami.plugins.Extension;
27
import org.gvsig.tools.ToolsLocator;
28
import org.gvsig.tools.i18n.I18nManager;
29
import org.gvsig.tools.swing.api.ToolsSwingLocator;
30
import org.gvsig.tools.swing.api.windowmanager.WindowManager;
31
import org.gvsig.tools.swing.api.windowmanager.WindowManager_v2;
32

  
33
/**
34
 *
35
 * @author gvSIG Team
36
 */
37
public class VCSGisServerExtension extends Extension {
38

  
39
    private VCSGisServerPanel serverPanel = null;
40
    
41
    @Override
42
    public void initialize() {
43
        IconThemeHelper.registerIcon("action", "tools-vcsgis-show-server", this);
44
        IconThemeHelper.registerIcon("action", "tools-vcsgis-server-restart", this);
45
        IconThemeHelper.registerIcon("action", "tools-vcsgis-server-stop", this);
46
    }
47

  
48
    @Override
49
    public void postInitialize() {
50
        super.postInitialize();
51
    }
52

  
53
    
54
    @Override
55
    public boolean isEnabled() {
56
        return true;
57
    }
58

  
59
    @Override
60
    public boolean isVisible() {
61
        return true;
62
    }
63

  
64
    @Override
65
    public void execute(String actionCommand) {
66

  
67
        switch (actionCommand) {
68
            case "tools-vcsgis-show-server":
69
                this.showServer();
70
                break;
71
        }
72
    }
73

  
74
    private void showServer() {
75
        I18nManager i18n = ToolsLocator.getI18nManager();
76
        WindowManager_v2 winManager = (WindowManager_v2) ToolsSwingLocator.getWindowManager();
77

  
78
        File rootFolder = new File(this.getPlugin().getPluginDirectory(),"static");
79
        if( this.serverPanel == null ) {
80
            this.serverPanel = new VCSGisServerPanel(rootFolder);
81
        }
82
        winManager.showWindow(
83
                serverPanel.asJComponent(), 
84
                i18n.getTranslation("_VCSGis_Server"), 
85
                WindowManager.MODE.WINDOW
86
        );
87
    }
88
}
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.31/org.gvsig.vcsgis.app/org.gvsig.vcsgis.app.server/src/main/java/org/gvsig/vcsgis/app/server/VCSGisServerPanel.java
1
/*
2
 * gvSIG. Desktop Geographic Information System.
3
 * 
4
 * Copyright (C) 2007-2020 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, see <https://www.gnu.org/licenses/>. 
18
 * 
19
 * For any additional information, do not hesitate to contact us
20
 * at info AT gvsig.com, or visit our website www.gvsig.com.
21
 */
22

  
23
package org.gvsig.vcsgis.app.server;
24

  
25
import java.awt.Cursor;
26
import java.awt.event.ActionEvent;
27
import java.io.File;
28
import java.io.IOException;
29
import java.io.Writer;
30
import java.lang.reflect.InvocationTargetException;
31
import java.net.URL;
32
import java.sql.Timestamp;
33
import java.text.SimpleDateFormat;
34
import java.util.Date;
35
import java.util.HashMap;
36
import java.util.Map;
37
import java.util.logging.Level;
38
import javax.swing.ImageIcon;
39
import javax.swing.JComponent;
40
import javax.swing.JOptionPane;
41
import javax.swing.JTextArea;
42
import javax.swing.SwingUtilities;
43
import org.apache.commons.io.FilenameUtils;
44
import org.eclipse.jetty.server.Server;
45
import org.gvsig.fmap.dal.store.jdbc.JDBCServerExplorerParameters;
46
import org.gvsig.fmap.dal.swing.DALSwingLocator;
47
import org.gvsig.tools.swing.api.Component;
48
import org.gvsig.tools.swing.api.ToolsSwingLocator;
49
import org.gvsig.tools.swing.api.ToolsSwingManager;
50
import org.gvsig.tools.swing.api.ToolsSwingUtils;
51
import org.gvsig.tools.swing.api.documentfilters.IntegerDocumentFilter;
52
import org.gvsig.tools.swing.api.pickercontroller.PickerController;
53
import org.gvsig.tools.swing.api.threadsafedialogs.ThreadSafeDialogsManager;
54
import org.gvsig.tools.swing.icontheme.IconTheme;
55
import org.gvsig.tools.util.URLUtils;
56
import static org.gvsig.vcsgis.app.server.VCSGisJettyServerUtils.SERVER_PORT;
57
import org.gvsig.vcsgis.lib.VCSGisLocator;
58
import org.gvsig.vcsgis.lib.server.VCSGisServerUtils;
59
import org.slf4j.Logger;
60
import org.slf4j.LoggerFactory;
61

  
62
/**
63
 *
64
 * @author gvSIG Team
65
 */
66
public class VCSGisServerPanel extends VCSGisServerPanelView implements Component {
67

  
68
    private static final Logger LOGGER = LoggerFactory.getLogger(VCSGisServerPanel.class);
69

  
70
    private Server server;
71
    private PickerController<JDBCServerExplorerParameters> connectionPicker;
72
    private final File rootFolder;
73
    
74
    public VCSGisServerPanel(File rootFolder) {
75
        this.server = null;
76
        this.rootFolder = rootFolder;
77
        this.initComponents();
78
    }
79
    
80
    private Map<JDBCServerExplorerParameters,Boolean> validRepsitoties ;
81
    private boolean isRepository(JDBCServerExplorerParameters connection) {
82
        if( this.validRepsitoties==null ) {
83
            this.validRepsitoties = new HashMap<>();
84
        }
85
        Boolean valid = this.validRepsitoties.get(connection);
86
        if( valid == null ) {
87
            valid = VCSGisLocator.getManager().isRepository(connection);
88
            this.validRepsitoties.put(connection, valid);
89
        }
90
        return valid;
91
    }       
92

  
93
    private void initComponents() {
94
        ToolsSwingManager swingManager = ToolsSwingLocator.getToolsSwingManager();
95

  
96
        swingManager.translate(this.lblDatabase);
97
        swingManager.translate(this.lblMessages);
98
        swingManager.translate(this.lblPort);
99
        swingManager.translate(this.btnRestart);
100
        swingManager.translate(this.btnStop);
101
        
102
        swingManager.setDefaultPopupMenu(this.txtPort);
103
        swingManager.setDefaultPopupMenu(this.txtLog);
104
        
105
        IntegerDocumentFilter.install(this.txtPort);
106

  
107
        
108
        this.btnAddConnection.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
109
        this.btnRestart.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
110
        this.btnStop.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
111
        
112
        this.connectionPicker = DALSwingLocator.getSwingManager().createJDBCConnectionPickerController(
113
                this.cboConnections,
114
                this.btnAddConnection
115
        );
116
        
117
        this.btnRestart.addActionListener((ActionEvent e) -> {
118
            doRestart();
119
        });
120
        this.btnStop.addActionListener((ActionEvent e) -> {
121
            doStop();
122
        });
123
        
124
        this.txtPort.setText(String.valueOf(SERVER_PORT));
125

  
126
        ToolsSwingUtils.ensureRowsCols(this, 20, 100);
127
    }
128

  
129
    @Override
130
    public JComponent asJComponent() {
131
        return this;
132
    }
133

  
134
    @Override
135
    public ImageIcon loadImage(String imageName) {
136
        String iconName = FilenameUtils.getBaseName(imageName);
137
        IconTheme theme = ToolsSwingLocator.getIconThemeManager().getCurrent();
138
        if( theme.exists(iconName) ) {
139
            return theme.get(iconName);
140
        }
141
        return super.loadImage(imageName);
142
    }
143
    
144
    private void message(String msg) {
145
        Timestamp tm = new Timestamp(new Date().getTime());
146
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
147
        this.txtLog.append(df.format(tm));
148
        this.txtLog.append(" - ");
149
        this.txtLog.append(msg);
150
        this.txtLog.append("\n");
151
        this.txtLog.setCaretPosition(this.txtLog.getDocument().getLength());
152
    }
153
    
154
    private int getPort() {
155
        return IntegerDocumentFilter.getValue(txtPort);
156
    }
157
    
158
    private JDBCServerExplorerParameters getServerExplorerParameters() {
159
        JDBCServerExplorerParameters params = this.connectionPicker.get();
160
        if( !this.isRepository(params) ) {
161
            return null;
162
        }
163
        return params;
164
    }
165
    
166
    private void doRestart() {
167
        JDBCServerExplorerParameters connectionParams = this.getServerExplorerParameters();
168
        if( connectionParams==null ) {
169
            ThreadSafeDialogsManager dialogs = ToolsSwingLocator.getThreadSafeDialogsManager();
170
            dialogs.messageDialog(
171
                    "Seleccione una conexion valida para reiniciar el servidor.", 
172
                    "AtenciĆ³n", 
173
                    JOptionPane.WARNING_MESSAGE
174
            );
175
            return;
176
        }
177
        if( this.server != null ) {
178
            message("Stoping server...");
179
            try {
180
                this.server.stop();
181
            } catch (Exception ex) {
182
                LOGGER.warn("Can't stop VCSGis Server", ex);
183
                message("Error stoping server ("+ex.getMessage()+").");
184
                return;
185
            }
186
            this.server = null;
187
        }
188

  
189
        URL config_url = this.getClass().getResource("/WEB-INF/vcsgisserver.config");
190
        ConsoleWriter consoleWriter = new ConsoleWriter(txtLog);
191
        VCSGisServerUtils.setConsoleWriter(consoleWriter);        
192
        VCSGisServerUtils.setConfiguration(config_url);
193
        VCSGisServerUtils.setConnectionParameters(connectionParams);
194
        VCSGisServerUtils.writeConfiguration(config_url);
195
        message("Config file: "+URLUtils.toFile(config_url).getAbsolutePath());
196
        
197
        message("Creating server...");
198
        this.server = VCSGisJettyServerUtils.createServer(this.getPort(), null, this.rootFolder.getAbsolutePath());
199
        message("Server at: http://localhost:"+this.getPort());
200

  
201
        message("Starting server with repository "+connectionParams.getUrl()+"...");
202
        try {
203
            this.server.start();
204
        } catch (Exception ex) {
205
            LOGGER.warn("Can't start server.",ex);
206
            message("Can't start server ("+ex.getMessage()+").");
207
        }
208
        
209
    }
210
    
211
    private void doStop() {
212
        if( this.server==null ) {
213
            message("Server already stoped.");
214
            return;
215
        }
216
        try {
217
            message("Stoping server....");
218
            this.server.stop();
219
            message("Server stoped.");
220
        } catch (Exception ex) {
221
            LOGGER.warn("Can't stop server.",ex);
222
            message("Can't stop server ("+ex.getMessage()+").");
223
        }
224
    }
225
    
226
    private static class ConsoleWriter extends Writer {
227

  
228
        private final JTextArea console;
229
        private StringBuilder buffer = new StringBuilder();
230
        private boolean addprefix;
231
        private final SimpleDateFormat df;
232
        
233
        public ConsoleWriter(JTextArea console) {
234
            this.console = console;
235
            this.addprefix = true;
236
            this.df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
237
        }
238
        
239
        @Override
240
        public void write(char[] cbuf, int off, int len) throws IOException {
241
            for(int i = off; i<len; i++){
242
                char c = cbuf[i];
243
                if( this.addprefix ) {
244
                    Timestamp tm = new Timestamp(new Date().getTime());                    
245
                    this.buffer.append(df.format(tm));
246
                    this.buffer.append(" - ");
247
                    this.addprefix = false;
248
                }
249
                this.buffer.append(c);
250
                if( c == '\n' ) {
251
                    this.flushLine();
252
                    this.addprefix = true;
253
                }
254
            }
255
        }
256

  
257
        private void flushLine() throws IOException {
258
            try {
259
                final String s = buffer.toString();
260
//                buffer.setLength(0);
261
                buffer = new StringBuilder();
262
                if(!SwingUtilities.isEventDispatchThread()){
263
                    SwingUtilities.invokeLater(new Runnable() {
264
                        @Override
265
                        public void run() {
266
                            console.append(s);
267
                            console.setCaretPosition(console.getDocument().getLength());
268
                        }
269
                    });
270
                    return;
271
                }
272
                console.append(s);
273
                console.setCaretPosition(console.getDocument().getLength());
274
            } catch (Exception ex) {
275
                LOGGER.warn("Can't flush console writer.", ex);
276
            }
277
        }
278

  
279
        @Override
280
        public void close() throws IOException {
281
        }
282

  
283
        @Override
284
        public void flush() throws IOException {
285
        }
286
        
287
    }
288

  
289

  
290
}
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.31/org.gvsig.vcsgis.app/org.gvsig.vcsgis.app.server/src/main/java/org/gvsig/vcsgis/app/server/VCSGisJettyServerUtils.java
1
package org.gvsig.vcsgis.app.server;
2

  
3
import org.eclipse.jetty.server.Server;
4
import org.eclipse.jetty.server.handler.HandlerCollection;
5
import org.eclipse.jetty.server.handler.ResourceHandler;
6
import org.eclipse.jetty.server.handler.ShutdownHandler;
7
import org.eclipse.jetty.servlet.ServletContextHandler;
8
import org.gvsig.vcsgis.lib.VCSGisLocator;
9
import org.gvsig.vcsgis.lib.VCSGisManager;
10

  
11
/*
12
 * To change this license header, choose License Headers in Project Properties.
13
 * To change this template file, choose Tools | Templates
14
 * and open the template in the editor.
15
 */
16

  
17
/**
18
 *
19
 * @author fdiaz
20
 */
21
public class VCSGisJettyServerUtils {
22
    
23
    public static final int SERVER_PORT = 9810;
24
    
25

  
26
    public static Server createServer(
27
            int port,
28
            String shutdownpass,
29
            String rootpath
30
    ) {
31
        Server server = new Server(port);
32

  
33
        ResourceHandler resource_handler = new ResourceHandler();
34
        resource_handler.setResourceBase(rootpath);
35
        resource_handler.setDirAllowed(true);
36
        resource_handler.setDirectoriesListed(true);
37

  
38
        @SuppressWarnings("PointlessBitwiseExpression")
39
        ServletContextHandler context = new ServletContextHandler(
40
                ServletContextHandler.NO_SECURITY | ServletContextHandler.NO_SESSIONS
41
        );
42

  
43
        VCSGisManager vcsGisManager = VCSGisLocator.getManager();
44
        
45
        context.addServlet(vcsGisManager.getServletClass("repoinfo"), "/repoinfo");
46
        context.addServlet(vcsGisManager.getServletClass("entities"), "/entities");
47
        context.addServlet(vcsGisManager.getServletClass("commit"), "/commit");
48
        context.addServlet(vcsGisManager.getServletClass("checkout"), "/checkout");
49
        context.addServlet(vcsGisManager.getServletClass("history"), "/history");
50
        context.addServlet(vcsGisManager.getServletClass("update"), "/update");
51
        context.addServlet(vcsGisManager.getServletClass("authenticate"), "/authenticate");
52
        context.addServlet(vcsGisManager.getServletClass("users"), "/users");
53
        context.addServlet(vcsGisManager.getServletClass("topologyplans"), "/topologyplans");
54
        context.addServlet(vcsGisManager.getServletClass("rowcreate"), "/rowcreate");
55
        context.addServlet(vcsGisManager.getServletClass("rowupdate"), "/rowupdate");
56
        context.addServlet(vcsGisManager.getServletClass("rowdelete"), "/rowdelete");
57
        context.addServlet(vcsGisManager.getServletClass("rowisoutofdate"), "/rowisoutofdate");
58
        context.addServlet(vcsGisManager.getServletClass("hooktest"), "/hooktest");
59

  
60
        HandlerCollection handlers = new HandlerCollection();
61
        handlers.addHandler(context);
62
        handlers.addHandler(resource_handler);
63
        if (shutdownpass != null) {
64
            handlers.addHandler(new ShutdownHandler(shutdownpass));
65
        }
66
        server.setHandler(handlers);
67

  
68
        return server;
69
    }
70

  
71
}
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.31/org.gvsig.vcsgis.app/org.gvsig.vcsgis.app.server/src/main/java/org/gvsig/vcsgis/app/server/VCSGisServerPanelView.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.vcsgis/org.gvsig.vcsgis.app/org.gvsig.vcsgis.app.server/src/main/java/org/gvsig/vcsgis/app/server/VCSGisServerPanelView.xml</at>
28
   <at name="rowspecs">CENTER:DEFAULT:NONE,FILL:DEFAULT:GROW(1.0),CENTER:DEFAULT:NONE</at>
29
   <at name="colspecs">FILL:DEFAULT:NONE,FILL:DEFAULT:GROW(1.0),FILL:DEFAULT:NONE</at>
30
   <at name="components">
31
    <object classname="java.util.LinkedList">
32
     <item >
33
      <at name="value">
34
       <object classname="com.jeta.forms.store.memento.FormMemento">
35
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
36
         <at name="cellconstraints">
37
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
38
           <at name="column">2</at>
39
           <at name="row">2</at>
40
           <at name="colspan">1</at>
41
           <at name="rowspan">1</at>
42
           <at name="halign">default</at>
43
           <at name="valign">default</at>
44
           <at name="insets" object="insets">0,0,0,0</at>
45
          </object>
46
         </at>
47
         <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
48
        </super>
49
        <at name="id">embedded.1560136335</at>
50
        <at name="rowspecs">CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,FILL:DEFAULT:GROW(1.0),CENTER:2DLU:NONE,CENTER:DEFAULT:NONE</at>
51
        <at name="colspecs">FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE,FILL:DEFAULT:NONE</at>
52
        <at name="components">
53
         <object classname="java.util.LinkedList">
54
          <item >
55
           <at name="value">
56
            <object classname="com.jeta.forms.store.memento.BeanMemento">
57
             <super classname="com.jeta.forms.store.memento.ComponentMemento">
58
              <at name="cellconstraints">
59
               <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
60
                <at name="column">1</at>
61
                <at name="row">3</at>
62
                <at name="colspan">1</at>
63
                <at name="rowspan">1</at>
64
                <at name="halign">default</at>
65
                <at name="valign">default</at>
66
                <at name="insets" object="insets">0,0,0,0</at>
67
               </object>
68
              </at>
69
              <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
70
             </super>
71
             <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
72
             <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
73
             <at name="beanproperties">
74
              <object classname="com.jeta.forms.store.memento.PropertiesMemento">
75
               <at name="classname">com.jeta.forms.components.label.JETALabel</at>
76
               <at name="properties">
77
                <object classname="com.jeta.forms.store.support.PropertyMap">
78
                 <at name="border">
79
                  <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
80
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
81
                    <at name="name">border</at>
82
                   </super>
83
                   <at name="borders">
84
                    <object classname="java.util.LinkedList">
85
                     <item >
86
                      <at name="value">
87
                       <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
88
                        <super classname="com.jeta.forms.store.properties.BorderProperty">
89
                         <at name="name">border</at>
90
                        </super>
91
                       </object>
92
                      </at>
93
                     </item>
94
                    </object>
95
                   </at>
96
                  </object>
97
                 </at>
98
                 <at name="name">lblPort</at>
99
                 <at name="width">78</at>
100
                 <at name="text">_Port</at>
101
                 <at name="fill">
102
                  <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
103
                   <at name="name">fill</at>
104
                  </object>
105
                 </at>
106
                 <at name="height">15</at>
107
                </object>
108
               </at>
109
              </object>
110
             </at>
111
            </object>
112
           </at>
113
          </item>
114
          <item >
115
           <at name="value">
116
            <object classname="com.jeta.forms.store.memento.BeanMemento">
117
             <super classname="com.jeta.forms.store.memento.ComponentMemento">
118
              <at name="cellconstraints">
119
               <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
120
                <at name="column">3</at>
121
                <at name="row">3</at>
122
                <at name="colspan">3</at>
123
                <at name="rowspan">1</at>
124
                <at name="halign">default</at>
125
                <at name="valign">default</at>
126
                <at name="insets" object="insets">0,0,0,0</at>
127
               </object>
128
              </at>
129
              <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
130
             </super>
131
             <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
132
             <at name="beanclass">javax.swing.JTextField</at>
133
             <at name="beanproperties">
134
              <object classname="com.jeta.forms.store.memento.PropertiesMemento">
135
               <at name="classname">javax.swing.JTextField</at>
136
               <at name="properties">
137
                <object classname="com.jeta.forms.store.support.PropertyMap">
138
                 <at name="border">
139
                  <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
140
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
141
                    <at name="name">border</at>
142
                   </super>
143
                   <at name="borders">
144
                    <object classname="java.util.LinkedList">
145
                     <item >
146
                      <at name="value">
147
                       <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
148
                        <super classname="com.jeta.forms.store.properties.BorderProperty">
149
                         <at name="name">border</at>
150
                        </super>
151
                       </object>
152
                      </at>
153
                     </item>
154
                    </object>
155
                   </at>
156
                  </object>
157
                 </at>
158
                 <at name="horizontalAlignment">4</at>
159
                 <at name="name">txtPort</at>
160
                 <at name="width">754</at>
161
                 <at name="height">19</at>
162
                </object>
163
               </at>
164
              </object>
165
             </at>
166
            </object>
167
           </at>
168
          </item>
169
          <item >
170
           <at name="value">
171
            <object classname="com.jeta.forms.store.memento.BeanMemento">
172
             <super classname="com.jeta.forms.store.memento.ComponentMemento">
173
              <at name="cellconstraints">
174
               <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
175
                <at name="column">1</at>
176
                <at name="row">5</at>
177
                <at name="colspan">1</at>
178
                <at name="rowspan">1</at>
179
                <at name="halign">default</at>
180
                <at name="valign">default</at>
181
                <at name="insets" object="insets">0,0,0,0</at>
182
               </object>
183
              </at>
184
              <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
185
             </super>
186
             <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
187
             <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
188
             <at name="beanproperties">
189
              <object classname="com.jeta.forms.store.memento.PropertiesMemento">
190
               <at name="classname">com.jeta.forms.components.label.JETALabel</at>
191
               <at name="properties">
192
                <object classname="com.jeta.forms.store.support.PropertyMap">
193
                 <at name="border">
194
                  <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
195
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
196
                    <at name="name">border</at>
197
                   </super>
198
                   <at name="borders">
199
                    <object classname="java.util.LinkedList">
200
                     <item >
201
                      <at name="value">
202
                       <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
203
                        <super classname="com.jeta.forms.store.properties.BorderProperty">
204
                         <at name="name">border</at>
205
                        </super>
206
                       </object>
207
                      </at>
208
                     </item>
209
                    </object>
210
                   </at>
211
                  </object>
212
                 </at>
213
                 <at name="name">lblMessages</at>
214
                 <at name="width">78</at>
215
                 <at name="text">_Messages</at>
216
                 <at name="fill">
217
                  <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
218
                   <at name="name">fill</at>
219
                  </object>
220
                 </at>
221
                 <at name="height">15</at>
222
                </object>
223
               </at>
224
              </object>
225
             </at>
226
            </object>
227
           </at>
228
          </item>
229
          <item >
230
           <at name="value">
231
            <object classname="com.jeta.forms.store.memento.BeanMemento">
232
             <super classname="com.jeta.forms.store.memento.ComponentMemento">
233
              <at name="cellconstraints">
234
               <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
235
                <at name="column">1</at>
236
                <at name="row">7</at>
237
                <at name="colspan">5</at>
238
                <at name="rowspan">1</at>
239
                <at name="halign">default</at>
240
                <at name="valign">default</at>
241
                <at name="insets" object="insets">0,0,0,0</at>
242
               </object>
243
              </at>
244
              <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
245
             </super>
246
             <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
247
             <at name="beanclass">javax.swing.JTextArea</at>
248
             <at name="beanproperties">
249
              <object classname="com.jeta.forms.store.memento.PropertiesMemento">
250
               <at name="classname">javax.swing.JTextArea</at>
251
               <at name="properties">
252
                <object classname="com.jeta.forms.store.support.PropertyMap">
253
                 <at name="border">
254
                  <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
255
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
256
                    <at name="name">border</at>
257
                   </super>
258
                   <at name="borders">
259
                    <object classname="java.util.LinkedList">
260
                     <item >
261
                      <at name="value">
262
                       <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
263
                        <super classname="com.jeta.forms.store.properties.BorderProperty">
264
                         <at name="name">border</at>
265
                        </super>
266
                       </object>
267
                      </at>
268
                     </item>
269
                    </object>
270
                   </at>
271
                  </object>
272
                 </at>
273
                 <at name="scrollableTracksViewportHeight">true</at>
274
                 <at name="scrollableTracksViewportWidth">true</at>
275
                 <at name="name">txtLog</at>
276
                 <at name="width">849</at>
277
                 <at name="scollBars">
278
                  <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
279
                   <at name="name">scollBars</at>
280
                   <at name="verticalpolicy">20</at>
281
                   <at name="horizontalpolicy">30</at>
282
                   <at name="border">
283
                    <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
284
                     <super classname="com.jeta.forms.store.properties.BorderProperty">
285
                      <at name="name">border</at>
286
                     </super>
287
                     <at name="borders">
288
                      <object classname="java.util.LinkedList">
289
                       <item >
290
                        <at name="value">
291
                         <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
292
                          <super classname="com.jeta.forms.store.properties.BorderProperty">
293
                           <at name="name">border</at>
294
                          </super>
295
                         </object>
296
                        </at>
297
                       </item>
298
                      </object>
299
                     </at>
300
                    </object>
301
                   </at>
302
                  </object>
303
                 </at>
304
                 <at name="height">319</at>
305
                </object>
306
               </at>
307
              </object>
308
             </at>
309
            </object>
310
           </at>
311
          </item>
312
          <item >
313
           <at name="value">
314
            <object classname="com.jeta.forms.store.memento.BeanMemento">
315
             <super classname="com.jeta.forms.store.memento.ComponentMemento">
316
              <at name="cellconstraints">
317
               <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
318
                <at name="column">1</at>
319
                <at name="row">1</at>
320
                <at name="colspan">1</at>
321
                <at name="rowspan">1</at>
322
                <at name="halign">default</at>
323
                <at name="valign">default</at>
324
                <at name="insets" object="insets">0,0,0,0</at>
325
               </object>
326
              </at>
327
              <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
328
             </super>
329
             <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
330
             <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
331
             <at name="beanproperties">
332
              <object classname="com.jeta.forms.store.memento.PropertiesMemento">
333
               <at name="classname">com.jeta.forms.components.label.JETALabel</at>
334
               <at name="properties">
335
                <object classname="com.jeta.forms.store.support.PropertyMap">
336
                 <at name="border">
337
                  <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
338
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
339
                    <at name="name">border</at>
340
                   </super>
341
                   <at name="borders">
342
                    <object classname="java.util.LinkedList">
343
                     <item >
344
                      <at name="value">
345
                       <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
346
                        <super classname="com.jeta.forms.store.properties.BorderProperty">
347
                         <at name="name">border</at>
348
                        </super>
349
                       </object>
350
                      </at>
351
                     </item>
352
                    </object>
353
                   </at>
354
                  </object>
355
                 </at>
356
                 <at name="name">lblDatabase</at>
357
                 <at name="width">78</at>
358
                 <at name="text">_Database</at>
359
                 <at name="fill">
360
                  <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
361
                   <at name="name">fill</at>
362
                  </object>
363
                 </at>
364
                 <at name="height">15</at>
365
                </object>
366
               </at>
367
              </object>
368
             </at>
369
            </object>
370
           </at>
371
          </item>
372
          <item >
373
           <at name="value">
374
            <object classname="com.jeta.forms.store.memento.FormMemento">
375
             <super classname="com.jeta.forms.store.memento.ComponentMemento">
376
              <at name="cellconstraints">
377
               <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
378
                <at name="column">1</at>
379
                <at name="row">9</at>
380
                <at name="colspan">5</at>
381
                <at name="rowspan">1</at>
382
                <at name="halign">default</at>
383
                <at name="valign">default</at>
384
                <at name="insets" object="insets">0,0,0,0</at>
385
               </object>
386
              </at>
387
              <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
388
             </super>
389
             <at name="id">embedded.841030072</at>
390
             <at name="rowspecs">CENTER:DEFAULT:NONE</at>
391
             <at name="colspecs">FILL:DEFAULT:GROW(1.0),FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE</at>
392
             <at name="components">
393
              <object classname="java.util.LinkedList">
394
               <item >
395
                <at name="value">
396
                 <object classname="com.jeta.forms.store.memento.BeanMemento">
397
                  <super classname="com.jeta.forms.store.memento.ComponentMemento">
398
                   <at name="cellconstraints">
399
                    <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
400
                     <at name="column">6</at>
401
                     <at name="row">1</at>
402
                     <at name="colspan">1</at>
403
                     <at name="rowspan">1</at>
404
                     <at name="halign">default</at>
405
                     <at name="valign">default</at>
406
                     <at name="insets" object="insets">0,0,0,0</at>
407
                    </object>
408
                   </at>
409
                   <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
410
                  </super>
411
                  <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
412
                  <at name="beanclass">javax.swing.JButton</at>
413
                  <at name="beanproperties">
414
                   <object classname="com.jeta.forms.store.memento.PropertiesMemento">
415
                    <at name="classname">javax.swing.JButton</at>
416
                    <at name="properties">
417
                     <object classname="com.jeta.forms.store.support.PropertyMap">
418
                      <at name="border">
419
                       <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
420
                        <super classname="com.jeta.forms.store.properties.BorderProperty">
421
                         <at name="name">border</at>
422
                        </super>
423
                        <at name="borders">
424
                         <object classname="java.util.LinkedList">
425
                          <item >
426
                           <at name="value">
427
                            <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
428
                             <super classname="com.jeta.forms.store.properties.BorderProperty">
429
                              <at name="name">border</at>
430
                             </super>
431
                            </object>
432
                           </at>
433
                          </item>
434
                         </object>
435
                        </at>
436
                       </object>
437
                      </at>
438
                      <at name="actionCommand">Stop</at>
439
                      <at name="opaque">false</at>
440
                      <at name="icon">
441
                       <object classname="com.jeta.forms.store.properties.IconProperty">
442
                        <at name="embedded">false</at>
443
                        <at name="path">datos/devel/org.gvsig.vcsgis/org.gvsig.vcsgis.app/org.gvsig.vcsgis.app.server/src/main/resources-plugin/images/action/tools-vcsgis-server-stop.png</at>
444
                        <at name="description">tools-vcsgis-server-stop.png</at>
445
                        <at name="width">16</at>
446
                        <at name="height">16</at>
447
                       </object>
448
                      </at>
449
                      <at name="name">btnStop</at>
450
                      <at name="width">93</at>
451
                      <at name="text">_Stop</at>
452
                      <at name="toolTipText">_Stop_the_data_service</at>
453
                      <at name="height">26</at>
454
                     </object>
455
                    </at>
456
                   </object>
457
                  </at>
458
                 </object>
459
                </at>
460
               </item>
461
               <item >
462
                <at name="value">
463
                 <object classname="com.jeta.forms.store.memento.BeanMemento">
464
                  <super classname="com.jeta.forms.store.memento.ComponentMemento">
465
                   <at name="cellconstraints">
466
                    <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
467
                     <at name="column">4</at>
468
                     <at name="row">1</at>
469
                     <at name="colspan">1</at>
470
                     <at name="rowspan">1</at>
471
                     <at name="halign">default</at>
472
                     <at name="valign">default</at>
473
                     <at name="insets" object="insets">0,0,0,0</at>
474
                    </object>
475
                   </at>
476
                   <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
477
                  </super>
478
                  <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
479
                  <at name="beanclass">javax.swing.JButton</at>
480
                  <at name="beanproperties">
481
                   <object classname="com.jeta.forms.store.memento.PropertiesMemento">
482
                    <at name="classname">javax.swing.JButton</at>
483
                    <at name="properties">
484
                     <object classname="com.jeta.forms.store.support.PropertyMap">
485
                      <at name="border">
486
                       <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
487
                        <super classname="com.jeta.forms.store.properties.BorderProperty">
488
                         <at name="name">border</at>
489
                        </super>
490
                        <at name="borders">
491
                         <object classname="java.util.LinkedList">
492
                          <item >
493
                           <at name="value">
494
                            <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
495
                             <super classname="com.jeta.forms.store.properties.BorderProperty">
496
                              <at name="name">border</at>
497
                             </super>
498
                            </object>
499
                           </at>
500
                          </item>
501
                         </object>
502
                        </at>
503
                       </object>
504
                      </at>
505
                      <at name="actionCommand">Restart</at>
506
                      <at name="opaque">false</at>
507
                      <at name="icon">
508
                       <object classname="com.jeta.forms.store.properties.IconProperty">
509
                        <at name="embedded">false</at>
510
                        <at name="path">datos/devel/org.gvsig.vcsgis/org.gvsig.vcsgis.app/org.gvsig.vcsgis.app.server/src/main/resources-plugin/images/action/tools-vcsgis-server-restart.png</at>
511
                        <at name="description">tools-vcsgis-server-restart.png</at>
512
                        <at name="width">16</at>
513
                        <at name="height">16</at>
514
                       </object>
515
                      </at>
516
                      <at name="name">btnRestart</at>
517
                      <at name="width">113</at>
518
                      <at name="text">_Restart</at>
519
                      <at name="toolTipText">_Restart_the_data_service</at>
520
                      <at name="height">26</at>
521
                     </object>
522
                    </at>
523
                   </object>
524
                  </at>
525
                 </object>
526
                </at>
527
               </item>
528
              </object>
529
             </at>
530
             <at name="properties">
531
              <object classname="com.jeta.forms.store.memento.PropertiesMemento">
532
               <at name="classname">com.jeta.forms.gui.form.GridView</at>
533
               <at name="properties">
534
                <object classname="com.jeta.forms.store.support.PropertyMap">
535
                 <at name="border">
536
                  <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
537
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
538
                    <at name="name">border</at>
539
                   </super>
540
                   <at name="borders">
541
                    <object classname="java.util.LinkedList"/>
542
                   </at>
543
                  </object>
544
                 </at>
545
                 <at name="name"/>
546
                 <at name="fill">
547
                  <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
548
                   <at name="name">fill</at>
549
                  </object>
550
                 </at>
551
                 <at name="scollBars">
552
                  <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
553
                   <at name="name">scollBars</at>
554
                   <at name="verticalpolicy">21</at>
555
                   <at name="horizontalpolicy">31</at>
556
                   <at name="border">
557
                    <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
558
                     <super classname="com.jeta.forms.store.properties.BorderProperty">
559
                      <at name="name">border</at>
560
                     </super>
561
                     <at name="borders">
562
                      <object classname="java.util.LinkedList">
563
                       <item >
564
                        <at name="value">
565
                         <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
566
                          <super classname="com.jeta.forms.store.properties.BorderProperty">
567
                           <at name="name">border</at>
568
                          </super>
569
                         </object>
570
                        </at>
571
                       </item>
572
                      </object>
573
                     </at>
574
                    </object>
575
                   </at>
576
                  </object>
577
                 </at>
578
                </object>
579
               </at>
580
              </object>
581
             </at>
582
             <at name="cellpainters">
583
              <object classname="com.jeta.forms.store.support.Matrix">
584
               <at name="rows">
585
                <object classname="[Ljava.lang.Object;" size="1">
586
                 <at name="item" index="0">
587
                  <object classname="[Ljava.lang.Object;" size="6"/>
588
                 </at>
589
                </object>
590
               </at>
591
              </object>
592
             </at>
593
             <at name="rowgroups">
594
              <object classname="com.jeta.forms.store.memento.FormGroupSet">
595
               <at name="groups">
596
                <object classname="java.util.HashMap"/>
597
               </at>
598
              </object>
599
             </at>
600
             <at name="colgroups">
601
              <object classname="com.jeta.forms.store.memento.FormGroupSet">
602
               <at name="groups">
603
                <object classname="java.util.HashMap"/>
604
               </at>
605
              </object>
606
             </at>
607
            </object>
608
           </at>
609
          </item>
610
          <item >
611
           <at name="value">
612
            <object classname="com.jeta.forms.store.memento.BeanMemento">
613
             <super classname="com.jeta.forms.store.memento.ComponentMemento">
614
              <at name="cellconstraints">
615
               <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
616
                <at name="column">5</at>
617
                <at name="row">1</at>
618
                <at name="colspan">1</at>
619
                <at name="rowspan">1</at>
620
                <at name="halign">default</at>
621
                <at name="valign">default</at>
622
                <at name="insets" object="insets">0,0,0,0</at>
623
               </object>
624
              </at>
625
              <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
626
             </super>
627
             <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
628
             <at name="beanclass">javax.swing.JButton</at>
629
             <at name="beanproperties">
630
              <object classname="com.jeta.forms.store.memento.PropertiesMemento">
631
               <at name="classname">javax.swing.JButton</at>
632
               <at name="properties">
633
                <object classname="com.jeta.forms.store.support.PropertyMap">
634
                 <at name="border">
635
                  <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
636
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
637
                    <at name="name">border</at>
638
                   </super>
639
                   <at name="borders">
640
                    <object classname="java.util.LinkedList">
641
                     <item >
642
                      <at name="value">
643
                       <object classname="com.jeta.forms.store.properties.EmptyBorderProperty">
644
                        <super classname="com.jeta.forms.store.properties.BorderProperty">
645
                         <at name="name">border</at>
646
                        </super>
647
                        <at name="top">2</at>
648
                        <at name="left">2</at>
649
                        <at name="bottom">2</at>
650
                        <at name="right">2</at>
651
                       </object>
652
                      </at>
653
                     </item>
654
                    </object>
655
                   </at>
656
                  </object>
657
                 </at>
658
                 <at name="actionCommand">...</at>
659
                 <at name="opaque">false</at>
660
                 <at name="name">btnAddConnection</at>
661
                 <at name="width">19</at>
662
                 <at name="text">...</at>
663
                 <at name="height">19</at>
664
                </object>
665
               </at>
666
              </object>
667
             </at>
668
            </object>
669
           </at>
670
          </item>
671
          <item >
672
           <at name="value">
673
            <object classname="com.jeta.forms.store.memento.BeanMemento">
674
             <super classname="com.jeta.forms.store.memento.ComponentMemento">
675
              <at name="cellconstraints">
676
               <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
677
                <at name="column">3</at>
678
                <at name="row">1</at>
679
                <at name="colspan">1</at>
680
                <at name="rowspan">1</at>
681
                <at name="halign">default</at>
682
                <at name="valign">default</at>
683
                <at name="insets" object="insets">0,0,0,0</at>
684
               </object>
685
              </at>
686
              <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
687
             </super>
688
             <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
689
             <at name="beanclass">javax.swing.JComboBox</at>
690
             <at name="beanproperties">
691
              <object classname="com.jeta.forms.store.memento.PropertiesMemento">
692
               <at name="classname">javax.swing.JComboBox</at>
693
               <at name="properties">
694
                <object classname="com.jeta.forms.store.support.PropertyMap">
695
                 <at name="border">
696
                  <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
697
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
698
                    <at name="name">border</at>
699
                   </super>
700
                   <at name="borders">
701
                    <object classname="java.util.LinkedList">
702
                     <item >
703
                      <at name="value">
704
                       <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
705
                        <super classname="com.jeta.forms.store.properties.BorderProperty">
706
                         <at name="name">border</at>
707
                        </super>
708
                       </object>
709
                      </at>
710
                     </item>
711
                    </object>
712
                   </at>
713
                  </object>
714
                 </at>
715
                 <at name="opaque">false</at>
716
                 <at name="name">cboConnections</at>
717
                 <at name="width">722</at>
718
                 <at name="items">
719
                  <object classname="com.jeta.forms.store.properties.ItemsProperty">
720
                   <at name="name">items</at>
721
                  </object>
722
                 </at>
723
                 <at name="height">24</at>
724
                </object>
725
               </at>
726
              </object>
727
             </at>
728
            </object>
729
           </at>
730
          </item>
731
         </object>
732
        </at>
733
        <at name="properties">
734
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
735
          <at name="classname">com.jeta.forms.gui.form.GridView</at>
736
          <at name="properties">
737
           <object classname="com.jeta.forms.store.support.PropertyMap">
738
            <at name="border">
739
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
740
              <super classname="com.jeta.forms.store.properties.BorderProperty">
741
               <at name="name">border</at>
742
              </super>
743
              <at name="borders">
744
               <object classname="java.util.LinkedList"/>
745
              </at>
746
             </object>
747
            </at>
748
            <at name="name"/>
749
            <at name="fill">
750
             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
751
              <at name="name">fill</at>
752
             </object>
753
            </at>
754
            <at name="scollBars">
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff