Revision 1958

View differences:

org.gvsig.busquedacatastral/tags/org.gvsig.busquedacatastral-1.0.49/pom.xml
1
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
2
 <modelVersion>4.0.0</modelVersion>
3
 <parent>
4
  <groupId>org.gvsig</groupId>
5
  <artifactId>org.gvsig.desktop</artifactId>
6
  <version>2.0.284</version>
7
 </parent>
8
 <artifactId>org.gvsig.busquedacatastral</artifactId>
9
 <version>1.0.49</version>
10
 <packaging>pom</packaging>
11
 <name>org.gvsig.busquedacatastral</name>
12
 <description>Busqueda catastral Plugin</description>
13

  
14
 <repositories>
15
  <repository>
16
   <id>gvsig-public-http-repository</id>
17
   <name>gvSIG maven public HTTP repository</name>
18
   <url>http://devel.gvsig.org/m2repo/j2se</url>
19
   <releases>
20
    <enabled>true</enabled>
21
    <updatePolicy>daily</updatePolicy>
22
    <checksumPolicy>warn</checksumPolicy>
23
   </releases>
24
   <snapshots>
25
    <enabled>true</enabled>
26
    <updatePolicy>daily</updatePolicy>
27
    <checksumPolicy>warn</checksumPolicy>
28
   </snapshots>
29
  </repository>
30
 </repositories>
31

  
32
 <url>dav:https://devel.gvsig.org/sites/${project.artifactId}/${project.version}</url>
33
 <scm>
34
  <connection>scm:svn:https://devel.gvsig.org/svn/gvsig-projects-pool/org.gvsig.busquedacatastral/tags/org.gvsig.busquedacatastral-1.0.49</connection>
35
  <developerConnection>scm:svn:https://devel.gvsig.org/svn/gvsig-projects-pool/org.gvsig.busquedacatastral/tags/org.gvsig.busquedacatastral-1.0.49</developerConnection>
36
  <url>https://devel.gvsig.org/redmine/projects/gvsig-projects-pool/repository/show/org.gvsig.busquedacatastral/tags/org.gvsig.busquedacatastral-1.0.49</url>
37
 </scm>
38

  
39
 <distributionManagement>
40
  <site>
41
   <id>gvsig-repository</id>
42
   <url>dav:https://devel.gvsig.org/sites/${project.artifactId}/${project.version}</url>
43
  </site>
44
 </distributionManagement>
45

  
46
 <build>
47
  <plugins>
48
   <plugin>
49
    <groupId>org.apache.maven.plugins</groupId>
50
    <artifactId>maven-release-plugin</artifactId>
51
    <configuration>
52
     <tagBase>https://devel.gvsig.org/svn/gvsig-projects-pool/${project.artifactId}/tags</tagBase>
53
    </configuration>
54
   </plugin>
55
  </plugins>
56
 </build>
57

  
58
 <dependencyManagement>
59
  <dependencies>
60
   <dependency>
61
    <groupId>org.gvsig</groupId>
62
    <artifactId>org.gvsig.busquedacatastral.app.mainplugin</artifactId>
63
    <version>${org.gvsig.busquedacatastral.version}</version>
64
   </dependency>
65
   <dependency>
66
    <groupId>org.gvsig</groupId>
67
    <artifactId>org.gvsig.busquedacatastral.lib.api</artifactId>
68
    <version>${org.gvsig.busquedacatastral.version}</version>
69
   </dependency>
70
   <dependency>
71
    <groupId>org.gvsig</groupId>
72
    <artifactId>org.gvsig.busquedacatastral.lib.impl</artifactId>
73
    <version>${org.gvsig.busquedacatastral.version}</version>
74
   </dependency>
75
   <dependency>
76
    <groupId>org.gvsig</groupId>
77
    <artifactId>org.gvsig.busquedacatastral.swing.api</artifactId>
78
    <version>${org.gvsig.busquedacatastral.version}</version>
79
   </dependency>
80
   <dependency>
81
    <groupId>org.gvsig</groupId>
82
    <artifactId>org.gvsig.busquedacatastral.swing.impl</artifactId>
83
    <version>${org.gvsig.busquedacatastral.version}</version>
84
   </dependency>
85

  
86
   <!--These dependencies are added to use the webservice and parse its response -->
87
   <dependency>
88
    <groupId>axis</groupId>
89
    <artifactId>axis-jaxrpc</artifactId>
90
    <version>1.4</version>
91
   </dependency>
92
   <dependency>
93
    <groupId>org.apache.axis</groupId>
94
    <artifactId>axis</artifactId>
95
    <version>1.4</version>
96
   </dependency>
97
   <dependency>
98
    <groupId>commons-logging</groupId>
99
    <artifactId>commons-logging</artifactId>
100
    <version>1.1.1</version>
101
   </dependency>
102
   <dependency>
103
    <groupId>commons-discovery</groupId>
104
    <artifactId>commons-discovery</artifactId>
105
    <version>0.4</version>
106
   </dependency>
107
   <dependency>
108
    <groupId>wsdl4j</groupId>
109
    <artifactId>wsdl4j</artifactId>
110
    <version>1.6.2</version>
111
   </dependency>
112

  
113
  </dependencies>
114
 </dependencyManagement>
115

  
116
 <modules>
117
  <module>org.gvsig.busquedacatastral.app</module>
118
  <module>org.gvsig.busquedacatastral.lib</module>
119
  <module>org.gvsig.busquedacatastral.swing</module>
120
 </modules>
121

  
122
 <properties>
123
  <org.gvsig.busquedacatastral.version>1.0.49</org.gvsig.busquedacatastral.version>
124
 </properties>
125
</project>
org.gvsig.busquedacatastral/tags/org.gvsig.busquedacatastral-1.0.49/org.gvsig.busquedacatastral.app/pom.xml
1
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
2
  <modelVersion>4.0.0</modelVersion>
3
  <parent>
4
    <groupId>org.gvsig</groupId>
5
    <artifactId>org.gvsig.busquedacatastral</artifactId>
6
    <version>1.0.49</version>
7
  </parent>
8
  <artifactId>org.gvsig.busquedacatastral.app</artifactId>
9
  <packaging>pom</packaging>
10
  <modules>
11
   <module>org.gvsig.busquedacatastral.app.mainplugin</module>
12
  </modules>
13
</project>
org.gvsig.busquedacatastral/tags/org.gvsig.busquedacatastral-1.0.49/org.gvsig.busquedacatastral.app/org.gvsig.busquedacatastral.app.mainplugin/pom.xml
1
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
2
 <modelVersion>4.0.0</modelVersion>
3
 <parent>
4
  <groupId>org.gvsig</groupId>
5
  <artifactId>org.gvsig.busquedacatastral.app</artifactId>
6
  <version>1.0.49</version>
7
 </parent>
8
 <artifactId>org.gvsig.busquedacatastral.app.mainplugin</artifactId>
9
 <name>${project.artifactId}</name>
10

  
11
 <dependencies>
12
  <dependency>
13
   <groupId>org.gvsig</groupId>
14
   <artifactId>org.gvsig.busquedacatastral.lib.api</artifactId>
15
  </dependency>
16
  <dependency>
17
   <groupId>org.gvsig</groupId>
18
   <artifactId>org.gvsig.busquedacatastral.lib.impl</artifactId>
19
  </dependency>
20
  <dependency>
21
   <groupId>org.gvsig</groupId>
22
   <artifactId>org.gvsig.busquedacatastral.swing.api</artifactId>
23
  </dependency>
24
  <dependency>
25
   <groupId>org.gvsig</groupId>
26
   <artifactId>org.gvsig.busquedacatastral.swing.impl</artifactId>
27
  </dependency>
28
  <dependency>
29
   <groupId>org.gvsig</groupId>
30
   <artifactId>org.gvsig.app.mainplugin</artifactId>
31
   <scope>compile</scope>
32
  </dependency>
33

  
34
  <!--These dependencies are added to use the webservice and parse its response -->
35
  <dependency>
36
   <groupId>axis</groupId>
37
   <artifactId>axis-jaxrpc</artifactId>
38
   <scope>compile</scope>
39
  </dependency>
40
  <dependency>
41
   <groupId>org.apache.axis</groupId>
42
   <artifactId>axis</artifactId>
43
   <scope>compile</scope>
44
  </dependency>
45
  <dependency>
46
   <groupId>commons-logging</groupId>
47
   <artifactId>commons-logging</artifactId>
48
   <scope>compile</scope>
49
  </dependency>
50
  <dependency>
51
   <groupId>commons-discovery</groupId>
52
   <artifactId>commons-discovery</artifactId>
53
   <scope>compile</scope>
54
  </dependency>
55
  <dependency>
56
   <groupId>wsdl4j</groupId>
57
   <artifactId>wsdl4j</artifactId>
58
   <scope>compile</scope>
59
  </dependency>
60

  
61

  
62
 </dependencies>
63

  
64
 <properties>
65
  <!-- Package info property values -->
66
  <gvsig.package.info.state>testing</gvsig.package.info.state>
67
  <gvsig.package.info.dependencies>required: org.gvsig.app.mainplugin -ge
68
   2.1.0-A</gvsig.package.info.dependencies>
69
  <gvsig.package.info.official>true</gvsig.package.info.official>
70
  <gvsig.package.info.name>Tools: Buscador Catastro (Spain)"</gvsig.package.info.name>
71
  <gvsig.package.info.description>Searchs for catastro info</gvsig.package.info.description>
72
  <gvsig.package.info.categories>Remote Services,Catastro</gvsig.package.info.categories>
73
  <gvsig.package.info.javaVM>j1_8</gvsig.package.info.javaVM>
74
  <gvsig.package.info.poolURL>https://devel.gvsig.org/download/projects/gvsig-busquedacatastral/pool</gvsig.package.info.poolURL>
75
 </properties>
76
</project>
org.gvsig.busquedacatastral/tags/org.gvsig.busquedacatastral-1.0.49/org.gvsig.busquedacatastral.app/org.gvsig.busquedacatastral.app.mainplugin/buildNumber.properties
1
#Thu Jun 18 14:06:22 CEST 2020
2
buildNumber=52
org.gvsig.busquedacatastral/tags/org.gvsig.busquedacatastral-1.0.49/org.gvsig.busquedacatastral.app/org.gvsig.busquedacatastral.app.mainplugin/src/main/assembly/gvsig-plugin-package.xml
1
<assembly>
2
  <id>gvsig-plugin-package</id>
3
  <formats>
4
    <format>zip</format>
5
  </formats>
6
  <baseDirectory>${project.artifactId}</baseDirectory>
7
  <includeBaseDirectory>true</includeBaseDirectory>
8
  <files>
9
    <file>
10
      <source>target/${project.artifactId}-${project.version}.jar</source>
11
      <outputDirectory>lib</outputDirectory>
12
    </file>
13
    <file>
14
      <source>target/package.info</source>
15
    </file>
16
  </files>
17

  
18
  <fileSets>
19
    <fileSet>
20
      <directory>src/main/resources-plugin</directory>
21
      <outputDirectory>.</outputDirectory>
22
    </fileSet>
23
  </fileSets>
24

  
25
  <dependencySets>
26
    <dependencySet>
27
      <useProjectArtifact>false</useProjectArtifact>
28
      <useTransitiveDependencies>false</useTransitiveDependencies>
29
      <outputDirectory>lib</outputDirectory>
30
      <includes>
31
        <include>org.gvsig:org.gvsig.busquedacatastral.lib.api</include>
32
        <include>org.gvsig:org.gvsig.busquedacatastral.lib.impl</include>
33
        <include>org.gvsig:org.gvsig.busquedacatastral.swing.api</include>
34
        <include>org.gvsig:org.gvsig.busquedacatastral.swing.impl</include>
35
        <include>axis:axis-jaxrpc</include>
36
        <include>org.apache.axis:axis</include>
37
        <include>commons-logging:commons-logging</include>
38
        <include>commons-discovery:commons-discovery</include>
39
        <include>wsdl4j:wsdl4j</include>
40
      </includes>
41
    </dependencySet>
42
  </dependencySets>
43

  
44
</assembly>
org.gvsig.busquedacatastral/tags/org.gvsig.busquedacatastral-1.0.49/org.gvsig.busquedacatastral.app/org.gvsig.busquedacatastral.app.mainplugin/src/main/java/org/gvsig/busquedacatastral/app/mainplugin/BusquedaCatastralExtension.java
1
/* gvSIG. Desktop Geographic Information System.
2
 *
3
 * Copyright ? 2007-2016 gvSIG Association
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
18
 * MA  02110-1301, USA.
19
 *
20
 * For any additional information, do not hesitate to contact us
21
 * at info AT gvsig.com, or visit our website www.gvsig.com.
22
 */
23
package org.gvsig.busquedacatastral.app.mainplugin;
24

  
25
import java.awt.Color;
26
import java.awt.event.ActionEvent;
27
import java.awt.event.ActionListener;
28
import java.io.File;
29

  
30
import javax.swing.JOptionPane;
31

  
32
import org.apache.commons.lang3.StringUtils;
33
import org.cresques.cts.IProjection;
34

  
35
import org.gvsig.andami.IconThemeHelper;
36
import org.gvsig.andami.Utilities;
37
import org.gvsig.andami.plugins.Extension;
38
import org.gvsig.app.ApplicationLocator;
39
import org.gvsig.app.ApplicationManager;
40
import org.gvsig.app.project.documents.view.ViewDocument;
41
import org.gvsig.app.project.documents.view.gui.IView;
42
import org.gvsig.busquedacatastral.lib.api.BusquedaCatastralLocator;
43
import org.gvsig.busquedacatastral.lib.api.BusquedaCatastralManager;
44
import org.gvsig.busquedacatastral.lib.api.ReferenciaCatastral;
45
import org.gvsig.busquedacatastral.lib.api.exceptions.BusquedaCatastralException;
46
import org.gvsig.busquedacatastral.lib.api.exceptions.BusquedaCatastralRemoteServiceException;
47
import org.gvsig.busquedacatastral.lib.impl.ws.CallejeroCatastroWSLocator;
48
import org.gvsig.busquedacatastral.swing.api.BusquedaCatastralConsultaCatastralPanel;
49
import org.gvsig.busquedacatastral.swing.api.BusquedaCatastralSwingLocator;
50
import org.gvsig.busquedacatastral.swing.api.exceptions.BusquedaCatastralCreatingPanelException;
51
import org.gvsig.busquedacatastral.swing.api.exceptions.BusquedaCatastralObtainingDataException;
52
import org.gvsig.busquedacatastral.swing.api.exceptions.BusquedaCatastralObtainingPointException;
53
import org.gvsig.fmap.geom.Geometry;
54
import org.gvsig.fmap.geom.GeometryLocator;
55
import org.gvsig.fmap.geom.GeometryManager;
56
import org.gvsig.fmap.geom.primitive.Envelope;
57
import org.gvsig.fmap.geom.primitive.Point;
58
import org.gvsig.fmap.mapcontext.MapContext;
59
import org.gvsig.fmap.mapcontext.MapContextLocator;
60
import org.gvsig.fmap.mapcontext.ViewPort;
61
import org.gvsig.fmap.mapcontext.layers.vectorial.GraphicLayer;
62
import org.gvsig.fmap.mapcontext.rendering.symbols.ISymbol;
63
import org.gvsig.fmap.mapcontext.rendering.symbols.SymbolManager;
64
import org.gvsig.symbology.SymbologyLocator;
65
import org.gvsig.symbology.SymbologyManager;
66
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.text.ISimpleTextSymbol;
67
import org.gvsig.tools.ToolsLocator;
68
import org.gvsig.tools.dynobject.DynObject;
69
import org.gvsig.tools.i18n.I18nManager;
70
import org.gvsig.tools.locator.LocatorException;
71
import org.gvsig.tools.swing.api.ToolsSwingLocator;
72
import org.gvsig.tools.swing.api.windowmanager.WindowManager;
73

  
74
import org.slf4j.Logger;
75
import org.slf4j.LoggerFactory;
76

  
77

  
78

  
79
/**
80
 * Extension for catastral data searchs
81
 * @author dmartinez (dmartinez@disid.com)
82
 */
83
public class BusquedaCatastralExtension extends Extension {
84
	private Logger              logger           = LoggerFactory.getLogger(BusquedaCatastralExtension.class);
85

  
86
	private static final String CACHEFOLDERNAME="BusquedaCatastral";
87

  
88
	public static final String SHOW_POINT_BUSQUEDACATASTRAL_ID = "ShowPointBusquedaCatastral";
89

  
90
	public void initialize() {
91
	    IconThemeHelper.registerIcon(null, "view-navigation-busqueda-catastral", this);
92
	    BusquedaCatastralLocator.getManager().setCacheFolder(new File(Utilities.TEMPDIRECTORYPATH, CACHEFOLDERNAME));
93
	}
94

  
95
	public void postInitialize() {
96

  
97
	}
98

  
99
	public void execute(String actionCommand) {
100
	    final WindowManager winManager = ToolsSwingLocator.getWindowManager();
101
	    final I18nManager i18nManager = ToolsLocator.getI18nManager();
102

  
103
	    if (StringUtils.equalsIgnoreCase(actionCommand, "busqueda-catastral")) {
104
	        //Create GUI to query catastro
105
	        BusquedaCatastralConsultaCatastralPanel panel;
106
            try {
107
                panel = BusquedaCatastralSwingLocator.getManager().createConsultaCatastralPanel();
108
            } catch (BusquedaCatastralRemoteServiceException e) {
109
                logger.error("Error creating panel", e);
110
                JOptionPane.showMessageDialog(
111
                    null,
112
                    new StringBuilder().append(i18nManager.getTranslation("_error_accesing_catastral_server")),
113
                    i18nManager.getTranslation("error"), JOptionPane.ERROR_MESSAGE);
114
                return;
115
            } catch (Exception e) {
116
                logger.error("Error creating panel", e);
117
                JOptionPane.showMessageDialog(
118
                    null,
119
                    new StringBuilder().append(i18nManager.getTranslation("_error_creating_panel"))
120
                        .append(":").append(e.getLocalizedMessage()),
121
                    i18nManager.getTranslation("error"), JOptionPane.ERROR_MESSAGE);
122
                return;
123
            }
124
            panel.addActionListener(new ActionListener() {
125

  
126
                public void actionPerformed(ActionEvent event) {
127
                    BusquedaCatastralConsultaCatastralPanel panel = (BusquedaCatastralConsultaCatastralPanel) event.getSource();
128
                    if (panel.isSelectedAction(BusquedaCatastralConsultaCatastralPanel.PanelAction.CANCEL)) {
129
                        return;
130
                    }else if(panel.isSelectedAction(BusquedaCatastralConsultaCatastralPanel.PanelAction.FOCUSTOPOINT)){
131
                        Point selectedPoint;
132
                        ReferenciaCatastral selectedRefCatastral;
133
                        try {
134
                            selectedPoint = panel.getPoint(getActiveViewProjection());
135
                            selectedRefCatastral=panel.getSelectedReferenciaCatastral();
136
                        } catch (BusquedaCatastralObtainingPointException e) {
137
                            logger.error("Error obtaining point", e);
138
                            JOptionPane.showMessageDialog(
139
                                null,
140
                                new StringBuilder().append(i18nManager.getTranslation("_error_obtaining_point"))
141
                                    .append(":").append(e.getLocalizedMessage()),
142
                                i18nManager.getTranslation("error"), JOptionPane.ERROR_MESSAGE);
143
                            return;
144
                        }
145
                        focusToPoint(selectedPoint);
146
                        showPoint(selectedPoint,selectedRefCatastral.getRC());
147
                    }else if(panel.isSelectedAction(BusquedaCatastralConsultaCatastralPanel.PanelAction.DELETEPOINTS)){
148
                        deletePoints();
149
                    }else if(panel.isSelectedAction(BusquedaCatastralConsultaCatastralPanel.PanelAction.SHOWDATA)){
150
                        try {
151
                            DynObject datosCatastrales=panel.getDatosCatastrales();
152
                        } catch (BusquedaCatastralObtainingDataException e) {
153
                            logger.error("Error obtaining datos catastrales", e);
154
                            JOptionPane.showMessageDialog(
155
                                null,
156
                                new StringBuilder().append(i18nManager.getTranslation("_error_obtaining_data"))
157
                                    .append(":").append(e.getLocalizedMessage()),
158
                                i18nManager.getTranslation("error"), JOptionPane.ERROR_MESSAGE);
159
                            return;
160
                        }
161
                        //TODO Mostrar los datos obtenidos
162
                    }
163
                }
164
            });
165

  
166
            winManager.showWindow(panel.asJComponent(), i18nManager.getTranslation("_busqueda_catastral"),
167
                WindowManager.MODE.WINDOW);
168

  
169
	    }
170
	}
171

  
172

  
173

  
174
	public boolean isEnabled() {
175
	  //It needs an active view with a valid viewport
176
	    IView view = getActiveView();
177
        if (view != null) {
178
            ViewPort viewPort = view.getMapControl().getViewPort();
179
            Envelope viewPortEnvelope = viewPort.getEnvelope();
180
            if(viewPortEnvelope == null || viewPortEnvelope.isEmpty()){
181
                return false;
182
            }
183
            return true;
184
        }
185
        return false;
186
	}
187

  
188
	public boolean isVisible() {
189
	    //It needs an active view
190
	    IView view = getActiveView();
191
        if (view != null) {
192
            return true;
193
        }
194
        return false;
195
	}
196

  
197

  
198
    private IView getActiveView() {
199
        ApplicationManager application = ApplicationLocator.getManager();
200
        IView view = (IView) application.getActiveComponent(ViewDocument.class);
201
        return view;
202
    }
203

  
204
    private IProjection getActiveViewProjection(){
205
        if (getActiveView()!=null){
206
            return getActiveView().getMapControl().getViewPort().getProjection();
207
        }else{
208
            return null;
209
        }
210
    }
211

  
212
    /**
213
     * Focus the view centered in a selected Point
214
     * @param focusPoint
215
     */
216
    private void focusToPoint(Point focusPoint){
217
        IView activeView = getActiveView();
218
        if (activeView!=null){
219
            ViewPort viewPort =activeView.getMapControl().getViewPort();
220
            MapContext mapContext = activeView.getMapControl().getMapContext();
221
            Envelope envelope = viewPort.getAdjustedEnvelope();
222
            envelope.centerTo(focusPoint);
223
            mapContext.zoomToEnvelope(envelope);
224
        }
225
    }
226

  
227

  
228
    /**
229
     * Show the m in the point p on the graphicLayer
230
     *
231
     * @param m
232
     * @param ct
233
     */
234
    private void showPoint(Point p, String refCatastral) {
235
        IView activeView = getActiveView();
236
        if (activeView!=null){
237
            ViewPort viewPort =activeView.getMapControl().getViewPort();
238
            MapContext mapContext = activeView.getMapControl().getMapContext();
239
            GraphicLayer graphics = mapContext.getGraphicsLayer();
240
            GeometryManager geomManager = GeometryLocator.getGeometryManager();
241
            SymbolManager symbolManager = MapContextLocator.getSymbolManager();
242

  
243
            ISymbol markerSymbol = symbolManager.createSymbol(Geometry.TYPES.POINT, Color.RED);
244
            ISimpleTextSymbol textSymbol = getTextSymbol();
245
            textSymbol.setColor(Color.RED);
246
            textSymbol.setText(refCatastral);
247
            int idMarkerSymbol = graphics.addSymbol(markerSymbol);
248
            int idTextSymbol = graphics.addSymbol(textSymbol);
249
            Point clonedPoint = (Point) p.cloneGeometry();
250
            graphics.addGraphic(SHOW_POINT_BUSQUEDACATASTRAL_ID, clonedPoint, idTextSymbol);
251
            graphics.addGraphic(SHOW_POINT_BUSQUEDACATASTRAL_ID, clonedPoint, idMarkerSymbol);
252
            mapContext.invalidate();
253
        }
254
    }
255

  
256
    /*
257
     * Creates a text symbol to be used
258
     */
259
    private ISimpleTextSymbol getTextSymbol(){
260
        SymbologyManager symbologyManager = SymbologyLocator.getSymbologyManager();
261
        ISimpleTextSymbol textSymbol = symbologyManager.createSimpleTextSymbol();
262
        textSymbol.setFontSize(10);
263
        return textSymbol;
264
    }
265

  
266
    private void deletePoints(){
267
        IView activeView = getActiveView();
268
        if (activeView!=null){
269
            ViewPort viewPort =activeView.getMapControl().getViewPort();
270
            MapContext mapContext = activeView.getMapControl().getMapContext();
271
            GraphicLayer graphics = mapContext.getGraphicsLayer();
272
            graphics.removeGraphics(SHOW_POINT_BUSQUEDACATASTRAL_ID);
273
            mapContext.invalidate();
274
        }
275

  
276
    }
277

  
278
}
org.gvsig.busquedacatastral/tags/org.gvsig.busquedacatastral-1.0.49/org.gvsig.busquedacatastral.app/org.gvsig.busquedacatastral.app.mainplugin/src/main/resources-plugin/i18n/text.properties
1
#Translations for language [es]
2
#Mon Feb 26 16:06:24 CET 2007
3
#\u00e1 \u00e9 \u00ed \u00f3 \u00fa
4
_busqueda_catastral=B\u00fasqueda Catastral
5
_busqueda_municipios=B\u00fasqueda Municipios
6
_busqueda_vias=B\u00fasqueda V\u00edas
7
_busqueda_numeros=B\u00fasqueda N\u00fameros
8

  
9
_BusquedaCatastralGettingParametersException=Error obteniendo los par\u00e1metros
10
_BusquedaCatastralGettingDataException=Error obteniendo los datos solicitados
11
_BusquedaCatastralInvalidSRSException=El SRS usado no es v\u00e1lido para el catastro
12
_BusquedaCatastralCreatingPanelException=Error creando el panel
13
_BusquedaCatastralObtainingPointException=Error obteniendo el punto requerido
14
_BusquedaCatastralObtainingDataException=Error obteniendo los datos requeridos
15
_error_getting_parameters=Error en los par\u00e1metros introducidos
16
_error_needed_parameters=Falta par\u00e1metro necesario
17
_error_invalid_query=La consulta no es v\u00e1lida
18
_error_obtaining_data=Error obteniendo los datos
19
_error_creating_panel=Error creando el panel
20
_error_obtaining_point=Error obteniendo el punto
21
_error_getting_municipios=Error obteniendo los municipios
22
_error_getting_vias=Error obteniendo las v\u00edas
23
_error_getting_numeros=Error obteniendo los n\u00fameros
24
_numero_not_found_for_parameters=No se ha encontrado ning\u00fan n\u00famero para los par\u00e1metros indicados
25

  
26
_error_obtaining_catastro_webservice=Error obteniendo el servicio web del catastro
27
_error_reading_response_from_ws=Error leyendo la respuesta dada por el webservice
28
_no_hay_municipio_seleccionado=Debe de seleccionar un municipio.
29
_no_hay_via_seleccionada=Debe de seleccionar una v\u00eda.
30
_no_hay_numero_seleccionado=Debe de seleccionar un n\u00famero
31
_error_getting_feature_store=Error obteniendo almac\u00e9n de datos
32
_error_reading_feature_store=Error leyendo almac\u00e9n de datos
33
_error_getting_cache_file=Error obteniendo fichero de la cache
34
_error_borrando_cache=Error borrando la cache
35
_error_provincia_not_informed=Falta el campo Provincia
36
_error_municipio_not_informed=Falta el campo Municipio
37
_error_tipo_parcela_not_informed=Debe indicar el tipo de parcela
38
_error_tipo_via_not_informed=Falta el campo tipo de via
39
_error_via_not_informed=Falta el campo Via
40
_error_numero_not_informed=Falta el N\u00famero
41
_error_poligono_not_informed=Falta el Pol\u00edgono
42
_error_parcela_not_informed=Falta la Parcela
43
_error_rc_not_informed=Falta la referencia catastral
44
_error_refCatastral_not_informed=Referencia catastral no v\u00e1lida
45
_error_tipo_query_not_informed=Falta el tipo de consulta
46
_error_SRS=Error SRS no correcto
47
_error_creando_panel_busqueda_catastral=Se ha producido un error intentando crear el panel de B\u00fasqueda Catastral
48
_error_creando_panel_vias=Se ha producido un error intentando crear el panel de B\u00fasqueda V\u00edas
49
_error_creando_panel_municipios=Se ha producido un error intentando crear el panel de B\u00fasqueda Municipios
50
_cache_delete_ok=Cach\u00e9 borrada correctamente
51
_no_se_han_encontrado_resultados_para_estos_datos=No se han encontrado resultados para los datos indicados
52
_error_couldnt_get_coords=No se han encontrado coordenadas para esta referencia
53
_error_obteniendo_el_punto_para_ref_catastral=No se han encontrado coordenadas para la referencia
54
_errors_found_by_ws=El servicio web ha encontrado errores
55
_error_reprojecting_point=Se ha producido un error intentado reproyectar el punto a la vista seleccionada
56

  
57
_proyeccion_no_valida_se_usara_valor_por_defecto=Proyecci\u00f3n no admitida por el catastro. Se usar\u00e1 la proyecci\u00f3n por defecto
58
_provincia_vacia_en_busqueda_municipios=Provincia vac\u00eda en panel de b\u00fasqueda de municipios
59
_provincia_vacia_en_busqueda_vias=Provincia vac\u00eda en panel de b\u00fasqueda de v\u00edas
60
_municipio_vacio_en_busqueda_vias=Municipio vac\u00edo en panel de b\u00fasqueda de v\u00edas
61
_provincia_vacia_en_busqueda_numeros=Provincia vac\u00eda en panel de b\u00fasqueda de n\u00fameros
62
_municipio_vacio_en_busqueda_numeros=Municipio vac\u00edo en panel de b\u00fasqueda de n\u00fameros
63
_via_vacia_en_busqueda_numeros=V\u00eda vac\u00edo en panel de b\u00fasqueda de n\u00fameros
64

  
65
_referencia_catastral=Referencia Catastral
66
_localizacion=Localizaci\u00f3n
67
_provincia=Provincia
68
_municipio=Municipio
69
_municipios=Municipios
70
_urbanos=Urbanos
71
_via=Via
72
_vias=Vias
73
_numero=N\u00famero
74
_numeros=N\u00fameros
75
_bloque=Bloque
76
_escalera=Escalera
77
_planta=Planta
78
_puerta=Puerta
79
_rusticos=R\u00fasticos
80
_poligono=Pol\u00edgono
81
_parcela=Parcela
82
_borrar_cache=Borrar cach\u00e9
83
_buscar=Buscar
84
_ver_datos=Ver datos
85
_localizar=Localizar
86
_cancelar=Cancelar
87
_aceptar=Aceptar
88
_desde=Desde
89
_hasta=Hasta
90
_km=Km
91
_paraje=Paraje
92
_borrar_puntos=Borrar Puntos
93
_loading_data=Cargando datos
94

  
95
_error_accesing_catastral_server=Error accediendo al servidor de Catastro.\nRevise su conexi?n a internet.\nSi es correcta, tal vez el servidor est? fuera de servicio.
96

  
org.gvsig.busquedacatastral/tags/org.gvsig.busquedacatastral-1.0.49/org.gvsig.busquedacatastral.app/org.gvsig.busquedacatastral.app.mainplugin/src/main/resources-plugin/i18n/text_en.properties
1
#Translations for language [en]
2
#Tue Jun 05 16:07:12 CEST 2007
3
_busqueda_catastral=Cadastral Search
4
_busqueda_municipios=Municipality Search
5
_busqueda_vias=Street Search
6
_busqueda_numeros=Number Search
7

  
8
_BusquedaCatastralGettingParametersException=Error getting parameters
9
_BusquedaCatastralGettingDataException=Error getting data
10
_BusquedaCatastralInvalidSRSException=SRS not valid for cadastre
11
_BusquedaCatastralCreatingPanelException=Error creating panel
12
_BusquedaCatastralObtainingPointException=Error getting point
13
_BusquedaCatastralObtainingDataException=Error getting data
14
_error_getting_parameters=Error getting parameters
15
_error_needed_parameters=Needed parameter
16
_error_invalid_query=Invalid query
17
_error_obtaining_data=Error getting data
18
_error_creating_panel=Error creating panel
19
_error_obtaining_point=Error getting point
20
_error_getting_municipios=Error getting municipalities
21
_error_getting_vias=Error getting streets
22
_error_getting_numeros=Error getting numbers
23
_numero_not_found_for_parameters=Number not found
24

  
25
_error_obtaining_catastro_webservice=Error getting cadastre webservice
26
_error_reading_response_from_ws=Error reding webservice response
27
_no_hay_municipio_seleccionado=A municipality must be selected
28
_no_hay_via_seleccionada=A street must be selected
29
_no_hay_numero_seleccionado=A number must be selected
30
_error_getting_feature_store=Error getting data store
31
_error_reading_feature_store=Error reading feature store
32
_error_getting_cache_file=Error getting cache file
33
_error_borrando_cache=Error deleting cache
34
_error_provincia_not_informed=Province not informed
35
_error_municipio_not_informed=Municipality not informed
36
_error_tipo_parcela_not_informed=Smallholding type not informed
37
_error_tipo_via_not_informed=Street type not informed
38
_error_via_not_informed=Street not informed
39
_error_numero_not_informed=Number not informed
40
_error_poligono_not_informed=Zone not informed
41
_error_parcela_not_informed=Smallholding not informed
42
_error_rc_not_informed=Cadastral reference not informed
43
_error_refCatastral_not_informed=Cadastral reference not valid
44
_error_tipo_query_not_informed=Query type not informed
45
_error_SRS=Invalid SRS
46
_error_creando_panel_busqueda_catastral=Error creating Cadastral Search Panel
47
_error_creando_panel_vias=Error creating Street Search Panel
48
_error_creando_panel_municipios=Error creating Municipality Search Panel
49
_cache_delete_ok=Cache deleted correctly
50
_no_se_han_encontrado_resultados_para_estos_datos=There is not data for these parameters
51
_error_couldnt_get_coords=Coordinates not found for this reference
52
_error_obteniendo_el_punto_para_ref_catastral=Coordinates not found for this reference
53
_errors_found_by_ws=Webservice has found errors
54
_error_reprojecting_point=Error reprojecting point
55

  
56
_proyeccion_no_valida_se_usara_valor_por_defecto=Projection not valid for Cadastre. Default projection will be used
57
_provincia_vacia_en_busqueda_municipios=Empty Province in Municipality Search Panel
58
_provincia_vacia_en_busqueda_vias=Empty Province in Street Search Panel
59
_municipio_vacio_en_busqueda_vias=Empty Municipality in Street Search Panel
60
_provincia_vacia_en_busqueda_numeros=Empty Province in Numbers Search Panel
61
_municipio_vacio_en_busqueda_numeros=Empty Municipality in Numbers Search Panel
62
_via_vacia_en_busqueda_numeros=Empty Street in Numbers Search Panel
63

  
64
_referencia_catastral=Cadastral reference
65
_localizacion=Location
66
_provincia=Province
67
_municipio=Municipality
68
_municipios=Municipalities
69
_urbanos=Urban
70
_via=Street
71
_vias=Streets
72
_numero=Number
73
_numeros=Numbers
74
_bloque=Block
75
_escalera=Stair
76
_planta=Floor
77
_puerta=Door
78
_rusticos=Rustic
79
_poligono=Zone
80
_parcela=Smallholding
81
_borrar_cache=Delete Cache
82
_buscar=Search
83
_ver_datos=View Data
84
_localizar=Locate
85
_cancelar=Cancel
86
_aceptar=Accept
87
_desde=From
88
_hasta=To
89
_km=Km
90
_paraje=Setting
91
_borrar_puntos=Delete points
92
_loading_data=Loading Data
93

  
94
_error_accesing_catastral_server=Error accessing the Catastro server.\nCheck your internet connection.\nIf it is correct, perhaps, the server is out of order.
95

  
org.gvsig.busquedacatastral/tags/org.gvsig.busquedacatastral-1.0.49/org.gvsig.busquedacatastral.app/org.gvsig.busquedacatastral.app.mainplugin/src/main/resources-plugin/config.xml
1
<?xml version="1.0" encoding="ISO-8859-1"?>
2
<plugin-config>
3
	<depends plugin-name="org.gvsig.app.mainplugin" />
4
	<libraries library-dir="lib"/>
5
	<resourceBundle name="text"/>
6
	<extensions>
7
		<extension class-name="org.gvsig.busquedacatastral.app.mainplugin.BusquedaCatastralExtension"
8
			description="Search by catastral info"
9
			active="true"
10
			priority="1">
11
   <action name="busqueda-catastral" label="_busqueda_catastral" tooltip="_busqueda_catastral"
12
        position="650101000" action-command="busqueda-catastral" icon="view-navigation-busqueda-catastral"
13
        accelerator="" />
14
      <menu text="View/Navigation/_busqueda_catastral" name="busqueda-catastral" />
15
      <tool-bar name="_busqueda_catastral" position="650101000">
16
        <action-tool name="busqueda-catastral" />
17
      </tool-bar>
18

  
19
		</extension>
20

  
21
	</extensions>
22
</plugin-config>
org.gvsig.busquedacatastral/tags/org.gvsig.busquedacatastral-1.0.49/org.gvsig.busquedacatastral.lib/org.gvsig.busquedacatastral.lib.impl/src/main/java/org/gvsig/busquedacatastral/lib/impl/DefaultReferenciaCatastral.java
1
package org.gvsig.busquedacatastral.lib.impl;
2

  
3
import org.apache.commons.lang3.StringUtils;
4
import org.gvsig.busquedacatastral.lib.api.ReferenciaCatastral;
5
import org.gvsig.busquedacatastral.lib.api.TipoVia;
6
import org.gvsig.tools.ToolsLocator;
7
import org.gvsig.tools.i18n.I18nManager;
8

  
9
public class DefaultReferenciaCatastral implements ReferenciaCatastral{
10

  
11
    String pc1;//Posiciones 1-7
12
    String pc2;//Posiciones 8-14
13
    String car;//Posiciones 15-18
14
    String dc1;//19
15
    String dc2;//20
16

  
17
    String via;
18
    TipoVia tipoVia;
19
    String patio;
20
    String km;
21
    String bloque;
22
    String escalera;
23
    String planta;
24
    String puerta;
25
    String poligono;
26
    String parcela;
27
    String provincia;
28
    String municipio;
29
    String paraje;
30

  
31
    @Override
32
    public String getRC() {
33
        return getPc1()+getPc2()+getCar()+getDc1()+getDc2();
34
    }
35

  
36
    @Override
37
    public String getRCParcial() {
38
        return getPc1()+getPc2();
39
    }
40

  
41
    @Override
42
    public String getLocalizacion() {
43
        I18nManager i18nManager = ToolsLocator.getI18nManager();
44
        String localizacion="";
45
        if (getTipoVia()!=null){
46
            localizacion+=getTipoVia().getAbrev();
47
        }
48
        if (getVia()!=null){
49
            if (StringUtils.isNotEmpty(localizacion)){
50
                localizacion+=" ";
51
            }
52
            localizacion+=getVia();
53
        }
54
        if (getPatio()!=null){
55
            if (StringUtils.isNotEmpty(localizacion)){
56
                localizacion+=" ";
57
            }
58
            localizacion+=getPatio();
59
        }
60
        if (getKm()!=null){
61
            if (StringUtils.isNotEmpty(localizacion)){
62
                localizacion+=" ";
63
            }
64
            String km=i18nManager.getTranslation("_km");
65
            localizacion+=km+" "+getKm();
66
        }
67
        if (getBloque()!=null){
68
            if (StringUtils.isNotEmpty(localizacion)){
69
                localizacion+=" ";
70
            }
71
            String bloque=i18nManager.getTranslation("_bloque");
72
            localizacion+=bloque+" "+getBloque();
73
        }
74
        if (getEscalera()!=null){
75
            if (StringUtils.isNotEmpty(localizacion)){
76
                localizacion+=" ";
77
            }
78
            String escalera=i18nManager.getTranslation("_escalera");
79
            localizacion+=escalera+" "+getEscalera();
80
        }
81
        if (getPlanta()!=null){
82
            if (StringUtils.isNotEmpty(localizacion)){
83
                localizacion+=" ";
84
            }
85
            String planta=i18nManager.getTranslation("_planta");
86
            localizacion+=planta+" "+getPlanta();
87
        }
88
        if (getPuerta()!=null){
89
            if (StringUtils.isNotEmpty(localizacion)){
90
                localizacion+=" ";
91
            }
92
            String puerta=i18nManager.getTranslation("_puerta");
93
            localizacion+=puerta+" "+getPuerta();
94
        }
95
        if (getPoligono()!=null){
96
            if (StringUtils.isNotEmpty(localizacion)){
97
                localizacion+=" ";
98
            }
99
            String poligono=i18nManager.getTranslation("_poligono");
100
            localizacion+=poligono+" "+getPoligono();
101
        }
102
        if (getParcela()!=null){
103
            if (StringUtils.isNotEmpty(localizacion)){
104
                localizacion+=" ";
105
            }
106
            String parcela=i18nManager.getTranslation("_parcela");
107
            localizacion+=parcela+" "+getParcela();
108
        }
109
        if (getParaje()!=null){
110
            if (StringUtils.isNotEmpty(localizacion)){
111
                localizacion+=" ";
112
            }
113
            String paraje=i18nManager.getTranslation("_paraje");
114
            localizacion+=paraje+" "+getParaje();
115
        }
116
        if (getMunicipio()!=null){
117
            if (StringUtils.isNotEmpty(localizacion)){
118
                localizacion+=" ";
119
            }
120
            localizacion+=getMunicipio();
121
        }
122
        if (getProvincia()!=null){
123
            localizacion+="("+getProvincia()+")";
124
        }
125
        return localizacion;
126

  
127
    }
128

  
129

  
130

  
131

  
132

  
133
    @Override
134
    public boolean equals(Object obj) {
135
        if (this == obj)
136
            return true;
137
        if (obj == null)
138
            return false;
139
        if (getClass() != obj.getClass())
140
            return false;
141
        DefaultReferenciaCatastral other = (DefaultReferenciaCatastral) obj;
142
        if (getLocalizacion() == null) {
143
            if (other.getLocalizacion() != null)
144
                return false;
145
        } else if (!getLocalizacion().equals(other.getLocalizacion()))
146
            return false;
147
        if (getRC() == null) {
148
            if (other.getRC() != null)
149
                return false;
150
        } else if (!getRC().equals(other.getRC()))
151
            return false;
152
        return true;
153
    }
154

  
155

  
156
    public String getPc1() {
157
        return pc1;
158
    }
159

  
160

  
161
    public void setPc1(String pc1) {
162
        this.pc1 = pc1;
163
    }
164

  
165

  
166
    public String getPc2() {
167
        return pc2;
168
    }
169

  
170

  
171
    public void setPc2(String pc2) {
172
        this.pc2 = pc2;
173
    }
174

  
175

  
176
    public String getCar() {
177
        return car;
178
    }
179

  
180

  
181
    public void setCar(String car) {
182
        this.car = car;
183
    }
184

  
185

  
186
    public String getDc1() {
187
        return dc1;
188
    }
189

  
190

  
191
    public void setDc1(String dc1) {
192
        this.dc1 = dc1;
193
    }
194

  
195

  
196
    public String getDc2() {
197
        return dc2;
198
    }
199

  
200

  
201
    public void setDc2(String dc2) {
202
        this.dc2 = dc2;
203
    }
204

  
205

  
206
    public String getVia() {
207
        return via;
208
    }
209

  
210

  
211
    public void setVia(String via) {
212
        this.via = via;
213
    }
214

  
215

  
216
    public TipoVia getTipoVia() {
217
        return tipoVia;
218
    }
219

  
220

  
221
    public void setTipoVia(TipoVia tipoVia) {
222
        this.tipoVia = tipoVia;
223
    }
224

  
225

  
226
    public String getPatio() {
227
        return patio;
228
    }
229

  
230

  
231
    public void setPatio(String patio) {
232
        this.patio = patio;
233
    }
234

  
235

  
236
    public String getKm() {
237
        return km;
238
    }
239

  
240

  
241
    public void setKm(String km) {
242
        this.km = km;
243
    }
244

  
245

  
246
    public String getBloque() {
247
        return bloque;
248
    }
249

  
250

  
251
    public void setBloque(String bloque) {
252
        this.bloque = bloque;
253
    }
254

  
255

  
256
    public String getEscalera() {
257
        return escalera;
258
    }
259

  
260

  
261
    public void setEscalera(String escalera) {
262
        this.escalera = escalera;
263
    }
264

  
265

  
266
    public String getPlanta() {
267
        return planta;
268
    }
269

  
270

  
271
    public void setPlanta(String planta) {
272
        this.planta = planta;
273
    }
274

  
275

  
276
    public String getPuerta() {
277
        return puerta;
278
    }
279

  
280

  
281
    public void setPuerta(String puerta) {
282
        this.puerta = puerta;
283
    }
284

  
285

  
286
    public String getPoligono() {
287
        return poligono;
288
    }
289

  
290

  
291
    public void setPoligono(String poligono) {
292
        this.poligono = poligono;
293
    }
294

  
295

  
296
    public String getParcela() {
297
        return parcela;
298
    }
299

  
300

  
301
    public void setParcela(String parcela) {
302
        this.parcela = parcela;
303
    }
304

  
305

  
306
    public String getProvincia() {
307
        return provincia;
308
    }
309

  
310

  
311
    public void setProvincia(String provincia) {
312
        this.provincia = provincia;
313
    }
314

  
315

  
316
    public String getMunicipio() {
317
        return municipio;
318
    }
319

  
320

  
321
    public void setMunicipio(String municipio) {
322
        this.municipio = municipio;
323
    }
324

  
325

  
326
    public String getParaje() {
327
        return paraje;
328
    }
329

  
330

  
331
    public void setParaje(String paraje) {
332
        this.paraje = paraje;
333
    }
334

  
335
}
org.gvsig.busquedacatastral/tags/org.gvsig.busquedacatastral-1.0.49/org.gvsig.busquedacatastral.lib/org.gvsig.busquedacatastral.lib.impl/src/main/java/org/gvsig/busquedacatastral/lib/impl/MunicipiosFactory.java
1
package org.gvsig.busquedacatastral.lib.impl;
2

  
3
import java.io.ByteArrayInputStream;
4
import java.io.File;
5
import java.io.InputStream;
6
import java.rmi.RemoteException;
7
import java.util.List;
8

  
9
import javax.xml.bind.JAXBContext;
10
import javax.xml.bind.Unmarshaller;
11

  
12
import org.apache.axis.message.MessageElement;
13
import org.apache.commons.lang3.StringUtils;
14

  
15
import org.gvsig.busquedacatastral.lib.api.BusquedaCatastralManager;
16
import org.gvsig.busquedacatastral.lib.api.QueryCatastral;
17
import org.gvsig.busquedacatastral.lib.api.exceptions.BusquedaCatastralException;
18
import org.gvsig.busquedacatastral.lib.api.exceptions.BusquedaCatastralGettingParamsException;
19
import org.gvsig.busquedacatastral.lib.api.exceptions.BusquedaCatastralRemoteServiceException;
20
import org.gvsig.busquedacatastral.lib.impl.ws.classes.MunicipiosWSResponse;
21
import org.gvsig.busquedacatastral.lib.impl.ws.classes.cxf.ConsultaMunicipieror;
22
import org.gvsig.busquedacatastral.lib.impl.ws.classes.cxf.Muni;
23
import org.gvsig.busquedacatastral.lib.impl.ws.classes.cxf.Municipiero;
24
import org.gvsig.fmap.dal.DataTypes;
25
import org.gvsig.fmap.dal.exception.DataException;
26
import org.gvsig.fmap.dal.feature.EditableFeature;
27
import org.gvsig.fmap.dal.feature.EditableFeatureType;
28
import org.gvsig.fmap.dal.feature.FeatureStore;
29
import org.gvsig.tools.ToolsLocator;
30
import org.gvsig.tools.dynobject.DynObject;
31
import org.gvsig.tools.exception.BaseException;
32
import org.gvsig.tools.i18n.I18nManager;
33

  
34
import org.slf4j.Logger;
35
import org.slf4j.LoggerFactory;
36

  
37
public class MunicipiosFactory extends WSObjectsFactory{
38

  
39
    private static final Logger logger = LoggerFactory
40
        .getLogger(MunicipiosFactory.class);
41

  
42
    private final static String MUNICIPIOS_FILENAME="municipios.dbf";
43

  
44

  
45
    public MunicipiosFactory(BusquedaCatastralManager manager){
46
        super(manager);
47
    }
48

  
49
    private Municipiero municipiero=null;
50
    private QueryCatastral query;
51
    private String filtro;
52
    public  List<DynObject> getMunicipios(QueryCatastral query) throws BusquedaCatastralException{
53
        this.query=query;
54
        this.filtro=null;
55
        return getMunicipios();
56
    }
57

  
58
    public  List<DynObject> getMunicipios(QueryCatastral query, String filtro) throws BusquedaCatastralException{
59
        this.query=query;
60
        this.filtro=filtro;
61
        return getMunicipios();
62
    }
63

  
64
    private  List<DynObject> getMunicipios() throws BusquedaCatastralException{
65
        File municipiosFile=null;
66

  
67
        try {
68
            if (query==null||query.getProvincia()==null){
69
                logger.error("Provincia no informada");
70
                I18nManager i18nManager = ToolsLocator.getI18nManager();
71
                throw new BusquedaCatastralGettingParamsException(i18nManager.getTranslation("_error_provincia_not_informed"), null);
72
            }
73

  
74
            DynObject provincia=query.getProvincia();
75
            String codProvincia=(String) provincia.getDynValue(BusquedaCatastralManager.CAMPO_PROVINCIA_CODIGO);
76
            File provinciaFolder=new File(manager.getCacheFolder(),codProvincia);
77
            if (!provinciaFolder.exists()){
78
                provinciaFolder.mkdirs();
79
            }
80
            municipiosFile = new File(provinciaFolder,MUNICIPIOS_FILENAME);
81
            if (!municipiosFile.exists()){
82
                createDBF(municipiosFile);
83
            }
84
            return this.getListFromDBF(municipiosFile);
85
        } catch ( BusquedaCatastralException e) {
86
            throw e;
87
        } catch ( Exception e) {
88
            logger.warn("Error getting municipios from file '"+municipiosFile.getAbsolutePath()+"'.",e);
89
            throw new BusquedaCatastralGettingParamsException(e);
90
        }
91
    }
92

  
93
    @Override
94
    protected void defineType(EditableFeatureType type) throws BusquedaCatastralException {
95
        municipiero=getMunicipiero(query);
96
        int maxNombre=0;
97
        int maxCodProvINE=0;
98
        int maxCodMuniINE=0;
99

  
100
        for( Muni muni:municipiero.getMuni()){
101
            if(StringUtils.isNotEmpty(muni.getNm()) && muni.getNm().length()>maxNombre){
102
                maxNombre=muni.getNm().length();
103
            }
104
            if(StringUtils.isNotEmpty(muni.getLoine().getCp()) && muni.getLoine().getCp().length()>maxCodProvINE){
105
                maxCodProvINE=muni.getLoine().getCp().length();
106
            }
107
            if(StringUtils.isNotEmpty(muni.getLoine().getCm()) && muni.getLoine().getCm().length()>maxCodMuniINE){
108
                maxCodMuniINE=muni.getLoine().getCm().length();
109
            }
110

  
111
        }
112
        type.add(BusquedaCatastralManager.CAMPO_MUNICIPIO_NOMBRE, DataTypes.STRING,
113
            maxNombre);
114
        type.add(BusquedaCatastralManager.CAMPO_MUNICIPIO_DELEGACION_MEH, DataTypes.LONG).setAllowNull(true);
115
        type.add(BusquedaCatastralManager.CAMPO_MUNICIPIO_CODIGO_MEH, DataTypes.LONG).setAllowNull(true);
116
        type.add(BusquedaCatastralManager.CAMPO_MUNICIPIO_PROVINCIA_INE, DataTypes.STRING,
117
            maxCodProvINE).setAllowNull(true);
118
        type.add(BusquedaCatastralManager.CAMPO_MUNICIPIO_MUNICIPIO_INE, DataTypes.STRING,
119
            maxCodMuniINE).setAllowNull(true);
120

  
121
    }
122

  
123
    @Override
124
    protected void writeFileData(FeatureStore featureStore) throws BusquedaCatastralException, DataException {
125
        municipiero=getMunicipiero(query);
126
        for(Muni muni:municipiero.getMuni()){
127
            EditableFeature ef;
128
            ef = featureStore.createNewFeature().getEditable();
129
            ef.set(BusquedaCatastralManager.CAMPO_MUNICIPIO_NOMBRE, muni.getNm());
130
            ef.set(BusquedaCatastralManager.CAMPO_MUNICIPIO_DELEGACION_MEH, muni.getLocat().getCd());
131
            ef.set(BusquedaCatastralManager.CAMPO_MUNICIPIO_CODIGO_MEH, muni.getLocat().getCmc());
132
            ef.set(BusquedaCatastralManager.CAMPO_MUNICIPIO_PROVINCIA_INE, muni.getLoine().getCp());
133
            ef.set(BusquedaCatastralManager.CAMPO_MUNICIPIO_MUNICIPIO_INE, muni.getLoine().getCm());
134
            featureStore.insert(ef);
135
        }
136
        municipiero = null;
137
    }
138

  
139
    private Municipiero getMunicipiero(QueryCatastral query) throws BusquedaCatastralException{
140
        if( municipiero == null ) {
141
            try {
142
                DynObject provincia=query.getProvincia();
143
                String nombreProvincia=(String) provincia.getDynValue(BusquedaCatastralManager.CAMPO_PROVINCIA_NOMBRE);
144
                MunicipiosWSResponse municipios = getCatastroWS().obtenerMunicipios(nombreProvincia, "");
145
                if (municipios!=null){
146
                    MessageElement[] any = municipios.get_any();
147
                    MessageElement me=any[0];
148
                    JAXBContext jaxbContext = JAXBContext.newInstance(ConsultaMunicipieror.class);
149

  
150
                    Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
151
                    InputStream input = new ByteArrayInputStream(me.getAsString().getBytes());
152
                    ConsultaMunicipieror cm = (ConsultaMunicipieror) jaxbUnmarshaller.unmarshal(input);
153

  
154
                    if (cm!=null && cm.getLerr()!=null){
155
                        webserviceErrors(cm.getLerr().getErr());
156
                    }
157

  
158
                    municipiero =  cm.getMunicipiero();
159
                }else{
160
                    logger.error("Webservice response is empty");
161
                    I18nManager i18nManager = ToolsLocator.getI18nManager();
162
                    throw new BusquedaCatastralGettingParamsException(i18nManager.getTranslation("_error_reading_response_from_ws"),null);
163
                }
164

  
165
            } catch (RemoteException e) {
166
                logger.error("Error accesing webservice",e);
167
                I18nManager i18nManager = ToolsLocator.getI18nManager();
168
                throw new BusquedaCatastralRemoteServiceException(i18nManager.getTranslation("_error_obtaining_catastro_webservice"), e);
169
            } catch (Exception e) {
170
                logger.error("Error marshalling response from webservice",e);
171
                I18nManager i18nManager = ToolsLocator.getI18nManager();
172
                throw new BusquedaCatastralGettingParamsException(i18nManager.getTranslation("_error_reading_response_from_ws"), e);
173
            }
174
        }
175
        return municipiero;
176
    }
177

  
178
    @Override
179
    protected String getExpressionQuery() {
180
        if (StringUtils.isNotEmpty(filtro)){
181
            StringBuilder strb=new StringBuilder();
182
            strb.append(BusquedaCatastralManager.CAMPO_MUNICIPIO_NOMBRE);
183
            strb.append(" like '%");
184
            strb.append(filtro.toUpperCase()+"%'");
185
            return strb.toString();
186
        }
187
        return null;
188
    }
189

  
190

  
191
}
org.gvsig.busquedacatastral/tags/org.gvsig.busquedacatastral-1.0.49/org.gvsig.busquedacatastral.lib/org.gvsig.busquedacatastral.lib.impl/src/main/java/org/gvsig/busquedacatastral/lib/impl/DefaultBusquedaCatastralManager.java
1
/* gvSIG. Desktop Geographic Information System.
2
 *
3
 * Copyright ? 2007-2016 gvSIG Association
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
18
 * MA  02110-1301, USA.
19
 *
20
 * For any additional information, do not hesitate to contact us
21
 * at info AT gvsig.com, or visit our website www.gvsig.com.
22
 */
23
package org.gvsig.busquedacatastral.lib.impl;
24

  
25
import java.io.File;
26
import java.util.ArrayList;
27
import java.util.Arrays;
28
import java.util.List;
29

  
30
import org.gvsig.busquedacatastral.lib.api.BusquedaCatastralManager;
31
import org.gvsig.busquedacatastral.lib.api.QueryCatastral;
32
import org.gvsig.busquedacatastral.lib.api.ReferenciaCatastral;
33
import org.gvsig.busquedacatastral.lib.api.SRSCatastro;
34
import org.gvsig.busquedacatastral.lib.api.TipoVia;
35
import org.gvsig.busquedacatastral.lib.api.exceptions.BusquedaCatastralException;
36
import org.gvsig.busquedacatastral.lib.api.exceptions.BusquedaCatastralGettingDataException;
37
import org.gvsig.busquedacatastral.lib.api.exceptions.BusquedaCatastralGettingParamsException;
38
import org.gvsig.busquedacatastral.lib.api.exceptions.BusquedaCatastralInvalidSRSException;
39
import org.gvsig.fmap.geom.primitive.Point;
40
import org.gvsig.tools.dynobject.DynObject;
41

  
42
import org.slf4j.Logger;
43
import org.slf4j.LoggerFactory;
44

  
45

  
46
/**
47
 * Busqueda catastral manager
48
 *
49
 */
50
public class DefaultBusquedaCatastralManager  implements BusquedaCatastralManager{
51

  
52
    private static final Logger logger = LoggerFactory
53
        .getLogger(DefaultBusquedaCatastralManager.class);
54

  
55
    private ProvinciasFactory provinciasFactory=null;
56
    private MunicipiosFactory municipiosFactory=null;
57
    private ViasFactory viasFactory=null;
58
    private NumerosFactory numerosFactory=null;
59
    private ReferenciasCatastralesFactory referenciasCatastralesFactory=null;
60
    private PointFactory pointFactory=null;
61
    private File cacheFolder;
62

  
63
    @Override
64
    public void deleteCache() {
65
        deleteFolder(cacheFolder);
66
    }
67

  
68
    private static void deleteFolder(File folder) {
69
        File[] files = folder.listFiles();
70
        if(files!=null) { //some JVMs return null for empty dirs
71
            for(File f: files) {
72
                if(f.isDirectory()) {
73
                    deleteFolder(f);
74
                } else {
75
                    f.delete();
76
                }
77
            }
78
        }
79
        folder.delete();
80
    }
81

  
82
    @Override
83
    public QueryCatastral createQuery() {
84
        return new QueryCatastralImpl();
85
    }
86

  
87

  
88

  
89
    @Override
90
    public List<DynObject> getProvincias()
91
        throws BusquedaCatastralException {
92
        if (provinciasFactory==null){
93
            provinciasFactory=new ProvinciasFactory(this);
94
        }
95
        return provinciasFactory.getProvincias();
96
    }
97

  
98

  
99

  
100
    @Override
101
    public List<DynObject> getMunicipios(QueryCatastral query)
102
        throws BusquedaCatastralException {
103
        if (municipiosFactory==null){
104
            municipiosFactory=new MunicipiosFactory(this);
105
        }
106
        return municipiosFactory.getMunicipios(query);
107
    }
108

  
109

  
110

  
111
    @Override
112
    public List<DynObject> getMunicipios(QueryCatastral query, String municipio)
113
        throws BusquedaCatastralException {
114
        if (municipiosFactory==null){
115
            municipiosFactory=new MunicipiosFactory(this);
116
        }
117
        return municipiosFactory.getMunicipios(query, municipio);
118
    }
119

  
120

  
121

  
122
    @Override
123
    public List<TipoVia> getTiposDeVia()
124
        throws BusquedaCatastralException {
125
        List<TipoVia> tipoVias=new ArrayList<TipoVia>(Arrays.asList(TipoVia.values()));
126
        return tipoVias;
127
    }
128

  
129

  
130

  
131
    @Override
132
    public List<DynObject> getVias(QueryCatastral query)
133
        throws BusquedaCatastralException {
134
        if (viasFactory==null){
135
            viasFactory=new ViasFactory(this);
136
        }
137
        return viasFactory.getVias(query);
138
    }
139

  
140

  
141

  
142
    @Override
143
    public List<DynObject> getVias(QueryCatastral query, String via)
144
        throws BusquedaCatastralException {
145
        if (viasFactory==null){
146
            viasFactory=new ViasFactory(this);
147
        }
148
        return viasFactory.getVias(query, via);
149
    }
150

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

Also available in: Unified diff