Revision 37703

View differences:

tags/v2_0_0_Build_2043/applications/appCatalog/src/org/gvsig/catalog/utils/ImageRetriever.java
1
package org.gvsig.catalog.utils;
2

  
3
import java.awt.image.BufferedImage;
4
import java.io.File;
5
import java.io.IOException;
6
import java.net.MalformedURLException;
7
import java.net.URL;
8

  
9
import javax.imageio.ImageIO;
10

  
11
import org.gvsig.catalog.schemas.Record;
12

  
13

  
14
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
15
 *
16
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
17
 *
18
 * This program is free software; you can redistribute it and/or
19
 * modify it under the terms of the GNU General Public License
20
 * as published by the Free Software Foundation; either version 2
21
 * of the License, or (at your option) any later version.
22
 *
23
 * This program is distributed in the hope that it will be useful,
24
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
25
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
26
 * GNU General Public License for more details.
27
 *
28
 * You should have received a copy of the GNU General Public License
29
 * along with this program; if not, write to the Free Software
30
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
31
 *
32
 * For more information, contact:
33
 *
34
 *  Generalitat Valenciana
35
 *   Conselleria d'Infraestructures i Transport
36
 *   Av. Blasco Ib??ez, 50
37
 *   46010 VALENCIA
38
 *   SPAIN
39
 *
40
 *      +34 963862235
41
 *   gvsig@gva.es
42
 *      www.gvsig.gva.es
43
 *
44
 *    or
45
 *
46
 *   IVER T.I. S.A
47
 *   Salamanca 50
48
 *   46005 Valencia
49
 *   Spain
50
 *
51
 *   +34 963163400
52
 *   dac@iver.es
53
 */
54
/* CVS MESSAGES:
55
 *
56
 * $Id: ImageRetriever.java 600 2007-09-19 11:30:05 +0000 (Wed, 19 Sep 2007) jpiera $
57
 * $Log$
58
 * Revision 1.1.2.1  2007/07/24 09:45:52  jorpiell
59
 * Fix some interface bugs
60
 *
61
 *
62
 */
63
/**
64
 * @author Jorge Piera LLodr? (jorge.piera@iver.es)
65
 */
66
public class ImageRetriever {
67
	private static File defaultFile = new File("images/IcoRecord.png");
68
	
69
	public static BufferedImage getImageUrl(Record record) {        
70
		BufferedImage img = null;
71
		String imageURL = record.getImageURL();
72
		
73
		//Normal Procedure       
74
		img = getImage(imageURL);
75
		if (img != null){
76
			record.setImage(img);
77
			return img;
78
		}
79
		
80
		try {
81
			return ImageIO.read(defaultFile);
82
		} catch (IOException e2) {
83
			System.out.println("Default image cant be loaded");
84
			return null;
85
		}  
86
	}
87

  
88
	/**
89
	 * It gets an image from a URL
90
	 * 
91
	 * 
92
	 * @return 
93
	 * @param sUrl String with the image URL
94
	 */
95
	protected static BufferedImage getImage(String sUrl) {        
96
		try {
97
			URL Url = new URL(sUrl);
98
			return ImageIO.read(Url);
99
		} catch (MalformedURLException e) {
100
			System.out.println("The image URL is not valid: " + sUrl);
101
		} catch (IOException e1) {			
102
			System.out.println("The image cant be loaded: " + sUrl);
103
		}
104
		return null;
105
	} 
106
}
0 107

  
tags/v2_0_0_Build_2043/applications/appCatalog/src/org/gvsig/catalog/utils/DateTime.java
1

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

  
48
/**
49
 * This class contains static methods to manage Dates. It was principally 
50
 * created because of some problems doing the "String do DateTime" 
51
 * and the "DateTime to String" conversions.  
52
 * 
53
 * @author Jorge Piera Llodr? (piera_jor@gva.es)
54
 */
55
public class DateTime {
56

  
57
/**
58
 * returns the current date
59
 * 
60
 * 
61
 * @return java.util.Date
62
 */
63
    public static Date getCurrentDate() {        
64
        Calendar cal = new GregorianCalendar();
65
 
66
        return cal.getTime();
67
    } 
68

  
69
/**
70
 * It trnasforms one date in one String
71
 * 
72
 * 
73
 * @return A String
74
 * @param dtK Date
75
 * @param sFormat Date format. Example: "Y-m-d H:i:s.Z";
76
 */
77
    public static String dateToString(Date dtK, String sFormat) {        
78
        String sDate;
79
        int nYear;
80
        int nMonth;
81
        int nDay;
82
        int nHour;
83
        int nMinute;
84
        int nSecond;
85
        int nMS;
86
        Calendar clnK;
87
        String sf;
88
        int jc;
89
        clnK = Calendar.getInstance(Locale.US);
90
        clnK.setTime(dtK);
91
        nYear = clnK.get(Calendar.YEAR);
92
        nMonth = 1 + clnK.get(Calendar.MONTH);
93
        nDay = clnK.get(Calendar.DAY_OF_MONTH);
94
        nHour = clnK.get(Calendar.HOUR_OF_DAY);
95
        nMinute = clnK.get(Calendar.MINUTE);
96
        nSecond = clnK.get(Calendar.SECOND);
97
        nMS = clnK.get(Calendar.MILLISECOND);
98
        sDate = "";
99
        for (jc = 0; jc < sFormat.length(); jc++) {
100
            switch (sFormat.charAt(jc)) {
101
                case 'Y':
102
                    sDate += nYear;
103
                    break;
104
                case 'm':
105
                    sf = "" + nMonth;
106
                    if (nMonth < 10) {
107
                        sf = "0" + sf;
108
                    }
109
                    sDate += sf;
110
                    break;
111
                case 'd':
112
                    sf = "" + nDay;
113
                    if (nDay < 10) {
114
                        sf = "0" + sf;
115
                    }
116
                    sDate += sf;
117
                    break;
118
                case 'H':
119
                    sf = "" + nHour;
120
                    if (nHour < 10) {
121
                        sf = "0" + sf;
122
                    }
123
                    sDate += sf;
124
                    break;
125
                case 'i':
126
                    sf = "" + nMinute;
127
                    if (nMinute < 10) {
128
                        sf = "0" + sf;
129
                    }
130
                    sDate += sf;
131
                    break;
132
                case 's':
133
                    sf = "" + nSecond;
134
                    if (nSecond < 10) {
135
                        sf = "0" + sf;
136
                    }
137
                    sDate += sf;
138
                    break;
139
                case 'Z':
140
                    sf = "" + nMS;
141
                    if (nMS < 10) {
142
                        sf = "0" + sf;
143
                    }
144
                    sDate += sf;
145
                    break;
146
                default:
147
                    sDate += sFormat.substring(jc, jc + 1);
148
            }
149
        }
150
        return sDate;
151
    } 
152
   
153
/**
154
 * It transfoms one String in one Date
155
 * 
156
 * 
157
 * @return Date
158
 * @param sDate String
159
 */
160
    public static Date stringToDate(String sDate) {        
161
        Date dtRes;
162
        Calendar clnK;
163
        int nYear;
164
        int nMonth;
165
        int nDay;
166
        int nHour;
167
        int nMinute;
168
        int nSecond;
169
        int nMS;
170
        String sf;
171
        for (; sDate.length() < 23;)
172
            sDate += "0";
173
        sf = sDate.substring(0, 4);
174
        nYear = Integer.parseInt(sf);
175
        sf = sDate.substring(5, 7);
176
        nMonth = Integer.parseInt(sf) - 1;
177
        sf = sDate.substring(8, 10);
178
        nDay = Integer.parseInt(sf);
179
        sf = sDate.substring(11, 13);
180
        nHour = Integer.parseInt(sf);
181
        sf = sDate.substring(14, 16);
182
        nMinute = Integer.parseInt(sf);
183
        sf = sDate.substring(17, 19);
184
        nSecond = Integer.parseInt(sf);
185
        sf = sDate.substring(20, 23);
186
        nMS = Integer.parseInt(sf);
187
        clnK = Calendar.getInstance(Locale.US);
188
        clnK.set(nYear, nMonth, nDay, nHour, nMinute, nSecond);
189
        clnK.set(Calendar.MILLISECOND, nMS);
190
        dtRes = new Date();
191
        dtRes = clnK.getTime();
192
        //	    sf=dateToString(dtRes,"Y-m-d H:i:s.Z");
193
        return dtRes;
194
    } 
195
 }
0 196

  
tags/v2_0_0_Build_2043/applications/appCatalog/src/org/gvsig/catalog/utils/Doubles.java
1

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

  
44
/**
45
 * This class has functions to work with Double's
46
 * 
47
 * 
48
 * @author Jorge Piera Llodra (piera_jor@gva.es)
49
 */
50
public class Doubles {
51

  
52
/**
53
 * This function returns a String that represents a double with just 5 decimal
54
 * numbers.
55
 * 
56
 * 
57
 * @return 
58
 * @param number Double (like a String)
59
 */
60
    public static String get5Decimals(String number) {        
61
       String parsedValue = null;
62
       if (number.indexOf(".") >= 0){
63
           int pointPosition = number.indexOf(".");
64
           parsedValue = number.substring(0,pointPosition) + ".";
65
           if (number.substring(pointPosition,number.length()).length() > 5){
66
               return parsedValue + number.substring(pointPosition + 1, pointPosition + 6);
67
           }else{
68
               System.out.println(number);
69
               return parsedValue + number.substring(pointPosition + 1, number.length());
70
           }
71
       } else {
72
           return number;
73
       }
74
       
75
     
76
    } 
77
 }
0 78

  
tags/v2_0_0_Build_2043/applications/appCatalog/src/org/gvsig/catalog/utils/Frames.java
1

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

  
46
import javax.swing.JDialog;
47
import javax.swing.JFrame;
48

  
49
/**
50
 * 
51
 * 
52
 * 
53
 * @author Jorge Piera Llodra (piera_jor@gva.es)
54
 */
55
public class Frames {
56

  
57
/**
58
 * Sets a JFrame on the screen center
59
 * 
60
 * 
61
 * @param frame JFrams
62
 * @param width Frame width
63
 * @param height Frame height
64
 */
65
    public static void centerFrame(JFrame frame, int width, int height) {        
66
        Point p = getWindowCenter(width,height);
67
        frame.setBounds(p.x, p.y, width, height);
68
        frame.validate();
69
    } 
70

  
71
/**
72
 * Sets a JDialog on the screen center
73
 * 
74
 * 
75
 * @param dialog JDilog
76
 * @param width Dilaog width
77
 * @param height Dialog height
78
 */
79
    public static void centerFrame(JDialog dialog, int width, int height) {        
80
        Point p = getWindowCenter(width,height);
81
        dialog.setBounds(p.x, p.y, width, height);
82
        dialog.validate();
83
    } 
84

  
85
/**
86
 * Sets a JDialog on the upper rigth corner
87
 * 
88
 * 
89
 * @param dialog JDilog
90
 * @param width Dilaog width
91
 * @param height Dialog height
92
 */
93
    public static void searchDialogPosition(JDialog dialog, int width, int height) {        
94
        Point p = getWindowCenter(width,height);
95
        int x = new Double(p.x * 2).intValue();
96
        int y = new Double(p.y *         0.25).intValue();
97
        dialog.setBounds(x, y, width, height);
98
        dialog.validate();
99
    } 
100

  
101
/**
102
 * It returns the screen center
103
 * 
104
 * 
105
 * @return 
106
 */
107
    private static Point getCenter() {        
108
        GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
109
        return ge.getCenterPoint();
110
    } 
111

  
112
/**
113
 * It returns the point to center a frame
114
 * 
115
 * 
116
 * @return 
117
 * @param width Frame width
118
 * @param height Frame height
119
 */
120
    private static Point getWindowCenter(int width, int height) {        
121
        Point center = getCenter();
122
        center.x = center.x - (width / 2);
123
        center.y = center.y - (height / 2);
124
        return center;
125
    } 
126
 }
0 127

  
tags/v2_0_0_Build_2043/applications/appCatalog/src/org/gvsig/catalog/utils/URIUtils.java
1
package org.gvsig.catalog.utils;
2

  
3
import java.net.URI;
4
import java.net.URISyntaxException;
5

  
6
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
7
 *
8
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
9
 *
10
 * This program is free software; you can redistribute it and/or
11
 * modify it under the terms of the GNU General Public License
12
 * as published by the Free Software Foundation; either version 2
13
 * of the License, or (at your option) any later version.
14
 *
15
 * This program is distributed in the hope that it will be useful,
16
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18
 * GNU General Public License for more details.
19
 *
20
 * You should have received a copy of the GNU General Public License
21
 * along with this program; if not, write to the Free Software
22
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
23
 *
24
 * For more information, contact:
25
 *
26
 *  Generalitat Valenciana
27
 *   Conselleria d'Infraestructures i Transport
28
 *   Av. Blasco Ib??ez, 50
29
 *   46010 VALENCIA
30
 *   SPAIN
31
 *
32
 *      +34 963862235
33
 *   gvsig@gva.es
34
 *      www.gvsig.gva.es
35
 *
36
 *    or
37
 *
38
 *   IVER T.I. S.A
39
 *   Salamanca 50
40
 *   46005 Valencia
41
 *   Spain
42
 *
43
 *   +34 963163400
44
 *   dac@iver.es
45
 */
46
/* CVS MESSAGES:
47
 *
48
 * $Id: URIUtils.java 561 2007-07-27 06:49:30 +0000 (Fri, 27 Jul 2007) jpiera $
49
 * $Log$
50
 * Revision 1.1.2.1  2007/07/10 11:18:04  jorpiell
51
 * Added the registers
52
 *
53
 *
54
 */
55
/**
56
 * Some utils to manage URI's
57
 * @author Jorge Piera LLodr? (jorge.piera@iver.es)
58
 */
59
public class URIUtils {
60
	
61
	/**
62
	 * It creates an URI from a String. If the port and the schema
63
	 * have not been especified on the string this method
64
	 * adds them
65
	 * @param sUri
66
	 * The uri like a string
67
	 * @param defaultSchema
68
	 * The deafulet schema
69
	 * @param deafultPort
70
	 * The default port
71
	 * @return
72
	 * An uri
73
	 * @throws URISyntaxException 
74
	 */
75
	public static URI createUri(String sUri, String defaultSchema, int deafultPort) throws URISyntaxException{
76
		String schema = defaultSchema;
77
		String host = null;
78
		int port = deafultPort;
79
		String path = "";
80
		//Cut the schema
81
		int index = sUri.indexOf("://");
82
		if (index > -1){
83
			schema = sUri.substring(0,index);
84
			sUri = sUri.substring(index + 3, sUri.length());
85
		}
86
		//Cut the path
87
		index = sUri.indexOf("/");
88
		if (index > -1){
89
			path = sUri.substring(index, sUri.length());
90
			sUri = sUri.substring(0,index);			
91
		}
92
		//Cut the host:port
93
		index = sUri.indexOf(":");
94
		if (index > -1){
95
			host = sUri.substring(0,index);
96
			port = Integer.valueOf(sUri.substring(index + 1, sUri.length())).intValue();
97
		}else{
98
			host = sUri;			
99
		}
100
		return new URI(schema + "://" + host + ":" + port + path);
101
	}
102

  
103
}
0 104

  
tags/v2_0_0_Build_2043/applications/appCatalog/src/org/gvsig/catalog/utils/resourcestable/ButtonEditor.java
1

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

  
48
import javax.swing.DefaultCellEditor;
49
import javax.swing.JButton;
50
import javax.swing.JCheckBox;
51
import javax.swing.JTable;
52

  
53
import org.gvsig.catalog.schemas.Resource;
54
import org.gvsig.catalog.ui.chooseresource.ChooseResourceDialogPanel;
55

  
56

  
57
/**
58
 * 
59
 * 
60
 * 
61
 * @author Jorge Piera Llodra (piera_jor@gva.es)
62
 */
63
public class ButtonEditor extends DefaultCellEditor {
64
/**
65
 * 
66
 * 
67
 */
68
    protected JButton button;
69

  
70
/**
71
 * 
72
 * 
73
 */
74
    private String label;
75

  
76
/**
77
 * 
78
 * 
79
 */
80
    private boolean isPushed;
81
/**
82
 * 
83
 * 
84
 */
85
    private ChooseResourceDialogPanel dialog;
86

  
87
/**
88
 * 
89
 * 
90
 */
91
    private java.util.Collection resources = new java.util.ArrayList();
92

  
93
/**
94
 * 
95
 * 
96
 * 
97
 * @param checkBox 
98
 * @param resources 
99
 * @param dialog 
100
 */
101
    public  ButtonEditor(JCheckBox checkBox, Collection resources, ChooseResourceDialogPanel dialog) {        
102
      super(checkBox);
103
      this.resources = resources;
104
      this.dialog = dialog;
105
      button = new JButton();
106
      button.setOpaque(true);
107
      button.addActionListener(new ActionListener() {
108
        public void actionPerformed(ActionEvent e) {
109
          fireEditingStopped();
110
        }
111
      });
112
    } 
113

  
114
/**
115
 * 
116
 * 
117
 * 
118
 * @return 
119
 * @param table 
120
 * @param value 
121
 * @param isSelected 
122
 * @param row 
123
 * @param column 
124
 */
125
    public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {        
126
      if (isSelected) {
127
        button.setForeground(table.getSelectionForeground());
128
        button.setBackground(table.getSelectionBackground());
129
      } else{
130
        button.setForeground(table.getForeground());
131
        button.setBackground(table.getBackground());
132
      }
133
      label = (value == null) ? "" : value.toString();
134
      button.setText( label );
135
      button.setName(String.valueOf(row));
136
      isPushed = true;
137
      return button;
138
    } 
139

  
140
/**
141
 * 
142
 * 
143
 * 
144
 * @return 
145
 */
146
    public Object getCellEditorValue() {        
147
      if (isPushed)  {
148
        Resource resource = (Resource)resources.toArray()[Integer.valueOf(button.getName()).intValue()];
149
        this.dialog.resourceButtonActionPerformed(resource);
150
        
151
      }
152
      isPushed = false;
153
      return new String(label) ;
154
    } 
155

  
156
/**
157
 * 
158
 * 
159
 * 
160
 * @return 
161
 */
162
    public boolean stopCellEditing() {        
163
      isPushed = false;
164
      return super.stopCellEditing();
165
    } 
166

  
167
/**
168
 * 
169
 * 
170
 */
171
    protected void fireEditingStopped() {        
172
      super.fireEditingStopped();
173
    } 
174
 }
0 175

  
tags/v2_0_0_Build_2043/applications/appCatalog/src/org/gvsig/catalog/utils/resourcestable/ButtonRenderer.java
1

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

  
45
import javax.swing.JButton;
46
import javax.swing.JTable;
47
import javax.swing.UIManager;
48
import javax.swing.table.TableCellRenderer;
49

  
50
/**
51
 * 
52
 * 
53
 * 
54
 * @author Jorge Piera Llodra (piera_jor@gva.es)
55
 */
56
public class ButtonRenderer extends JButton implements TableCellRenderer {
57

  
58
/**
59
 * 
60
 * 
61
 */
62
    public  ButtonRenderer() {        
63
      setOpaque(true);
64
    } 
65

  
66
/**
67
 * 
68
 * 
69
 * 
70
 * @return 
71
 * @param table 
72
 * @param value 
73
 * @param isSelected 
74
 * @param hasFocus 
75
 * @param row 
76
 * @param column 
77
 */
78
    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {        
79
      if (isSelected) {
80
        setForeground(table.getSelectionForeground());
81
        setBackground(table.getSelectionBackground());
82
      } else{
83
        setForeground(table.getForeground());
84
        setBackground(UIManager.getColor("Button.background"));
85
      }
86
      setText( (value ==null) ? "" : value.toString() );
87
      return this;
88
    } 
89
 }
0 90

  
tags/v2_0_0_Build_2043/applications/appCatalog/src/org/gvsig/catalog/utils/resourcestable/TableModel.java
1

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

  
45
/**
46
 * 
47
 * 
48
 * 
49
 * @author Jorge Piera Llodra (piera_jor@gva.es)
50
 */
51
public class TableModel extends DefaultTableModel {
52

  
53
/**
54
 * 
55
 * 
56
 * 
57
 * @param columnValues 
58
 * @param columnNames 
59
 */
60
    public  TableModel(Object[][] columnValues, String[] columnNames) {        
61
	    setDataVector(columnValues,columnNames);
62
	
63
    } 
64

  
65
/**
66
 * 
67
 * 
68
 * 
69
 * @return 
70
 * @param c 
71
 */
72
    public Class getColumnClass(int c) {        
73
        return getValueAt(0, c).getClass();
74
    } 
75
 }
0 76

  
tags/v2_0_0_Build_2043/applications/appCatalog/src/org/gvsig/catalog/utils/SOAPMessageParser.java
1

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

  
46
/**
47
 * This class is used to parse a SOAP message
48
 * 
49
 * 
50
 * @author Jorge Piera Llodra (piera_jor@gva.es)
51
 */
52
public class SOAPMessageParser {
53

  
54
/**
55
 * Cut the SOAP Head
56
 * 
57
 * 
58
 * @return A new node without the SOAP Head
59
 * @param node Node retreived
60
 */
61
    public static XMLNode cutHead(XMLNode node) {        
62
        XMLNode[] children = node.getSubnodes();
63
        for (int i = 0; i < node.getNumSubNodes(); i++)
64
            if (children[i].getName().equals("SOAP-ENV:Body")) {
65
                return children[i];
66
            }
67
        return null;
68
    } 
69

  
70
/**
71
 * Get the fault code (if it exists)
72
 * 
73
 * 
74
 * @return The Fault message or NULL
75
 * @param node The node retrieved
76
 */
77
    public static String getFault(XMLNode node) {        
78
        if (node == null) {
79
            return null;
80
        }
81
        node = cutHead(node);
82
        if (node.getName().equals("SOAP-ENV:Fault")) {
83
            return "FAULT-CODE = " +
84
            XMLTree.searchNodeValue(node, "faultcode") + "\nREASON = " +
85
            "Este error se produce normalmente cuando el " +
86
            "servidor no implementa la operacion getCapabilities";
87
        }
88
        //XMLTree.searchNodeValue(node,"faultstring");
89
        return null;
90
    } 
91
 }
0 92

  
tags/v2_0_0_Build_2043/applications/appCatalog/src/org/gvsig/catalog/utils/CatalogConstants.java
1
package org.gvsig.catalog.utils;
2

  
3
import java.awt.Dimension;
4

  
5
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
6
 *
7
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
8
 *
9
 * This program is free software; you can redistribute it and/or
10
 * modify it under the terms of the GNU General Public License
11
 * as published by the Free Software Foundation; either version 2
12
 * of the License, or (at your option) any later version.
13
 *
14
 * This program is distributed in the hope that it will be useful,
15
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17
 * GNU General Public License for more details.
18
 *
19
 * You should have received a copy of the GNU General Public License
20
 * along with this program; if not, write to the Free Software
21
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
22
 *
23
 * For more information, contact:
24
 *
25
 *  Generalitat Valenciana
26
 *   Conselleria d'Infraestructures i Transport
27
 *   Av. Blasco Ib??ez, 50
28
 *   46010 VALENCIA
29
 *   SPAIN
30
 *
31
 *      +34 963862235
32
 *   gvsig@gva.es
33
 *      www.gvsig.gva.es
34
 *
35
 *    or
36
 *
37
 *   IVER T.I. S.A
38
 *   Salamanca 50
39
 *   46005 Valencia
40
 *   Spain
41
 *
42
 *   +34 963163400
43
 *   dac@iver.es
44
 */
45
/* CVS MESSAGES:
46
 *
47
 * $Id: CatalogConstants.java 602 2007-09-24 11:55:02 +0000 (Mon, 24 Sep 2007) jpiera $
48
 * $Log$
49
 * Revision 1.1.2.4  2007/07/24 09:45:52  jorpiell
50
 * Fix some interface bugs
51
 *
52
 * Revision 1.1.2.3  2007/07/23 07:14:25  jorpiell
53
 * Catalog refactoring
54
 *
55
 * Revision 1.1.2.2  2007/07/11 13:01:50  jorpiell
56
 * Catalog UI updated
57
 *
58
 * Revision 1.1.2.1  2007/07/10 11:18:04  jorpiell
59
 * Added the registers
60
 *
61
 *
62
 */
63
/**
64
 * This class has some constants for the catalog client
65
 * @author Jorge Piera LLodr? (jorge.piera@iver.es)
66
 */
67
public class CatalogConstants {
68
	public static final int BUTTON_LENGHT = 80;
69
	public static final int BUTTON_WIDTH = 23;
70
	public static final Dimension BUTTON_SIZE = new Dimension(BUTTON_LENGHT,BUTTON_WIDTH);
71
	public static final int RESIZE_WINDOW_BUTTON_SIZE = 30;
72
	
73
	//Action commands
74
	public static final String CLOSE_BUTTON_ACTION_COMMAND = "close";
75
	public static final String NEXT_BUTTON_ACTION_COMMAND = "next";
76
	public static final String LAST_BUTTON_ACTION_COMMAND = "last";
77
	public static final String CANCEL_BUTTON_ACTION_COMMAND = "cancel";
78
	public static final String SEARCH_BUTTON_ACTION_COMMAND = "search";
79
	public static final String PROTOCOL_COMBO_ACTION_COMMAND = "protocolCombo";
80
	public static final String SERVER_COMBO_ACTION_COMMAND = "serverCombo";
81
	public static final String RESIZE_BUTTON_ACTION_COMMAND = "resize";
82
	public static final String CONNECT_BUTTON_ACTION_COMMAND = "connect";
83
	public static final String SERVERPROPERTIES_BUTTON_ACTION_COMMAND = "serverProperties";
84

  
85
	//conordancia
86
	public static final String EXACT_WORDS = "E";
87
	public static final String ANY_WORD = "Y";
88
	public static final String ALL_WORDS = "A";
89
	public static final String OR = "Or";
90
	public static final String AND = "And";
91
	
92
	//Connection 
93
	public static final int GET = 0;
94
	public static final int POST = 1;
95
	public static final int SOAP = 2;
96
	public static final int Z3950 = 4;
97
	
98
	//XML
99
	public static final String XML_HEADER_ENCODING = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
100
	public static final String XML_NS = "xmlns";
101

  
102
}
0 103

  
tags/v2_0_0_Build_2043/applications/appCatalog/src/org/gvsig/catalog/utils/xmltreetable/XMLTreeTableCellEditor.java
1

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

  
48
import javax.swing.JComponent;
49
import javax.swing.JTable;
50
import javax.swing.JTree;
51
import javax.swing.SwingUtilities;
52
import javax.swing.event.CellEditorListener;
53
import javax.swing.event.ChangeEvent;
54
import javax.swing.event.EventListenerList;
55
import javax.swing.table.TableCellEditor;
56
import javax.swing.tree.TreeCellEditor;
57

  
58
/**
59
 * DOCUMENT ME!
60
 * 
61
 * 
62
 * @author $author$
63
 */
64
public class XMLTreeTableCellEditor implements Serializable, TableCellEditor, TreeCellEditor {
65
/**
66
 * 
67
 * 
68
 */
69
    protected EventListenerList listenerList = new EventListenerList();
70
/**
71
 * 
72
 * 
73
 */
74
    protected transient ChangeEvent changeEvent = null;
75
/**
76
 * 
77
 * 
78
 */
79
    protected JComponent editorComponent = null;
80
/**
81
 * 
82
 * 
83
 */
84
    protected JComponent container = null;
85
// Can be tree or table
86

  
87
/**
88
 * DOCUMENT ME!
89
 * 
90
 * 
91
 * @return DOCUMENT ME!
92
 */
93
    public Component getComponent() {        
94
        return editorComponent;
95
    } 
96

  
97
/**
98
 * DOCUMENT ME!
99
 * 
100
 * 
101
 * @return DOCUMENT ME!
102
 */
103
    public Object getCellEditorValue() {        
104
        return editorComponent;
105
    } 
106

  
107
/**
108
 * DOCUMENT ME!
109
 * 
110
 * 
111
 * @return DOCUMENT ME!
112
 * @param anEvent DOCUMENT ME!
113
 */
114
    public boolean isCellEditable(EventObject anEvent) {        
115
        return true;
116
    } 
117

  
118
/**
119
 * DOCUMENT ME!
120
 * 
121
 * 
122
 * @return DOCUMENT ME!
123
 * @param anEvent DOCUMENT ME!
124
 */
125
    public boolean shouldSelectCell(EventObject anEvent) {        
126
        if ((editorComponent != null) && anEvent instanceof MouseEvent &&
127
                (((MouseEvent) anEvent).getID() == MouseEvent.MOUSE_PRESSED)) {
128
            Component dispatchComponent = SwingUtilities.getDeepestComponentAt(editorComponent,
129
                    3, 3);
130
            MouseEvent e = (MouseEvent) anEvent;
131
            MouseEvent e2 = new MouseEvent(dispatchComponent,
132
                    MouseEvent.MOUSE_RELEASED, e.getWhen() + 100000,
133
                    e.getModifiers(), 3, 3, e.getClickCount(),
134
                    e.isPopupTrigger());
135
            dispatchComponent.dispatchEvent(e2);
136
            e2 = new MouseEvent(dispatchComponent, MouseEvent.MOUSE_CLICKED,
137
                    e.getWhen() + 100001, e.getModifiers(), 3, 3, 1,
138
                    e.isPopupTrigger());
139
            dispatchComponent.dispatchEvent(e2);
140
        }
141
        return false;
142
    } 
143

  
144
/**
145
 * DOCUMENT ME!
146
 * 
147
 * 
148
 * @return DOCUMENT ME!
149
 */
150
    public boolean stopCellEditing() {        
151
        fireEditingStopped();
152
        return true;
153
    } 
154

  
155
/**
156
 * DOCUMENT ME!
157
 * 
158
 */
159
    public void cancelCellEditing() {        
160
        fireEditingCanceled();
161
    } 
162

  
163
/**
164
 * DOCUMENT ME!
165
 * 
166
 * 
167
 * @param l DOCUMENT ME!
168
 */
169
    public void addCellEditorListener(CellEditorListener l) {        
170
        listenerList.add(CellEditorListener.class, l);
171
    } 
172

  
173
/**
174
 * DOCUMENT ME!
175
 * 
176
 * 
177
 * @param l DOCUMENT ME!
178
 */
179
    public void removeCellEditorListener(CellEditorListener l) {        
180
        listenerList.remove(CellEditorListener.class, l);
181
    } 
182

  
183
/**
184
 * DOCUMENT ME!
185
 * 
186
 */
187
    protected void fireEditingStopped() {        
188
        Object[] listeners = listenerList.getListenerList();
189
        // Process the listeners last to first, notifying
190
        // those that are interested in this event
191
        for (int i = listeners.length - 2; i >= 0; i -= 2) {
192
            if (listeners[i] == CellEditorListener.class) {
193
                // Lazily create the event:
194
                if (changeEvent == null) {
195
                    changeEvent = new ChangeEvent(this);
196
                }
197
                ((CellEditorListener) listeners[i + 1]).editingStopped(changeEvent);
198
            }
199
        }
200
    } 
201

  
202
/**
203
 * DOCUMENT ME!
204
 * 
205
 */
206
    protected void fireEditingCanceled() {        
207
        // Guaranteed to return a non-null array
208
        Object[] listeners = listenerList.getListenerList();
209
        // Process the listeners last to first, notifying
210
        // those that are interested in this event
211
        for (int i = listeners.length - 2; i >= 0; i -= 2) {
212
            if (listeners[i] == CellEditorListener.class) {
213
                // Lazily create the event:
214
                if (changeEvent == null) {
215
                    changeEvent = new ChangeEvent(this);
216
                }
217
                ((CellEditorListener) listeners[i + 1]).editingCanceled(changeEvent);
218
            }
219
        }
220
    } 
221
// implements javax.swing.tree.TreeCellEditor
222

  
223
/**
224
 * 
225
 * 
226
 * 
227
 * @return 
228
 * @param tree 
229
 * @param value 
230
 * @param isSelected 
231
 * @param expanded 
232
 * @param leaf 
233
 * @param row 
234
 */
235
    public Component getTreeCellEditorComponent(JTree tree, Object value, boolean isSelected, boolean expanded, boolean leaf, int row) {        
236
        tree.convertValueToText(value, isSelected,
237
                expanded, leaf, row, false);
238
        editorComponent = (JComponent) value;
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff