Revision 715

View differences:

org.gvsig.catalog/tags/org.gvsig.catalog-2.0.130/org.gvsig.catalog.lib/src/test/java/org/gvsig/catalog/catalog/drivers/ExampleNewDriver.java
1
package org.gvsig.catalog.catalog.drivers;
2

  
3
import java.net.URI;
4

  
5
import org.gvsig.catalog.CatalogLocator;
6
import org.gvsig.catalog.CatalogManager;
7
import org.gvsig.catalog.drivers.AbstractCatalogServiceDriver;
8
import org.gvsig.catalog.drivers.CatalogCapabilities;
9
import org.gvsig.catalog.drivers.DiscoveryServiceCapabilities;
10
import org.gvsig.catalog.drivers.GetRecordsReply;
11
import org.gvsig.catalog.querys.CatalogQuery;
12
import org.gvsig.catalog.schemas.Record;
13
import org.gvsig.catalog.ui.search.SearchAditionalPropertiesPanel;
14

  
15

  
16
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
17
 *
18
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
19
 *
20
 * This program is free software; you can redistribute it and/or
21
 * modify it under the terms of the GNU General Public License
22
 * as published by the Free Software Foundation; either version 2
23
 * of the License, or (at your option) any later version.
24
 *
25
 * This program is distributed in the hope that it will be useful,
26
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
27
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
28
 * GNU General Public License for more details.
29
 *
30
 * You should have received a copy of the GNU General Public License
31
 * along with this program; if not, write to the Free Software
32
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
33
 *
34
 * For more information, contact:
35
 *
36
 *  Generalitat Valenciana
37
 *   Conselleria d'Infraestructures i Transport
38
 *   Av. Blasco Ib??ez, 50
39
 *   46010 VALENCIA
40
 *   SPAIN
41
 *
42
 *      +34 963862235
43
 *   gvsig@gva.es
44
 *      www.gvsig.gva.es
45
 *
46
 *    or
47
 *
48
 *   IVER T.I. S.A
49
 *   Salamanca 50
50
 *   46005 Valencia
51
 *   Spain
52
 *
53
 *   +34 963163400
54
 *   dac@iver.es
55
 */
56
/* CVS MESSAGES:
57
 *
58
 * $Id: ExampleNewDriver.java 537 2007-07-26 11:21:10Z jpiera $
59
 * $Log$
60
 * Revision 1.1.2.1  2007/07/13 12:00:35  jorpiell
61
 * Add the posibility to add a new panel
62
 *
63
 *
64
 */
65
/**
66
 * @author Jorge Piera LLodr? (jorge.piera@iver.es)
67
 */
68
public class ExampleNewDriver extends AbstractCatalogServiceDriver {
69
	private static final CatalogManager catalogManager = CatalogLocator.getCatalogManager();
70
	
71
	/*
72
	 * (non-Javadoc)
73
	 * @see es.gva.cit.catalogClient.drivers.IDiscoveryServiceDriver#getCapabilities(java.net.URI)
74
	 */
75
	public DiscoveryServiceCapabilities getCapabilities(URI uri) {
76
		return new CatalogCapabilities();
77
	}
78

  
79
	/*
80
	 * (non-Javadoc)
81
	 * @see es.gva.cit.catalog.drivers.ICatalogServiceDriver#getRecords(java.net.URI, es.gva.cit.catalog.querys.CatalogQuery, int)
82
	 */
83
	public GetRecordsReply getRecords(URI uri, CatalogQuery query,
84
			int firstRecord) {
85
		GetRecordsReply reply = new GetRecordsReply(1);
86
		Record record = catalogManager.createRecord(uri, null);
87
		record.setTitle("Record example");
88
		record.setAbstract_("Just for testing");
89
		reply.addRecord(record);
90
		return reply;
91
	}
92

  
93
	/*
94
	 * (non-Javadoc)
95
	 * @see es.gva.cit.catalog.drivers.IDiscoveryServiceDriver#getServiceName()
96
	 */
97
	public String getServiceName() {
98
		return "My catalog service";
99
	}
100

  
101
	/*
102
	 * (non-Javadoc)
103
	 * @see es.gva.cit.gazetteer.drivers.IGazetteerServiceDriver#getAditionalSearchPanel()
104
	 */
105
	public SearchAditionalPropertiesPanel getAditionalSearchPanel(){
106
		return new ExampleNewPanel();
107
	}
108

  
109

  
110

  
111

  
112
}
0 113

  
org.gvsig.catalog/tags/org.gvsig.catalog-2.0.130/org.gvsig.catalog.lib/src/test/java/org/gvsig/catalog/catalog/drivers/ExampleNewDriverTest.java
1
package org.gvsig.catalog.catalog.drivers;
2

  
3
import javax.swing.UIManager;
4
import javax.swing.UnsupportedLookAndFeelException;
5

  
6
import org.gvsig.catalog.CatalogLocator;
7
import org.gvsig.catalog.ui.serverconnect.ServerConnectDialog;
8
import org.gvsig.tools.library.impl.DefaultLibrariesInitializer;
9

  
10

  
11
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
12
 *
13
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
14
 *
15
 * This program is free software; you can redistribute it and/or
16
 * modify it under the terms of the GNU General Public License
17
 * as published by the Free Software Foundation; either version 2
18
 * of the License, or (at your option) any later version.
19
 *
20
 * This program is distributed in the hope that it will be useful,
21
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
22
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
23
 * GNU General Public License for more details.
24
 *
25
 * You should have received a copy of the GNU General Public License
26
 * along with this program; if not, write to the Free Software
27
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
28
 *
29
 * For more information, contact:
30
 *
31
 *  Generalitat Valenciana
32
 *   Conselleria d'Infraestructures i Transport
33
 *   Av. Blasco Ib??ez, 50
34
 *   46010 VALENCIA
35
 *   SPAIN
36
 *
37
 *      +34 963862235
38
 *   gvsig@gva.es
39
 *      www.gvsig.gva.es
40
 *
41
 *    or
42
 *
43
 *   IVER T.I. S.A
44
 *   Salamanca 50
45
 *   46005 Valencia
46
 *   Spain
47
 *
48
 *   +34 963163400
49
 *   dac@iver.es
50
 */
51
/* CVS MESSAGES:
52
 *
53
 * $Id: ExampleNewDriverTest.java 512 2007-07-24 11:25:43Z jorpiell $
54
 * $Log$
55
 * Revision 1.1.2.2  2007/07/24 11:25:42  jorpiell
56
 * The registers has been refactorized
57
 *
58
 * Revision 1.1.2.1  2007/07/13 12:00:35  jorpiell
59
 * Add the posibility to add a new panel
60
 *
61
 *
62
 */
63
/**
64
 * @author Jorge Piera LLodr? (jorge.piera@iver.es)
65
 */
66
public class ExampleNewDriverTest {
67

  
68
	/**
69
	 * @param args
70
	 */
71
	public static void main(String[] args) {
72
		new DefaultLibrariesInitializer().fullInitialize();
73
//		DefaultCatalogLibrary library = new DefaultCatalogLibrary();
74
//		library.initialize();
75
//		library.postInitialize();
76

  
77
		CatalogLocator.getCatalogManager().register("My catalog service", ExampleNewDriver.class);
78
		//Get the currently installed look and feel
79
		UIManager.getLookAndFeel();
80
		// Install a different look and feel; specifically, the Windows look and feel
81
		try {
82
			UIManager.setLookAndFeel(
83
					"com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
84
		} catch (InstantiationException e) {
85
		} catch (ClassNotFoundException e) {
86
		} catch (UnsupportedLookAndFeelException e) {
87
		} catch (IllegalAccessException e) {
88
		}
89

  
90
		new ServerConnectDialog();
91
	}
92

  
93
}
0 94

  
org.gvsig.catalog/tags/org.gvsig.catalog-2.0.130/org.gvsig.catalog.lib/src/test/java/org/gvsig/catalog/catalog/drivers/ExampleNewPanel.java
1
package org.gvsig.catalog.catalog.drivers;
2

  
3
import java.util.Properties;
4

  
5
import javax.swing.JLabel;
6
import javax.swing.JTextField;
7

  
8
import org.gvsig.catalog.ui.search.SearchAditionalPropertiesPanel;
9

  
10

  
11
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
12
 *
13
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
14
 *
15
 * This program is free software; you can redistribute it and/or
16
 * modify it under the terms of the GNU General Public License
17
 * as published by the Free Software Foundation; either version 2
18
 * of the License, or (at your option) any later version.
19
 *
20
 * This program is distributed in the hope that it will be useful,
21
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
22
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
23
 * GNU General Public License for more details.
24
 *
25
 * You should have received a copy of the GNU General Public License
26
 * along with this program; if not, write to the Free Software
27
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
28
 *
29
 * For more information, contact:
30
 *
31
 *  Generalitat Valenciana
32
 *   Conselleria d'Infraestructures i Transport
33
 *   Av. Blasco Ib??ez, 50
34
 *   46010 VALENCIA
35
 *   SPAIN
36
 *
37
 *      +34 963862235
38
 *   gvsig@gva.es
39
 *      www.gvsig.gva.es
40
 *
41
 *    or
42
 *
43
 *   IVER T.I. S.A
44
 *   Salamanca 50
45
 *   46005 Valencia
46
 *   Spain
47
 *
48
 *   +34 963163400
49
 *   dac@iver.es
50
 */
51
/* CVS MESSAGES:
52
 *
53
 * $Id: ExampleNewPanel.java 537 2007-07-26 11:21:10Z jpiera $
54
 * $Log$
55
 * Revision 1.1.2.1  2007/07/13 12:00:35  jorpiell
56
 * Add the posibility to add a new panel
57
 *
58
 *
59
 */
60
/**
61
 * @author Jorge Piera LLodr? (jorge.piera@iver.es)
62
 */
63
public class ExampleNewPanel extends SearchAditionalPropertiesPanel{
64
	JLabel label = null;
65
	JTextField text = null;
66
	
67
	public ExampleNewPanel(){
68
		label = new JLabel();
69
		text = new JTextField();		
70
		setLayout(new java.awt.BorderLayout());
71
		label.setText("Label");
72
		add(label, java.awt.BorderLayout.WEST);		
73
		add(text, java.awt.BorderLayout.CENTER);
74
	}
75
	
76
	/*
77
	 * (non-Javadoc)
78
	 * @see es.gva.cit.gazetteer.ui.search.SearchAditionalPropertiesPanel#getProperties()
79
	 */
80
	public Properties getProperties() {
81
		Properties properties = new Properties();
82
		properties.put("PROP1", text.getText());
83
		return properties;
84
	}
85

  
86
}
0 87

  
org.gvsig.catalog/tags/org.gvsig.catalog-2.0.130/org.gvsig.catalog.lib/src/test/java/org/gvsig/catalog/catalog/utils/URIUtilsTest.java
1
package org.gvsig.catalog.catalog.utils;
2

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

  
6
import junit.framework.TestCase;
7

  
8
import org.gvsig.catalog.utils.URIUtils;
9

  
10
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
11
 *
12
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
13
 *
14
 * This program is free software; you can redistribute it and/or
15
 * modify it under the terms of the GNU General Public License
16
 * as published by the Free Software Foundation; either version 2
17
 * of the License, or (at your option) any later version.
18
 *
19
 * This program is distributed in the hope that it will be useful,
20
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
22
 * GNU General Public License for more details.
23
 *
24
 * You should have received a copy of the GNU General Public License
25
 * along with this program; if not, write to the Free Software
26
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
27
 *
28
 * For more information, contact:
29
 *
30
 *  Generalitat Valenciana
31
 *   Conselleria d'Infraestructures i Transport
32
 *   Av. Blasco Ib??ez, 50
33
 *   46010 VALENCIA
34
 *   SPAIN
35
 *
36
 *      +34 963862235
37
 *   gvsig@gva.es
38
 *      www.gvsig.gva.es
39
 *
40
 *    or
41
 *
42
 *   IVER T.I. S.A
43
 *   Salamanca 50
44
 *   46005 Valencia
45
 *   Spain
46
 *
47
 *   +34 963163400
48
 *   dac@iver.es
49
 */
50
/* CVS MESSAGES:
51
 *
52
 * $Id: URIUtilsTest.java,v 1.1.2.1 2007/07/10 11:18:04 jorpiell Exp $
53
 * $Log: URIUtilsTest.java,v $
54
 * Revision 1.1.2.1  2007/07/10 11:18:04  jorpiell
55
 * Added the registers
56
 *
57
 *
58
 */
59
/**
60
 * @author Jorge Piera LLodr? (jorge.piera@iver.es)
61
 */
62
public class URIUtilsTest extends TestCase {
63
	
64
	public void test1() throws URISyntaxException{
65
		URI uri = URIUtils.createUri("http://www.upv.es", "http", 80);	
66
		assertEquals(uri.getHost(), "www.upv.es");
67
		assertEquals(uri.getScheme(), "http");
68
		assertEquals(uri.getPort(), 80);
69
		assertEquals(uri.getPath(), "");
70
	}
71
	
72
	public void test2() throws URISyntaxException{
73
		URI uri = URIUtils.createUri("www.upv.es", "http", 80);	
74
		assertEquals(uri.getHost(), "www.upv.es");
75
		assertEquals(uri.getScheme(), "http");
76
		assertEquals(uri.getPort(), 80);
77
		assertEquals(uri.getPath(), "");
78
	}
79
	
80
	public void test3() throws URISyntaxException{
81
		URI uri = URIUtils.createUri("www.upv.es", "z3950", 2100);	
82
		assertEquals(uri.getHost(), "www.upv.es");
83
		assertEquals(uri.getScheme(), "z3950");
84
		assertEquals(uri.getPort(), 2100);
85
		assertEquals(uri.getPath(), "");
86
	}
87
	
88
	public void test4() throws URISyntaxException{
89
		URI uri = URIUtils.createUri("http://193.144.250.29/webservices/services/IDEC_GeoServeisPort", "http", 80);	
90
		assertEquals(uri.getHost(), "193.144.250.29");
91
		assertEquals(uri.getScheme(), "http");
92
		assertEquals(uri.getPort(), 80);
93
		assertEquals(uri.getPath(), "/webservices/services/IDEC_GeoServeisPort");
94
	}
95
}
0 96

  
org.gvsig.catalog/tags/org.gvsig.catalog-2.0.130/org.gvsig.catalog.lib/src/main/java/org/gvsig/catalog/exceptions/DiscoveryServiceException.java
1
/* gvSIG. Geographic Information System of the Valencian Government
2
 *
3
 * Copyright (C) 2007-2008 Infrastructures and Transports Department
4
 * of the Valencian Government (CIT)
5
 *
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
 * MA  02110-1301, USA.
20
 *
21
 */
22
package org.gvsig.catalog.exceptions;
23

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

  
26

  
27
/**
28
 * @author gvSIG Team
29
 * @version $Id$
30
 *
31
 */
32
public class DiscoveryServiceException extends BaseException {
33
    private static final long serialVersionUID = -2033440799086244875L;
34

  
35
    private static final String MESSAGE =
36
        "Error connecting to a catalog service";
37

  
38
    private static final String KEY = "_CatalogException";
39

  
40
    /**
41
     * Constructor to be used in rare cases, usually you must create a new child
42
     * exception class for each case.
43
     * <strong>Don't use this constructor in child classes.</strong>
44
     */
45
    public DiscoveryServiceException() {
46
        super(MESSAGE, KEY, serialVersionUID);
47
    }
48

  
49
    /**
50
     * Constructor to be used in rare cases, usually you must create a new child
51
     * exception class for each case.
52
     * <p>
53
     * <strong>Don't use this constructor in child classes.</strong>
54
     * </p>
55
     * 
56
     * @param cause
57
     *            the original cause of the exception
58
     */
59
    public DiscoveryServiceException(Throwable cause) {
60
        super(MESSAGE, cause, KEY, serialVersionUID);
61
    }
62

  
63
    /**
64
     * @see BaseException#BaseException(String, String, long).
65
     * @param message
66
     *            the default messageFormat to describe the exception
67
     * @param key
68
     *            the key to use to search a localized messageFormnata
69
     * @param code
70
     *            the unique code to identify the exception
71
     */
72
    protected DiscoveryServiceException(String message, String key, long code) {
73
        super(message, key, code);
74
    }
75

  
76
    /**
77
     * @see BaseException#BaseException(String, Throwable, String, long).
78
     * @param message
79
     *            the default messageFormat to describe the exception
80
     * @param cause
81
     *            the original cause of the exception
82
     * @param key
83
     *            the key to use to search a localized messageFormnata
84
     * @param code
85
     *            the unique code to identify the exception
86
     */
87
    protected DiscoveryServiceException(String message, Throwable cause,
88
        String key, long code) {
89
        super(message, cause, key, code);
90
    }
91
}
0 92

  
org.gvsig.catalog/tags/org.gvsig.catalog-2.0.130/org.gvsig.catalog.lib/src/main/java/org/gvsig/catalog/exceptions/NotSupportedProtocolException.java
1
package org.gvsig.catalog.exceptions;
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
/* CVS MESSAGES:
43
 *
44
 * $Id: NotSupportedProtocolException.java 561 2007-07-27 06:49:30 +0000 (Fri, 27 Jul 2007) jpiera $
45
 * $Log$
46
 * Revision 1.1.2.1  2007/07/10 11:18:04  jorpiell
47
 * Added the registers
48
 *
49
 *
50
 */
51
/**
52
 * @author Jorge Piera LLodr? (jorge.piera@iver.es)
53
 */
54
public class NotSupportedProtocolException extends Exception {
55

  
56
	public NotSupportedProtocolException(Throwable cause) {
57
		super(cause);		
58
	}
59
	
60
	/*
61
	 * (non-Javadoc)
62
	 * @see java.lang.Throwable#toString()
63
	 */
64
	public String toString(){
65
		return "errorNotSupportedProtocol";
66
	}
67
}
0 68

  
org.gvsig.catalog/tags/org.gvsig.catalog-2.0.130/org.gvsig.catalog.lib/src/main/java/org/gvsig/catalog/exceptions/ServerIsNotReadyException.java
1
package org.gvsig.catalog.exceptions;
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
/* CVS MESSAGES:
43
 *
44
 * $Id: ServerIsNotReadyException.java 561 2007-07-27 06:49:30 +0000 (Fri, 27 Jul 2007) jpiera $
45
 * $Log$
46
 * Revision 1.1.2.1  2007/07/10 11:18:04  jorpiell
47
 * Added the registers
48
 *
49
 *
50
 */
51
/**
52
 * This exception indicates that the server is not ready
53
 * @author Jorge Piera LLodr? (jorge.piera@iver.es)
54
 */
55
public class ServerIsNotReadyException extends Exception {
56
	private static final long serialVersionUID = 397526568003318327L;
57

  
58
	public ServerIsNotReadyException(Throwable cause) {
59
		super(cause);		
60
	}
61

  
62
	/*
63
	 * (non-Javadoc)
64
	 * @see java.lang.Throwable#toString()
65
	 */
66
	public String toString(){
67
		return "errorServerNotFound";
68
	}
69
}
0 70

  
org.gvsig.catalog/tags/org.gvsig.catalog-2.0.130/org.gvsig.catalog.lib/src/main/java/org/gvsig/catalog/exceptions/NotSupportedVersionException.java
1
package org.gvsig.catalog.exceptions;
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
/* CVS MESSAGES:
43
 *
44
 * $Id$
45
 * $Log$
46
 *
47
 */
48
/**
49
 * @author Jorge Piera LLodr? (jorge.piera@iver.es)
50
 */
51
public class NotSupportedVersionException extends Exception{
52
	
53
	public NotSupportedVersionException(Throwable cause) {
54
		super(cause);		
55
	}
56
	
57
	public NotSupportedVersionException() {
58
		super();		
59
	}
60
	
61
	/*
62
	 * (non-Javadoc)
63
	 * @see java.lang.Throwable#toString()
64
	 */
65
	public String toString(){
66
		return "errorNotSupportedVersion";
67
	}
68
}
0 69

  
org.gvsig.catalog/tags/org.gvsig.catalog-2.0.130/org.gvsig.catalog.lib/src/main/java/org/gvsig/catalog/schemas/DeegreeISO19115Record.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.schemas;
43
import java.net.URI;
44

  
45
import org.gvsig.catalog.metadataxml.XMLNode;
46
import org.gvsig.catalog.metadataxml.XMLTree;
47

  
48
/**
49
 * This class is used to parse the metadata retreived using
50
 * the CSW deegree server.
51
 * 
52
 * 
53
 * @author Jorge Piera Llodra (piera_jor@gva.es)
54
 */
55
public class DeegreeISO19115Record extends Record {
56

  
57
	public  DeegreeISO19115Record() {        
58

  
59
	}
60
	
61
	/**
62
	 * @param node 
63
	 */
64
	public  DeegreeISO19115Record(URI uri,XMLNode node) {        
65
		super(uri,node);
66

  
67
		setTitle(XMLTree.searchNodeValue(node,
68
				"iso19115:identificationInfo->smXML:MD_DataIdentification->smXML:citation->smXML:CI_Citation->smXML:title->smXML:CharacterString"));
69
		setAbstract_(XMLTree.searchNodeValue(node,
70
		"iso19115:identificationInfo->smXML:MD_DataIdentification->smXML:abstract->smXML:CharacterString"));
71
		setPurpose(XMLTree.searchNodeValue(node,
72
		"iso19115:identificationInfo->smXML:MD_DataIdentification->smXML:purpose->smXML:CharacterString"));
73
		setKeyWords(XMLTree.searchMultipleNodeValue(node,
74
		"iso19115:identificationInfo->smXML:MD_DataIdentification->smXML:descriptiveKeywords->smXML:MD_Keywords->smXML:keyword->smXML:CharacterString"));
75
		setResources(getResources("iso19115:distributionInfo->smXML:MD_Distribution->smXML:distributor->smXML:MD_Distributor->smXML:distributorContact->smXML:CI_ResponsibleParty->smXML:contactInfo->smXML:CI_Contact->smXML:onlineResource->smXML:CI_OnlineResource"));
76
		setImageURL("iso19115:identificationInfo->smXML:MD_DataIdentification->smXML:graphicOverview->smXML:MD_BrowseGraphic->smXML:fileName->smXML:CharacterString");
77
	} 
78

  
79
	/**
80
	 * It parses the online resources
81
	 * 
82
	 * 
83
	 * @return Resource
84
	 * @param label Label that contains the resource root
85
	 */
86
	private Resource[] getResources(String label) {        
87
		XMLNode[] nodes = XMLTree.searchMultipleNode(getNode(), label);
88

  
89
		if (nodes == null) {
90
			return null;
91
		}
92
		Resource[] resources = new Resource[nodes.length];
93

  
94
		for (int i = 0; i < resources.length; i++)
95
			resources[i] = new Resource(XMLTree.searchNodeValue(nodes[i],"smXML:linkage->smXML:URL"),
96
					XMLTree.searchNodeValue(nodes[i],"smXML:protocol->smXML:CharacterString"),
97
					XMLTree.searchNodeValue(nodes[i],"smXML:name->smXML:CharacterString"),
98
					XMLTree.searchNodeValue(nodes[i],"smXML:description->smXML:CharacterString"),
99
					"",
100
					"",	
101
					null);
102
		return resources;
103
	}
104

  
105
	/*
106
	 * (non-Javadoc)
107
	 * @see es.gva.cit.catalogClient.schemas.discoverer.Record#accept(java.net.URI, es.gva.cit.catalogClient.metadataxml.XMLNode)
108
	 */
109
	public boolean accept(URI uri, XMLNode node) {
110
		if (node.getName().equals("iso19115:MD_Metadata")){
111
			return true;
112
		}
113
		return false;
114
	} 
115
}
0 116

  
org.gvsig.catalog/tags/org.gvsig.catalog-2.0.130/org.gvsig.catalog.lib/src/main/java/org/gvsig/catalog/schemas/Record.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.schemas;
43
import java.awt.image.BufferedImage;
44
import java.net.URI;
45
import java.util.Collection;
46

  
47
import org.gvsig.catalog.metadataxml.XMLNode;
48

  
49
/**
50
 * All classes that implement a tag-parser must to implement this
51
 * class. It only has some fields to show in the application form.
52
 * 
53
 * 
54
 * @author Jorge Piera Llodra (piera_jor@gva.es)
55
 */
56
public abstract class Record {
57
	private XMLNode node;
58
	private String title;
59
	private String abstract_;
60
	private String purpose;
61
	private String[] keyWords;
62
	private BufferedImage image;
63
	private String imageURL;
64
	private String fileID;
65
	private URI uri;
66
	private Collection resources = new java.util.ArrayList();
67

  
68
	public Record(URI uri, XMLNode node){
69
		this.uri = uri;
70
		this.node = node;
71
	}
72
	
73
	public Record(){
74
		
75
	}
76
	
77
	/**
78
	 * Return true is the XML node is from a type that can be
79
	 * parsed
80
	 * @param uri
81
	 * Server uri
82
	 * @param node
83
	 * XML node
84
	 * @return
85
	 * true if the file can be managed or false
86
	 */	
87
	public abstract boolean accept(URI uri, XMLNode node);
88
	
89
	/**
90
	 * @return Returns the fileID.
91
	 */
92
	public String getFileID() {        
93
		return fileID;
94
	} 
95
	
96

  
97
	/**
98
	 * @param fileID The fileID to set.
99
	 */
100
	public void setFileID(String fileID) {        
101
		this.fileID = fileID;
102
	} 
103

  
104
	/**
105
	 * @return Returns the image.
106
	 */
107
	public BufferedImage getImage() {        
108
		return image;
109
	} 
110

  
111
	/**
112
	 * @param image The image to set
113
	 */
114
	public void setImage(BufferedImage image){
115
		this.image = image;
116
	}	
117
	
118
	/**
119
	 * @param image The image address to set.
120
	 */
121
	public void setImageURL(String imageURL) {        
122
		this.imageURL = imageURL;
123
	} 
124

  
125
	/**
126
	 * @return Returns the abstract_.
127
	 */
128
	public String getAbstract_() {        
129
		return abstract_;
130
	} 
131

  
132
	/**
133
	 * @param abstract_ The abstract_ to set.
134
	 */
135
	public void setAbstract_(String abstract_) {        
136
		this.abstract_ = abstract_;
137
	} 
138

  
139
	/**
140
	 * @return Returns the keyWords.
141
	 */
142
	public String[] getKeyWords() {        
143
		return keyWords;
144
	} 
145

  
146
	/**
147
	 * @param keyWords The keyWords to set.
148
	 */
149
	public void setKeyWords(String[] keyWords) {        
150
		this.keyWords = keyWords;
151
	} 
152

  
153
	/**
154
	 * @return Returns the purpose.
155
	 */
156
	public String getPurpose() {        
157
		return purpose;
158
	} 
159

  
160
	/**
161
	 * @param purpose The purpose to set.
162
	 */
163
	public void setPurpose(String purpose) {        
164
		this.purpose = purpose;
165
	} 
166

  
167
	/**
168
	 * @return Returns the title.
169
	 */
170
	public String getTitle() {        
171
		return title;
172
	} 
173

  
174
	/**
175
	 * @param title The title to set.
176
	 */
177
	public void setTitle(String title) {        
178
		this.title = title;
179
	} 
180

  
181
	/**
182
	 * @return Returns the node.
183
	 */
184
	public XMLNode getNode() {        
185
		return node;
186
	} 
187

  
188
	/**
189
	 * @param node The node to set.
190
	 */
191
	public void setNode(XMLNode node) {        
192
		this.node = node;
193
	} 
194

  
195
	/**
196
	 * @return Returns the resources.
197
	 */
198
	public Resource[] getResources() {        
199
		Resource[] aux = new Resource[resources.size()];
200
		for (int i=0 ; i<aux.length ; i++){
201
			aux[i] = (Resource)resources.toArray()[i];
202
		}
203
		return aux;
204
	} 
205

  
206
	/**
207
	 * @param resources The resources to set.
208
	 */
209
	public void setResources(Resource[] resources) {        
210
		this.resources = new java.util.ArrayList();
211
		if (resources == null){
212
			return;
213
		}
214
		for (int i=0 ; i<resources.length ; i++){
215
			this.resources.add(resources[i]);
216
		}        
217
	} 
218

  
219
	/**
220
	 * @return Returns the serverURL.
221
	 */
222
	public URI getURI() {        
223
		return uri;
224
	} 
225

  
226
	/**
227
	 * 
228
	 * 
229
	 * 
230
	 * @param serverURI The serverURL to set.
231
	 */
232
	public void setURI(URI uri) {        
233
		this.uri = uri;
234
	}
235

  
236
	public String getImageURL() {
237
		return imageURL;
238
	} 
239
	
240
}
0 241

  
org.gvsig.catalog/tags/org.gvsig.catalog-2.0.130/org.gvsig.catalog.lib/src/main/java/org/gvsig/catalog/schemas/UnknownRecord.java
1
package org.gvsig.catalog.schemas;
2

  
3
import java.net.URI;
4

  
5
import org.gvsig.catalog.metadataxml.XMLNode;
6

  
7
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
8
 *
9
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
10
 *
11
 * This program is free software; you can redistribute it and/or
12
 * modify it under the terms of the GNU General Public License
13
 * as published by the Free Software Foundation; either version 2
14
 * of the License, or (at your option) any later version.
15
 *
16
 * This program is distributed in the hope that it will be useful,
17
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19
 * GNU General Public License for more details.
20
 *
21
 * You should have received a copy of the GNU General Public License
22
 * along with this program; if not, write to the Free Software
23
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
24
 *
25
 * For more information, contact:
26
 *
27
 *  Generalitat Valenciana
28
 *   Conselleria d'Infraestructures i Transport
29
 *   Av. Blasco Ib??ez, 50
30
 *   46010 VALENCIA
31
 *   SPAIN
32
 *
33
 *      +34 963862235
34
 *   gvsig@gva.es
35
 *      www.gvsig.gva.es
36
 *
37
 *    or
38
 *
39
 *   IVER T.I. S.A
40
 *   Salamanca 50
41
 *   46005 Valencia
42
 *   Spain
43
 *
44
 *   +34 963163400
45
 *   dac@iver.es
46
 */
47
/* CVS MESSAGES:
48
 *
49
 * $Id: UnknownRecord.java 600 2007-09-19 11:30:05 +0000 (Wed, 19 Sep 2007) jpiera $
50
 * $Log$
51
 * Revision 1.1.2.1  2007/07/23 07:14:24  jorpiell
52
 * Catalog refactoring
53
 *
54
 *
55
 */
56
/**
57
 * @author Jorge Piera LLodr? (jorge.piera@iver.es)
58
 */
59
public class UnknownRecord extends Record{
60

  
61
	public  UnknownRecord(URI uri, XMLNode node) {        
62
		super(uri,node);
63
		super.setTitle("Unknown record");
64
		super.setAbstract_("It doesn't exist a parser for this record");
65
	}
66
	
67
	/*
68
	 * (non-Javadoc)
69
	 * @see es.gva.cit.catalogClient.schemas.records.Record#accept(java.net.URI, es.gva.cit.catalogClient.metadataxml.XMLNode)
70
	 */
71
	public boolean accept(URI uri, XMLNode node) {
72
		return true;
73
	}
74

  
75
}
0 76

  
org.gvsig.catalog/tags/org.gvsig.catalog-2.0.130/org.gvsig.catalog.lib/src/main/java/org/gvsig/catalog/schemas/GeonetworkISO19115Record.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.schemas;
43

  
44
import java.net.URI;
45

  
46
import org.gvsig.catalog.metadataxml.XMLNode;
47
import org.gvsig.catalog.metadataxml.XMLTree;
48
import org.gvsig.catalog.querys.Coordinates;
49

  
50
/**
51
 * @author Jorge Piera Llodra (piera_jor@gva.es)
52
 */
53
public class GeonetworkISO19115Record extends Record {
54
	
55
	public GeonetworkISO19115Record() {  
56
		
57
	}
58
	
59
	/**
60
	 * Constructor
61
	 * @param node Node with the answer
62
	 * @param serverURL Server URL. Necessary to load the image (just Geonetwork)
63
	 */
64
	public GeonetworkISO19115Record(URI uri,XMLNode node) {        
65
		super(uri,node);
66
		setTitle(XMLTree.searchNodeValue(node,
67
				"dataIdInfo->idCitation->resTitle"));
68
		setAbstract_(XMLTree.searchNodeValue(node, "dataIdInfo->idAbs"));
69
		setPurpose(XMLTree.searchNodeValue(node, "dataIdInfo->idPurp"));
70
		setKeyWords(XMLTree.searchMultipleNodeValue(node,
71
		"dataIdInfo->descKeys->keyword"));
72
		setResources(getResources("distInfo->distTranOps->onLineSrc"));
73
		setFileID(XMLTree.searchNodeValue(node,"mdFileID"));
74
		//Caution: getImageUrl uses serverURL and FileID!!!
75
		XMLNode[] nodes = XMLTree.searchMultipleNode(node,"dataIdInfo->graphOver");
76
		if ((nodes != null) && (nodes.length > 0)){
77
			String imageURL = XMLTree.searchNodeValue(nodes[0], "bgFileName");
78
			if (imageURL != null){
79
				setImageURL(imageURL);
80
			}
81
		}        
82
	} 
83

  
84
	/**
85
	 * @return 
86
	 * @param label 
87
	 */
88
	private Resource[] getResources(String label) {        
89
		XMLNode[] nodes = XMLTree.searchMultipleNode(getNode(), label);
90
		Coordinates coordinates = null;
91
		String srs = null;
92

  
93
		if (nodes == null) {
94
			return null;
95
		}
96
		Resource[] resources = new Resource[nodes.length];
97
		if (nodes.length > 0){
98
			srs = XMLTree.searchNodeValue(getNode(),"refSysInfo->MdCoRefSys->refSysID->identCode");
99
			coordinates = new Coordinates(XMLTree.searchNodeValue(getNode(),"dataIdInfo->geoBox->westBL"),
100
					XMLTree.searchNodeValue(getNode(),"dataIdInfo->geoBox->northBL"),
101
					XMLTree.searchNodeValue(getNode(),"dataIdInfo->geoBox->eastBL"),
102
					XMLTree.searchNodeValue(getNode(),"dataIdInfo->geoBox->southBL"));
103
		}
104

  
105
		for (int i = 0; i < resources.length; i++){
106
			resources[i] = new Resource(XMLTree.searchNodeValue(nodes[i],
107
					"linkage"),
108
					XMLTree.searchNodeValue(nodes[i], "protocol"),
109
					XMLTree.searchNodeValue(nodes[i], "orName"),
110
					XMLTree.searchNodeValue(nodes[i], "orDesc"),
111
					XMLTree.searchNodeAtribute(nodes[i], "orFunct->OnFunctCd",
112
					"value"),
113
					srs,	
114
					coordinates);
115
			if (resources[i].getLinkage() == null){
116
				resources[i].setLinkage("");
117
			}
118
		}
119
		return resources;
120
	}
121

  
122
	/*
123
	 * (non-Javadoc)
124
	 * @see es.gva.cit.catalogClient.schemas.discoverer.Record#accept(java.net.URI, es.gva.cit.catalogClient.metadataxml.XMLNode)
125
	 */
126
	public boolean accept(URI uri, XMLNode node) {
127
		if (node.getName().equals("Metadata")){
128
			if (XMLTree.searchNode(node, "mdFileID") != null){
129
				return true;
130
			}
131
		}
132
		return false;
133
	}     
134

  
135

  
136
}
0 137

  
org.gvsig.catalog/tags/org.gvsig.catalog-2.0.130/org.gvsig.catalog.lib/src/main/java/org/gvsig/catalog/schemas/IdecISO19115Record.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.schemas;
43
import java.net.URI;
44

  
45
import org.gvsig.catalog.metadataxml.XMLNode;
46
import org.gvsig.catalog.metadataxml.XMLTree;
47

  
48
/**
49
 * This class parses the Indicio CSW server answer files.
50
 * 
51
 * 
52
 * @author Jorge Piera Llodra (piera_jor@gva.es)
53
 */
54
public class IdecISO19115Record extends Record {
55

  
56
	public  IdecISO19115Record() {   
57

  
58
	}
59

  
60
	/**
61
	 * @param node 
62
	 */
63
	public  IdecISO19115Record(URI uri,XMLNode node) {        
64
		super(uri,node);
65
		setTitle(XMLTree.searchNodeValue(node,
66
				"identificationInfo->MD_DataIdentification->citation->title"));
67
		setAbstract_(XMLTree.searchNodeValue(node,
68
		"identificationInfo->MD_DataIdentification->abstract"));
69
		setPurpose(XMLTree.searchNodeValue(node,
70
		"identificationInfo->MD_DataIdentification->purpose"));
71
		setKeyWords(XMLTree.searchMultipleNodeValue(node,
72
		"identificationInfo->MD_DataIdentification->descriptiveKeywords->keyword"));
73
		setResources(getResources("distributionInfo->distributor->distributorTransferOptions->onLine"));
74
		//setImage(getImageUrl("identificationInfo->MD_DataIdentification->graphicOverview->fileName"));
75
	} 
76

  
77
	/**
78
	 * It parses the online resources
79
	 * 
80
	 * 
81
	 * @return Resource
82
	 * @param label Label that contains the resource root
83
	 */
84
	private Resource[] getResources(String label) {        
85
		XMLNode[] nodes = XMLTree.searchMultipleNode(getNode(), label);
86

  
87
		if (nodes == null) {
88
			return null;
89
		}
90
		Resource[] resources = new Resource[nodes.length];
91

  
92
		for (int i = 0; i < resources.length; i++){
93

  
94
			String sProtocol = XMLTree.searchNodeValue(nodes[i], "protocol");
95
			String sName = XMLTree.searchNodeValue(nodes[i], "orName");
96

  
97
			if (sProtocol == null){
98
				sProtocol =   Resource.WEBSITE;
99
				sName =  "orName";
100
			}
101

  
102
			resources[i] = new Resource(XMLTree.searchNodeValue(nodes[i],
103
			"linkage"),
104
			sProtocol,
105
			sName,
106
			"orDesc",
107
			"",
108
			"",	
109
			null);
110
		}
111
		return resources;
112
	}
113

  
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff