Revision 37432

View differences:

tags/v2_0_0_Build_2042/applications/appCatalog/pom.xml
1
<?xml version="1.0" encoding="UTF-8"?>
2

  
3
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
5
                      http://maven.apache.org/maven-v4_0_0.xsd">
6

  
7
	<modelVersion>4.0.0</modelVersion>
8
	<groupId>org.gvsig</groupId>
9
	<artifactId>org.gvsig.catalog</artifactId>
10
	<packaging>jar</packaging>
11
	<version>2.0-SNAPSHOT</version>
12
	<name>appCatalog</name>
13
	<description>Web Catalog Service client (geodata search)</description>
14
	<url>http://maven.apache.org</url>
15
	<parent>
16
		<groupId>org.gvsig</groupId>
17
		<artifactId>gvsig-base-library-pom</artifactId>
18
		<version>2.0-SNAPSHOT</version>
19
	</parent>
20
	<distributionManagement>
21
		<site>
22
			<id>gvsig-repository</id>
23
			<url>${site-repository}/</url>
24
		</site>
25
	</distributionManagement>
26
	<dependencies>
27
        <dependency>
28
            <groupId>org.slf4j</groupId>
29
            <artifactId>slf4j-api</artifactId>
30
            <scope>compile</scope>
31
        </dependency>
32
        <dependency>
33
            <groupId>org.gvsig</groupId>
34
            <artifactId>org.gvsig.tools.lib</artifactId>
35
            <scope>compile</scope>
36
        </dependency>
37
		<dependency>
38
			<groupId>org.gvsig</groupId>
39
			<artifactId>org.gvsig.compat</artifactId>
40
            <scope>compile</scope>
41
		</dependency>
42
		<dependency>
43
			<groupId>org.gvsig</groupId>
44
			<artifactId>org.gvsig.i18n</artifactId>
45
            <scope>compile</scope>
46
		</dependency>
47
		<dependency>
48
			<groupId>org.gvsig</groupId>
49
			<artifactId>org.gvsig.utils</artifactId>
50
            <scope>compile</scope>
51
		</dependency>
52
		<dependency>
53
			<groupId>org.gvsig</groupId>
54
			<artifactId>org.gvsig.remoteclient</artifactId>
55
            <scope>compile</scope>
56
		</dependency>
57
		<dependency>
58
			<groupId>com.vividsolutions</groupId>
59
			<artifactId>jts</artifactId>
60
		</dependency>
61
		<dependency>
62
			<groupId>xerces</groupId>
63
			<artifactId>xercesImpl</artifactId>
64
            <scope>compile</scope>
65
		</dependency>
66
		<dependency>
67
			<groupId>org.dspace</groupId>
68
			<artifactId>cql-java</artifactId>
69
		</dependency>		
70
		<dependency>
71
			<groupId>jdom</groupId>
72
			<artifactId>jdom</artifactId>
73
		</dependency>
74
		<dependency>
75
			<groupId>commons-beanutils</groupId>
76
			<artifactId>commons-beanutils</artifactId>
77
            <scope>compile</scope>
78
		</dependency>
79
		<dependency>
80
			<groupId>commons-httpclient</groupId>
81
			<artifactId>commons-httpclient</artifactId>
82
            <scope>compile</scope>
83
		</dependency>
84
		<dependency>
85
			<groupId>soap</groupId>
86
			<artifactId>soap</artifactId>
87
            <scope>compile</scope>
88
		</dependency>
89
   		<dependency>
90
		    <groupId>org.jzkit</groupId>
91
   			<artifactId>jzkit2-core</artifactId>
92
            <scope>compile</scope>
93
   		</dependency>
94
           <dependency>
95
		    <groupId>org.jzkit</groupId>
96
   			<artifactId>jzkit2-z3950</artifactId>
97
            <scope>compile</scope>
98
   		</dependency>
99
           <dependency>
100
		    <groupId>org.jzkit</groupId>
101
   			<artifactId>jzkit2-origin</artifactId>
102
   		</dependency>
103
	    <dependency>
104
		    <groupId>org.jzkit</groupId>
105
   			<artifactId>a2j-runtime</artifactId>
106
   		</dependency>
107
           <dependency>
108
		    <groupId>org.jzkit</groupId>
109
   			<artifactId>a2j</artifactId>
110
            <scope>compile</scope>
111
   		</dependency>
112
		<dependency>
113
			<groupId>org.springframework</groupId>
114
			<artifactId>spring</artifactId>
115
            <scope>compile</scope>
116
		</dependency>  
117
		<dependency>
118
		    <groupId>net.swing</groupId>
119
   			<artifactId>amic-util</artifactId>
120
            <scope>compile</scope>
121
   		</dependency>	
122
	</dependencies>
123
	<properties>
124
		<build-dir>${basedir}/../build</build-dir>
125
        <eclipse.project.name>appCatalog</eclipse.project.name>
126
	</properties>
127
	<build>
128
		<sourceDirectory>src</sourceDirectory>
129
		<testSourceDirectory>src-test</testSourceDirectory>
130
		<resources>
131
			<resource>
132
				<directory>${basedir}/resources</directory>
133
			</resource>
134
		</resources>
135
		
136
		<!-- TODO: MAKE TESTS WORK AND REMOVE THIS OPTION -->
137
		<plugins>
138
			<plugin>
139
				<groupId>org.apache.maven.plugins</groupId>
140
				<artifactId>maven-surefire-plugin</artifactId>
141
				<configuration>
142
					<skipTests>true</skipTests>
143
				</configuration>
144
			</plugin>
145
		</plugins>
146
	</build>
147
</project>
0 148

  
tags/v2_0_0_Build_2042/applications/appCatalog/resources/META-INF/services/org.gvsig.tools.library.Library
1
org.gvsig.catalog.CatalogLibrary
2
org.gvsig.catalog.impl.DefaultCatalogLibrary
tags/v2_0_0_Build_2042/applications/appCatalog/text.properties
1
catalog_search=B\u00fasqueda de Geodatos
2
gazetteer_search=Localizar por Nomencl\u00e1tor
3
gazetteer_connect=Localizar por Nomencl\u00e1tor
4
metadata_catalog=B\u00fasqueda de Geodatos - Conexi\u00f3n
5
metadata_tree=\u00c1rbol del Metadato
6
search_results=Resultados de la b\u00fasqueda
7
resourceTypeColumn=Tipo
8
resourceLinkColumn=Enlace
9
resourceShowColumn=Ver
10
concordancia=Concordancia
11
exactSentence=Frase Exacta
12
anyWord=Cualquier Palabra
13
allWords=Todas las Palabras
14
cathegoryAny=cualquiera
15
cathegoryBiota=biota
16
cathegoryBoundaries=boundaries
17
cathegoryClimatologyMeteorologyAtmosphere=climatologyMeteorologyAtmosphere
18
cathegoryEconomy=economy
19
cathegoryElevation=elevation
20
cathegoryEnvironment=environment
21
cathegoryFarming=farming
22
cathegoryGeoscientificInformation=geoscientificInformation
23
cathegoryHealth=health
24
cathegoryImageryBaseMapsEarthCover=imageryBaseMapsEarthCover
25
cathegoryInlandWaters=inlandWaters
26
cathegoryIntelligenceMilitary=intelligenceMilitary
27
cathegoryLocation=location
28
cathegoryOceans=oceans
29
cathegoryPlanningCadastre=planningCadastre
30
cathegorySociety=society
31
cathegoryStructure=structure
32
cathegoryTransportation=transportation
33
cathegoryUtilitiesCommunication=utilitiesCommunication
34
scaleAny=qualquiera
35
scaleI=>1.000.000
36
scaleII=1.000.000 - 250.000
37
scaleIII=250.000 - 50.000
38
scaleIV=50.000 - 10.000
39
scaleV=10.000 - 5000
40
scaleVI=<5.000
41
scale=Escala
42
provider=Proveedor
43
from=De:
44
to=A:
45
upperCoordinates=Superiores
46
lowerCoordinates=Inferiores
47
ULX=ULX:
48
ULY=ULY:
49
BRX=BRX:
50
BRY=BRY:
51
abstract=Resumen
52
coordinates=Coordenadas
53
coordinatesEqual=igual
54
coordinatesContains=contiene
55
coordinatesEnclose=incluye
56
coordinatesFullyOutsideOf=est\u00e1 totalmente fuera de
57
title=Titulo
58
restrictArea=Restringir el area de B\u00fasqueda
59
protocolsGroup=Protocolos
60
serverReply=Respuesta del servidor
61
serverURL=Introduzca la direcci\u00f3n donde se encuentra el servidor de cat\u00e1logo
62
serverURLCat=Introduzca la direcci\u00f3n donde se encuentra el servidor de nomencl\u00e1tor
63
database=Nombre de la base de datos
64
connectButton=Conectar
65
searchButton=Buscar
66
results=Resultados
67
of=de
68
description=Descripcion
69
layer=A\u00f1adir Capa
70
next=Siquiente
71
last=Anterior
72
close=Cerrar
73
value=Valor
74
attributes=Atributos
75
keyWords=Palabras Clave
76
cathegory=Categor\u00eda
77
lastUpdateDate=Fecha de \u00faltima actualizaci\u00f3n
78
purpose=Prop\u00f3sito
79
errorServerNotFound=No se encuentra el servidor
80
errorNotSupportedProtocol=El servidor no soporta el protocolo especificado
81
errorNotSupportedCapabilities=Error al hacer un GetCapabilities.Esto puede ser debido a dos razones: O bien ha habido un error al intentar hacer la operaci\u00f3n, o bien el servidor no soporta el protocolo especificado
82
errorNotParsedReply=Error al procesar la respuesta. Se ha encontrado el servidor, pero posiblemente no soporta el protocolo especificado
83
name=Nombre
84
resutsByPage=Resultados por p\u00e1gina
85
type=Tipo
86
localize=Localizar
87
page=P\u00e1gina
88
errorNotThesaurusSelected=El protocolo WFS no permite hacer b\u00fasquedas si no se elige un elemento del tesauro
89
chooseAttribute=Elige un atributo para hacer la b\u00fasqueda
90
errorGetRecords=Se ha producido un error al hacer el getRecords
91
anyResult=La b\u00fasqueda no ha producido ning\u00fan resultado
92
rootName=Ra\u00edz
93
wcsColumn=Cobertura
94
wmsColumn=Mapa
95
wfsColumn=Feature
96
postgisColumn=Postgis
97
linkColumn=P\u00e1gina Web
98
downloadColumn=Descarga
99
errorNotCSWSupportedProtocol=Se ha encontrado el servidor, pero parece ser que no soporta el protocolo CS-W
100
errorIsASRWServer=Es un servidor SRW!
101
errorServerException=El servidor ha devuelto una excepci\u00f3n
102
errorSOAPProtocol=Error en el protocolo SOAP
103
errorFENotSupported=De momento solo se pueden hacer querys usando la codificaci\u00f3n FILTER ENCODING que no est\u00e1 soportada por el servidor
104
mantainold=Eliminar las busquedas anteriores
105
goto=Hacer un zoom a la b\u00fasqueda
106
paint=Dibujar el resultado
107
aspect=Configuracion de aspecto
108
unknown=Desconocido
109
cancelSearchButton=Cancelar
110
wmsError=Ha ocurrido un error al cargar el mapa
111
loadWMS=Carga de WMS
112
wfsError=Ha ocurrido un error al cargar la feature
113
wfsLoad=Carga de WFS
114
wcsError=Ha ocurrido un error al cargar la cobertura
115
wcsLoad=Carga de WCS
116
postgisError=Ha ocurrido un error al cargar la base de datos
117
postgisLoad=Carga de Postgis
118
linkError=Ha ocurrido un error al cargar el enlace
119
linkLoad=carga de un recurso web
120
link=Enlace
121
server=Servidor
122
layer=Capa
123
parameters=Par\u00e1metros
124
pluginNotFound=No tienes ninguna extensi\u00f3n para cargar recursos de este tipo
125
pluginNotFoundTitle=Carga de capas
126
inteligentSearch=B\u00fasqueda inteligente
127
inteligentSearchAscii=Todas las formas de la palabra
128
reproyectar_aviso=La proyecci\u00F3n de la capa no es igual que la de la vista.\nAVISO\: Puede ser inexacto con algunas transformaciones.\nPor favor, lea la documentaci\u00F3n.
129
reproyectar_pregunta=\u00BFDesea reproyectar?
130
elementName=ElementName
131
propertiesNameWindow=Ventana de propiedades
tags/v2_0_0_Build_2042/applications/appCatalog/src-test/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

  
tags/v2_0_0_Build_2042/applications/appCatalog/src-test/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

  
tags/v2_0_0_Build_2042/applications/appCatalog/src-test/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

  
tags/v2_0_0_Build_2042/applications/appCatalog/src-test/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

  
tags/v2_0_0_Build_2042/applications/appCatalog/config/ApplicationContextAlone.xml
1
<?xml version="1.0" encoding="UTF-8"?>
2
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
3

  
4
<beans>
5

  
6
  <bean id="placeholderConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
7
    <property name="location"><value>config/TestContext.properties</value></property>
8
  </bean>
9

  
10
  <!-- ========================= GENERAL DEFINITIONS ========================= -->
11

  
12
  <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
13
    <property name="basename"><value>messages</value></property>
14
  </bean>
15

  
16

  
17
  <!-- ========================= PERSISTENCE DEFINITIONS ========================= -->
18

  
19
  <!-- ========================= BUSINESS DEFINITIONS ========================= -->
20

  
21
  <bean id="OIDRegister" class="org.jzkit.a2j.codec.util.OIDRegister">
22
    <constructor-arg index="0"><value>/es/gva/cit/catalog/protocols/context/a2j.properties</value></constructor-arg>
23
  </bean>
24

  
25
  <!-- conversion rules -->
26
  <bean id="RPNToInternalRules" class="org.jzkit.util.PropsHolder">
27
    <constructor-arg index="0"><value>/es/gva/cit/catalog/protocols/context/InternalAttrTypes.properties</value></constructor-arg>
28
  </bean>
29

  
30
  <bean id="InternalToType1ConversionRules" class="org.jzkit.z3950.QueryModel.PropsBasedInternalToType1ConversionRules">
31
    <constructor-arg index="0"><value>/es/gva/cit/catalog/protocols/context/InternalToType1Rules.properties</value></constructor-arg>
32
  </bean>
33

  
34
</beans>
tags/v2_0_0_Build_2042/applications/appCatalog/config/ApplicationContext.xml
1
<?xml version="1.0" encoding="UTF-8"?>
2
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
3
<beans>
4
	<bean id="placeholderConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
5
    	<property name="location"><value>gvSIG/extensiones/es.gva.cit.gvsig.catalogClient/config/TestContext.properties</value></property>
6
	</bean>
7
<!-- ========================= GENERAL DEFINITIONS ========================= -->
8
	<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
9
    	<property name="basename"><value>messages</value></property>
10
	</bean>
11
<!-- ========================= PERSISTENCE DEFINITIONS ========================= -->
12

  
13
<!-- ========================= BUSINESS DEFINITIONS ========================= -->
14

  
15
	<bean id="OIDRegister" class="org.jzkit.a2j.codec.util.OIDRegister">
16
    	<constructor-arg index="0"><value>/es/gva/cit/catalog/protocols/context/a2j.properties</value></constructor-arg>
17
	</bean>
18

  
19
<!-- conversion rules -->
20
	<bean id="RPNToInternalRules" class="org.jzkit.util.PropsHolder">
21
    	<constructor-arg index="0"><value>/es/gva/cit/catalog/protocols/context/InternalAttrTypes.properties</value></constructor-arg>
22
	</bean>
23

  
24
  	<bean id="InternalToType1ConversionRules" class="org.jzkit.z3950.QueryModel.PropsBasedInternalToType1ConversionRules">
25
    	<constructor-arg index="0"><value>/es/gva/cit/catalog/protocols/context/InternalToType1Rules.properties</value></constructor-arg>
26
	</bean>
27
</beans>
tags/v2_0_0_Build_2042/applications/appCatalog/src/org/gvsig/catalog/languages/CommonQueryLanguage.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.languages;
43
import java.util.Iterator;
44
import java.util.StringTokenizer;
45

  
46
/**
47
 * This class is used to create a Common Query Language query.
48
 * See the specification for more information.
49
 * 
50
 * 
51
 * @author Jorge Piera Llodra (piera_jor@gva.es)
52
 * @see http://www.loc.gov/z3950/agency/zing/cql/
53
 */
54
public class CommonQueryLanguage extends AbstractGeneralLanguage {
55

  
56
/**
57
 * 
58
 * 
59
 * 
60
 * @param parameter 
61
 * @param line 
62
 * @param concordancia 
63
 */
64
    public void addClauses(String parameter, String line, String concordancia,String operator) {        
65
        currentClause = null;
66
        
67
        Iterator values = parseValues(line, concordancia);
68
        addClauses(parameter, values, concordancia,operator);
69
    } 
70

  
71
/**
72
 * 
73
 * 
74
 * 
75
 * @param parameter 
76
 * @param values 
77
 * @param concordancia 
78
 */
79
    public void addClauses(String parameter, Iterator values, String concordancia, String operator) {        
80
        while (values.hasNext())
81
            addTerm(parameter, (String) values.next(), concordancia);
82
        addCurrentClauseQuery(operator);
83
    } 
84

  
85
/**
86
 * It adds a new search field to the string
87
 * 
88
 * 
89
 * @param parameter 
90
 * @param value 
91
 * @param concordancia 
92
 */
93
    private void addTerm(String parameter, String value, String concordancia) {        
94
        StringBuffer term = new StringBuffer();
95
        term.append(parameter + "=" + cutWord(value, concordancia));
96
        if (currentClause == null) {
97
            currentClause = term.toString();
98
        } else {
99
            currentClause = "(" + currentClause + " " +
100
                getOperator(concordancia) + " " + term.toString() + ")";
101
            
102
        }          
103
    } 
104

  
105
/**
106
 * 
107
 * 
108
 */
109
    protected void addCurrentClauseQuery(String operator) {        
110
        if (currentClause != null) {
111
            if (currentQuery == null) {
112
                currentQuery = currentClause;
113
            } else {
114
                currentQuery = "(" + currentQuery + " " +
115
                operator  + " " + currentClause + ")";
116
            }
117
        }
118
    } 
119

  
120
/**
121
 * 
122
 * 
123
 * 
124
 * @return 
125
 */
126
    public String toString() {        
127
        return currentQuery;
128
    } 
129

  
130
/**
131
 * 
132
 * 
133
 * 
134
 * @return 
135
 * @param line 
136
 * @param titleKeys 
137
 */
138
    public String cutWord(String line, String titleKeys) {        
139
        
140
        if (titleKeys.equals("E")) {
141
            StringTokenizer sti = new StringTokenizer(line, " ", true);
142
            boolean first = true;
143
            String token = "";
144
            while (sti.hasMoreTokens()) {
145
                String currentToken = sti.nextToken();
146
                if (first) {
147
                    token = currentToken;
148
                    first = !first;
149
                } else if (!(currentToken.equals(" "))) {
150
                    token = "(" + token + " and " + currentToken + ")";
151
                }
152
            }
153
            return token;
154
        }
155
        return line;
156
    } 
157
 }
0 158

  
tags/v2_0_0_Build_2042/applications/appCatalog/src/org/gvsig/catalog/languages/BasicEncodingRules.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.languages;
43
import java.util.Iterator;
44

  
45
/**
46
 * This class is used to create a Basic Encoding Rules (BER) query.
47
 * See the specification for more information.
48
 * 
49
 * 
50
 * @author Jorge Piera Llodra (piera_jor@gva.es)
51
 * @see http://www.loc.gov/z3950/agency/
52
 */
53
public class BasicEncodingRules extends AbstractGeneralLanguage {
54

  
55
/**
56
 * It adds a new clause to the query
57
 * 
58
 * 
59
 * @param use It is a number that represent an attribute (4=Title,62=abstract,...)
60
 * @param structure It defines the attribute type (1=Phrase,2=wors,...)
61
 * @param relation Relation between the attribute and the query (1=LessThan,3=equal,...)
62
 * @param line String with the user introduced value
63
 * @param concordancia Relationship between different words of the same field (more than one words)
64
 * E,A o Y --> Exact, All, anY
65
 * @param operator Relationship between fields (title, abstract)
66
 * 'and' or 'or'
67
 */
68
    public void addClauses(String use, String structure, String relation, String line, String concordancia, String operator) {        
69
        currentClause = null;
70
        //Cut the words
71
        Iterator values = parseValues(line, concordancia);
72
        addClauses(use, structure, relation, values, concordancia,operator);
73
    } 
74

  
75
/**
76
 * It realize the same function than the "addClauses(String use, String structure
77
 * String relation,String line, String concordancia)" function, but the words
78
 * to find are in a vector.
79
 * 
80
 * 
81
 * @param use 
82
 * @param structure 
83
 * @param relation 
84
 * @param values 
85
 * @param concordancia 
86
 * @param operator 
87
 */
88
    public void addClauses(String use, String structure, String relation, Iterator values, String concordancia, String operator) {        
89
        while (values.hasNext())
90
            addTerm(use, structure, relation, (String) values.next(),
91
                getOperator(concordancia));
92
        addCurrentClauseQuery(operator);
93
    } 
94

  
95
/**
96
 * Add a new serch field
97
 * 
98
 * 
99
 * @param use BER use
100
 * @param structure BER structure
101
 * @param relation BER relation
102
 * @param value Filed value
103
 * @param operator "and" or "or"
104
 */
105
    private void addTerm(String use, String structure, String relation, String value, String operator) {        
106
        StringBuffer term = new StringBuffer();
107
        if (use != null) {
108
            term.append("@attr 1=" + use + " ");
109
        }
110
        if (structure != null) {
111
            term.append("@attr 4=" + structure + " ");
112
        }
113
        if (relation != null) {
114
            term.append("@attr 2=" + relation + " ");
115
        }
116
        term.append("\"" + value + "\" ");
117
        if (currentClause == null) {
118
            currentClause = term.toString();
119
        } else {
120
            currentClause = "@" + operator + " " + currentClause + " " + term;
121
        }
122
    } 
123

  
124
/**
125
 * It adds a new query to the current query.
126
 * 
127
 * 
128
 * @param operator 'and' or 'or'. Relation between fields
129
 */
130
    protected void addCurrentClauseQuery(String operator) {        
131
        if (currentClause != null) {
132
            if (currentQuery == null) {
133
                currentQuery = currentClause;
134
            } else {
135
                currentQuery = "@" + operator + " " + currentQuery + " " + currentClause;
136
            }
137
        }
138
    } 
139

  
140
/**
141
 * It returns the complete BER query
142
 * 
143
 * 
144
 * @return 
145
 */
146
    public String toString(String database) {        
147
        if ((database == null) || (database.equals(""))){
148
        	database = "geo";
149
        }
150
    	return "@attrset bib-1 " + currentQuery;
151
    } 
152
 }
0 153

  
tags/v2_0_0_Build_2042/applications/appCatalog/src/org/gvsig/catalog/languages/AbstractGeneralLanguage.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.languages;
43
import java.util.Iterator;
44
import java.util.StringTokenizer;
45
import java.util.Vector;
46

  
47
/**
48
 * All classes that implement a "Language" must to
49
 * inherit of this class
50
 * @author Jorge Piera Llodra (jorge.piera@iver.es)
51
 */
52
public abstract class AbstractGeneralLanguage implements ILanguages {
53
	public static final String EXACT_WORDS = "E";
54
	public static final String ANY_WORDS = "Y";
55
	public static final String ALL_WORDS = "A";
56
	public static final String AND = "And";
57
	public static final String OR = "Or";
58

  
59
	protected String currentQuery = null;
60
	protected String currentClause = null;
61

  
62
	/**
63
	 * Divide a phrase in lines
64
	 * @param concordancia If is 'E' (exact) don't divide
65
	 * @return Iteraror
66
	 * A set of words
67
	 * @param line phrase to search
68
	 * @param titleKeys 
69
	 */
70
	public Iterator parseValues(String line, String titleKeys){
71
		return parseValues(line, titleKeys, FilterEncoding.PROPERTY_IS_EQUALS_TO, null);
72
	}
73

  
74
	/**
75
	 * Divide a phrase in lines
76
	 *@param concordancia If is 'E' (exact) don't divide
77
	 * @return Iteraror
78
	 * A set of words
79
	 * @param line phrase to search
80
	 * @param titleKeys 
81
	 * @param relationship
82
	 * @param wildCard
83
	 */
84
	public Iterator parseValues(String line, String titleKeys, String relationship, String wildCard) {        
85
		Vector values = new Vector();
86

  
87
		if (titleKeys == null){
88
			titleKeys = EXACT_WORDS;
89
		}
90

  
91
		if (titleKeys.equals(EXACT_WORDS)) {
92
			values.add(line);
93
			return values.iterator();
94
		}
95
		StringTokenizer doubleQuotesTokenizer = new StringTokenizer(line, "\"",
96
				true);
97
		boolean inside = false;
98
		while (doubleQuotesTokenizer.hasMoreTokens()) {
99
			String token = doubleQuotesTokenizer.nextToken();
100
			if (token.equals("\"")) {
101
				inside = !inside;
102
			} else if (inside) {
103
				if (relationship.compareTo(FilterEncoding.PROPERTY_IS_LIKE) == 0){
104
					token = wildCard + token + wildCard;
105
				}
106
				values.add(token);
107
			} else {
108
				StringTokenizer spaceTokenizer = new StringTokenizer(token, " ");
109
				while (spaceTokenizer.hasMoreTokens()) {
110
					String value = spaceTokenizer.nextToken();
111
					if (relationship.compareTo(FilterEncoding.PROPERTY_IS_LIKE) == 0){
112
						value = wildCard + value + wildCard;
113
					}
114
					values.add(value);
115
				}
116
			}
117
		}
118
		return values.iterator();
119
	} 
120

  
121
	/**
122
	 * Return logic operators
123
	 * @return Or or And
124
	 * @param titleKeys E,A o Y --> Exact, All, anY
125
	 */
126
	public String getOperator(String titleKeys) {        
127
		if (titleKeys == null){
128
			titleKeys = EXACT_WORDS;
129
		} 
130
		if (titleKeys.equals(ANY_WORDS)) {
131
			return OR;
132
		} else {
133
			return AND;
134
		}
135
	} 
136
}
0 137

  
tags/v2_0_0_Build_2042/applications/appCatalog/src/org/gvsig/catalog/languages/FilterEncoding.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.languages;
43
import java.util.Iterator;
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff