Revision 57

View differences:

org.gvsig.seismic/tags/org.gvsig.seismic-1.0.4/org.gvsig.seismic/org.gvsig.seismic.main/src/main/resources/README.txt
1
Put into this folder the resources needed by your classes.
2

  
3
This folder is added to the classpath, so you can load any resources 
4
through the ClassLoader.
5

  
6
By default, in this folder you can find an example of log4j configuration,
7
prepared to log messages through the console, so logging works when you
8
run your classes.
0 9

  
org.gvsig.seismic/tags/org.gvsig.seismic-1.0.4/org.gvsig.seismic/org.gvsig.seismic.main/src/main/resources/log4j.xml
1
<?xml version="1.0" encoding="ISO-8859-1" ?>
2
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
3

  
4
<!-- 
5
Log4J configuration file for unit tests execution.
6
 -->
7
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
8

  
9
	<!-- Appender configuration to show logging messages through the console -->
10
	<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
11
		<layout class="org.apache.log4j.PatternLayout">
12
			<param name="ConversionPattern" value="%d{HH:mm:ss,SSS} %-5p [%c{2}.%M()]\n  %m%n" />
13
		</layout>
14
	</appender>
15

  
16
	<!-- 
17
	Activate logging messages of DEBUG level of higher only for the
18
	org.gvsig.tools packages.
19
	You can put full classes names or packages instead, to configure
20
	logging for all the classes and subpackages of the package.
21
	-->
22
	<category name="org.gvsig.tools">
23
		<priority value="DEBUG" />
24
	</category>
25
	<category name="org.gvsig.construc">
26
		<priority value="DEBUG" />
27
	</category>
28

  
29
	<!-- 
30
	By default, show only logging messages of INFO level or higher, 
31
	through the previously configured CONSOLE appender. 
32
	-->
33
	<root>
34
		<priority value="INFO" />
35
		<appender-ref ref="CONSOLE" />
36
	</root>
37
</log4j:configuration>
0 38

  
org.gvsig.seismic/tags/org.gvsig.seismic-1.0.4/org.gvsig.seismic/org.gvsig.seismic.main/src/main/java/org/gvsig/seismic/main/package.html
1
<?xml version="1.0" encoding="UTF-8" ?>
2
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
<html xmlns="http://www.w3.org/1999/xhtml">
4
<head>
5
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
6
<title>org.gvsig.construc package documentation</title>
7
</head>
8
<body>
9

  
10
	<p>Construc library testing and demo application.</p>
11

  
12
</body>
13
</html>
0 14

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

  
24
import java.awt.BorderLayout;
25
import java.awt.Dimension;
26
import java.awt.event.ActionEvent;
27
import java.awt.event.ActionListener;
28
import java.io.File;
29
import java.net.URL;
30

  
31
import javax.swing.AbstractAction;
32
import javax.swing.Action;
33
import javax.swing.JButton;
34
import javax.swing.JFrame;
35
import javax.swing.JMenu;
36
import javax.swing.JMenuBar;
37
import javax.swing.JMenuItem;
38
import javax.swing.JPanel;
39
import javax.swing.JToolBar;
40
import javax.swing.UIManager;
41
import javax.swing.UnsupportedLookAndFeelException;
42
import javax.swing.WindowConstants;
43

  
44
import org.gvsig.fmap.dal.DALLocator;
45
import org.gvsig.fmap.geom.primitive.Envelope;
46
import org.gvsig.fmap.mapcontext.MapContext;
47
import org.gvsig.fmap.mapcontext.MapContextLocator;
48
import org.gvsig.fmap.mapcontext.exceptions.LoadLayerException;
49
import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect;
50
import org.gvsig.fmap.mapcontrol.MapControl;
51
import org.gvsig.fmap.mapcontrol.MapControlCreationException;
52
import org.gvsig.fmap.mapcontrol.MapControlLocator;
53
import org.gvsig.fmap.mapcontrol.MapControlManager;
54
import org.gvsig.fmap.mapcontrol.tools.PanListenerImpl;
55
import org.gvsig.fmap.mapcontrol.tools.ZoomInListenerImpl;
56
import org.gvsig.fmap.mapcontrol.tools.ZoomOutRightButtonListener;
57
import org.gvsig.fmap.mapcontrol.tools.Behavior.Behavior;
58
import org.gvsig.fmap.mapcontrol.tools.Behavior.MoveBehavior;
59
import org.gvsig.fmap.mapcontrol.tools.Behavior.PointBehavior;
60
import org.gvsig.fmap.mapcontrol.tools.Behavior.RectangleBehavior;
61
import org.gvsig.seismic.swing.SeismicSwingLocator;
62
import org.gvsig.seismic.swing.SeismicSwingManager;
63
import org.gvsig.seismic.swing.gui.JSeismicWizard;
64
import org.gvsig.tools.library.impl.DefaultLibrariesInitializer;
65
import org.gvsig.tools.locator.LocatorException;
66
import org.slf4j.Logger;
67
import org.slf4j.LoggerFactory;
68

  
69
import com.jgoodies.looks.plastic.PlasticLookAndFeel;
70
import com.jgoodies.looks.plastic.PlasticXPLookAndFeel;
71

  
72
/**
73
 * Main executable class for testing the Chart library.
74
 * 
75
 * @author gvSIG Team
76
 * @version $Id$
77
 */
78
public class Main {
79

  
80
	private static final Logger LOG = LoggerFactory.getLogger(Main.class);
81

  
82
    private static final String SHOWINFO_TOOL_NAME = "LandRegistryViewer.infotool";
83

  
84

  
85
    private MapControlManager mapControlManager;
86

  
87
    private MapControl mapControl;
88

  
89
	private SeismicSwingManager swingManager;
90

  
91
	private JSeismicWizard wizard;
92

  
93
	public JSeismicWizard getWizard() {
94
		return wizard;
95
	}
96

  
97
	public static void main(String args[]) throws MapControlCreationException,
98
			LocatorException, LoadLayerException, UnsupportedLookAndFeelException {
99
		new DefaultLibrariesInitializer().fullInitialize();
100
		
101
		PlasticLookAndFeel laf = new PlasticXPLookAndFeel();
102
		UIManager.setLookAndFeel(laf);
103
		
104
		Main main = new Main();
105
		main.show();
106
	}
107

  
108
	public SeismicSwingManager getSwingManager() {
109
		if(swingManager == null){
110
			swingManager = SeismicSwingLocator.getDriverSwingManager();
111
		}
112
		return swingManager;
113
	}
114

  
115
	@SuppressWarnings("serial")
116
    public void show() throws MapControlCreationException, LocatorException, LoadLayerException {
117
        AbstractAction exit = new AbstractAction("Exit") {
118
            public void actionPerformed(ActionEvent e) {
119
                System.exit(0);
120
            }
121
        };
122

  
123
        JFrame frame = new JFrame("Example APP");
124
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
125
        
126
        JPanel content = new JPanel();
127
        content.setLayout(new BorderLayout());
128
        //Parser parser =  getSwingManager().getDriverManager().createParser("UKOOA-84");
129
        wizard = getSwingManager().createWizard();
130
        content.add(wizard.getJComponent(), BorderLayout.CENTER);
131

  
132
        JButton accept = new JButton("Load features to view");
133
        accept.addActionListener(new ActionListener() {
134
			public void actionPerformed(ActionEvent e) {
135
				try {
136
					if(getWizard().accept()){
137
						createLayer();
138
					}else{
139
						LOG.error("[Main - accept button] ERROR: There're problems generating the data");
140
					}
141
				} catch (MapControlCreationException e1) {
142
					// TODO Auto-generated catch block
143
					e1.printStackTrace();
144
				} catch (LocatorException e1) {
145
					// TODO Auto-generated catch block
146
					e1.printStackTrace();
147
				} catch (LoadLayerException e1) {
148
					// TODO Auto-generated catch block
149
					e1.printStackTrace();
150
				}
151
			}
152
		});
153
        content.add(accept,BorderLayout.SOUTH);
154
        
155
        frame.add(content);
156
        frame.setPreferredSize(new Dimension(510, 560));
157

  
158
        // Display the window.
159
        frame.pack();
160
        frame.setVisible(true);
161
    }
162
	
163

  
164
	    
165
	    public void createLayer() throws MapControlCreationException, LocatorException, LoadLayerException {
166
	    	mapControlManager = MapControlLocator.getMapControlManager();
167

  
168
	        mapControl = mapControlManager.createJMapControlPanel();
169
	        mapControl.addBehavior(
170
	    		"zoom", 
171
			    new Behavior[] {	
172
				    new RectangleBehavior(new ZoomInListenerImpl(mapControl)),
173
				    new PointBehavior(new ZoomOutRightButtonListener(mapControl))
174
	   			}
175
	    	);
176
	        mapControl.addBehavior(
177
	        	"pan", 
178
	        	new MoveBehavior(
179
	       			new PanListenerImpl(mapControl)
180
	        	)
181
	        );
182
	        mapControl.setTool("pan");
183

  
184

  
185
	        Action exit = new AbstractAction("Exit") {
186
	            public void actionPerformed(ActionEvent e) {
187
	                System.exit(0);
188
	            }
189
	        };
190

  
191
	        JFrame frame = new JFrame("Driver view example app");
192
	        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
193

  
194
	        // Create the menu bar.
195
	        JMenuBar menuBar = new JMenuBar();
196

  
197
	        // Build the menu.
198
	        JMenu menuFile = new JMenu("File");
199
	        menuFile.add(new JMenuItem(exit));
200

  
201
	        menuBar.add(menuFile);
202

  
203
	        JToolBar toolBar = new JToolBar();
204
	        toolBar.add(
205
	            	new JButton(
206
	    	       		new AbstractAction("Pan") {
207
	    		            public void actionPerformed(ActionEvent e) {
208
	    		                mapControl.setTool("pan");
209
	    		            }
210
	    		        }
211
	            	)
212
	            );
213
	        toolBar.add(
214
	            	new JButton(
215
	    	       		new AbstractAction("Zoom") {
216
	    		            public void actionPerformed(ActionEvent e) {
217
	    		                mapControl.setTool("zoom");
218
	    		            }
219
	    		        }
220
	            	)
221
	            );
222
	        toolBar.add(
223
	            	new JButton(
224
	    	       		new AbstractAction("Zoom all") {
225
	    		            public void actionPerformed(ActionEvent e) {
226
	    		                zoomAll();
227
	    		            }
228
	    		        }
229
	            	)
230
	            );
231

  
232
	        toolBar.add(
233
	            	new JButton(
234
	    	       		new AbstractAction("Info") {
235
	    		            public void actionPerformed(ActionEvent e) {
236
	    		            	mapControl.setTool(SHOWINFO_TOOL_NAME);;
237
	    		            }
238
	    		        }
239
	            	)
240
	            );
241

  
242
	        toolBar.add(new JButton(exit));
243
	        frame.setPreferredSize(new Dimension(400, 300));
244
	        frame.setJMenuBar(menuBar);
245
	        frame.add(toolBar, BorderLayout.PAGE_START);
246
	        frame.add(mapControl,BorderLayout.CENTER);
247
	        
248
	        // Display the window.
249
	        frame.pack();
250
	        frame.setVisible(true);
251

  
252
	        LOG.info("Providers: " + DALLocator.getDataManager().getStoreProviders().toString());
253
	        
254
	        // Add the blocks layer
255
//	        MapContextLocator.getMapContextManager().setDefaultVectorLegend(ISingleSymbolLegend.LEGEND_NAME);
256
	    	FLyrVect layer = (FLyrVect) MapContextLocator.
257
	    		getMapContextManager().createLayer(
258
				    "test_driver", 
259
				    getWizard().getDriverStoreParameters()
260
	    		);
261
	    	
262
	    	mapControl.getMapContext().getLayers().addLayer(layer);
263

  
264
//	    	PropertiesOfBlockListener listener = new PropertiesOfBlockListener();
265
//	    	mapControl.addBehavior(SHOWINFO_TOOL_NAME, new PointBehavior(listener));
266

  
267
	    	zoomAll();
268
	    }
269
	    
270
	    private void zoomAll() {
271
	    	MapContext mapContext = mapControl.getMapContext(); 
272
	    	Envelope all = mapContext.getLayers().getFullEnvelope();
273
	    	LOG.info("Full extdents "+all.toString());
274
	    	mapContext.getViewPort().setEnvelope(all);
275
	    	mapContext.invalidate();
276
	    }
277

  
278
	    private File getResource(String pathname) {
279
	    	URL res = this.getClass().getClassLoader().getResource(pathname);
280
	    	return new File(res.getPath());
281
	    }
282
	    
283

  
284
}
0 285

  
org.gvsig.seismic/tags/org.gvsig.seismic-1.0.4/org.gvsig.seismic/org.gvsig.seismic.main/pom.xml
1
<?xml version="1.0" encoding="ISO-8859-1"?>
2
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
4
	<modelVersion>4.0.0</modelVersion>
5
	<artifactId>org.gvsig.seismic.main</artifactId>
6
	<packaging>jar</packaging>
7
	<name>org.gvsig.seismic.main</name>
8
	<parent>
9
		<groupId>org.gvsig</groupId>
10
		<artifactId>org.gvsig.seismic</artifactId>
11
		<version>1.0.0-SNAPSHOT</version>
12
	</parent>
13
	
14
	
15
	<dependencies>
16
		<dependency>
17
			<groupId>org.gvsig</groupId>
18
			<artifactId>org.gvsig.seismic.lib.api</artifactId>
19
			<scope>compile</scope>
20
		</dependency>
21
		<dependency>
22
			<groupId>org.gvsig</groupId>
23
			<artifactId>org.gvsig.seismic.lib.impl</artifactId>
24
			<scope>runtime</scope>
25
		</dependency>
26
		<dependency>
27
			<groupId>org.gvsig</groupId>
28
			<artifactId>org.gvsig.seismic.swing.api</artifactId>
29
			<scope>compile</scope>
30
		</dependency>
31
		<dependency>
32
			<groupId>org.gvsig</groupId>
33
			<artifactId>org.gvsig.seismic.provider</artifactId>
34
			<scope>compile</scope>
35
		</dependency>
36
		<dependency>
37
			<groupId>org.gvsig</groupId>
38
			<artifactId>org.gvsig.seismic.swing.impl</artifactId>
39
			<scope>runtime</scope>
40
		</dependency>
41
		<dependency>
42
			<groupId>org.gvsig</groupId>
43
			<artifactId>org.gvsig.tools.lib</artifactId>
44
			<scope>compile</scope>
45
		</dependency>
46
		<dependency>
47
			<groupId>org.gvsig</groupId>
48
			<artifactId>org.gvsig.tools.dynform.api</artifactId>
49
			<scope>compile</scope>
50
		</dependency>
51
		<dependency>
52
			<groupId>org.gvsig</groupId>
53
			<artifactId>org.gvsig.tools.dynform.impl</artifactId>
54
			<scope>runtime</scope>
55
		</dependency>
56
		
57
		<dependency>
58
			<groupId>org.gvsig</groupId>
59
			<artifactId>org.gvsig.metadata.lib.basic.api</artifactId>
60
			<scope>compile</scope>
61
		</dependency>
62
		<dependency>
63
			<groupId>org.gvsig</groupId>
64
			<artifactId>org.gvsig.tools.swing.api</artifactId>
65
			<type>jar</type>
66
			<scope>compile</scope>
67
		</dependency>
68
		<dependency>
69
			<groupId>org.gvsig</groupId>
70
			<artifactId>org.gvsig.fmap.control</artifactId>
71
			<scope>compile</scope>
72
		</dependency>
73
		<dependency>
74
			<groupId>org.gvsig</groupId>
75
			<artifactId>org.gvsig.fmap.dal.api</artifactId>
76
			<scope>compile</scope>
77
		</dependency>
78
		<dependency>
79
			<groupId>org.gvsig</groupId>
80
			<artifactId>org.gvsig.fmap.dal.spi</artifactId>
81
			<scope>compile</scope>
82
		</dependency>
83
		<dependency>
84
			<groupId>org.gvsig</groupId>
85
			<artifactId>org.gvsig.fmap.geometry.api</artifactId>
86
			<scope>compile</scope>
87
		</dependency>
88
		<dependency>
89
			<groupId>org.gvsig</groupId>
90
			<artifactId>org.gvsig.fmap.mapcontext.api</artifactId>
91
			<scope>compile</scope>
92
		</dependency>
93

  
94

  
95
		<dependency>
96
			<groupId>org.gvsig</groupId>
97
			<artifactId>org.gvsig.metadata.lib.basic.impl</artifactId>
98
			<scope>runtime</scope>
99
		</dependency>
100
		<dependency>
101
			<groupId>org.gvsig</groupId>
102
			<artifactId>org.gvsig.fmap.geometry.impl</artifactId>
103
			<scope>runtime</scope>
104
		</dependency>
105
        <dependency>
106
            <groupId>org.gvsig</groupId>
107
            <artifactId>org.gvsig.fmap.geometry.operation</artifactId>
108
			<scope>runtime</scope>
109
        </dependency>
110
		<dependency>
111
			<groupId>org.gvsig</groupId>
112
			<artifactId>org.gvsig.fmap.mapcontext.impl</artifactId>
113
			<scope>runtime</scope>
114
		</dependency>
115
        <dependency>
116
            <groupId>org.gvsig</groupId>
117
            <artifactId>org.gvsig.symbology.lib.impl</artifactId>
118
			<scope>runtime</scope>
119
        </dependency>
120
		<dependency>
121
			<groupId>org.gvsig</groupId>
122
			<artifactId>org.gvsig.fmap.dal.impl</artifactId>
123
			<scope>runtime</scope>
124
		</dependency>
125
		<dependency>
126
			<groupId>org.gvsig</groupId>
127
			<artifactId>org.gvsig.fmap.dal.spi</artifactId>
128
			<scope>runtime</scope>
129
		</dependency>
130
        <dependency>
131
            <groupId>org.gvsig</groupId>
132
            <artifactId>org.gvsig.fmap.dal.file.shp</artifactId>
133
			<scope>runtime</scope>
134
        </dependency>
135
        <dependency>
136
            <groupId>org.gvsig</groupId>
137
            <artifactId>org.gvsig.fmap.dal.file.dbf</artifactId>
138
			<scope>runtime</scope>
139
        </dependency>
140
        <dependency>
141
            <groupId>org.gvsig</groupId>
142
            <artifactId>org.gvsig.fmap.dal.file.lib</artifactId>
143
			<scope>runtime</scope>
144
        </dependency>
145
        <dependency>
146
             <groupId>org.gvsig</groupId>
147
             <artifactId>org.gvsig.timesupport.lib.api</artifactId>
148
			<scope>runtime</scope>
149
         </dependency>
150
         <dependency>
151
             <groupId>org.gvsig</groupId>
152
             <artifactId>org.gvsig.timesupport.lib.impl</artifactId>
153
			<scope>runtime</scope>
154
         </dependency>
155
         <dependency>
156
             <groupId>org.gvsig</groupId>
157
             <artifactId>org.gvsig.tools.evaluator.sqljep</artifactId>
158
			<scope>runtime</scope>
159
         </dependency>
160
         <dependency>
161
             <groupId>org.gvsig</groupId>
162
             <artifactId>org.gvsig.proj.lib.proj4j</artifactId>
163
			<scope>runtime</scope>
164
		</dependency>
165
	</dependencies>
166
</project>
0 167

  
org.gvsig.seismic/tags/org.gvsig.seismic-1.0.4/org.gvsig.seismic/org.gvsig.seismic.lib/org.gvsig.seismic.lib.impl/src/test/resources/README.txt
1
Put into this folder the resources needed by your test classes.
2

  
3
This folder is added to the Tests classpath, so you can load any resources 
4
through the ClassLoader.
5

  
6
By default, in this folder you can find an example of log4j configuration,
7
prepared to log messages through the console, so logging works when you
8
run your tests classes.
0 9

  
org.gvsig.seismic/tags/org.gvsig.seismic-1.0.4/org.gvsig.seismic/org.gvsig.seismic.lib/org.gvsig.seismic.lib.impl/src/test/resources/log4j.xml
1
<?xml version="1.0" encoding="ISO-8859-1" ?>
2
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
3

  
4
<!-- 
5
Log4J configuration file for unit tests execution.
6
 -->
7
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
8

  
9
	<!-- Appender configuration to show logging messages through the console -->
10
	<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
11
		<layout class="org.apache.log4j.PatternLayout">
12
			<param name="ConversionPattern" value="%d{HH:mm:ss,SSS} %-5p [%c{2}.%M()]\n  %m%n" />
13
		</layout>
14
	</appender>
15

  
16
	<!-- 
17
	Activate logging messages of DEBUG level of higher only for the
18
	org.gvsig.tools packages.
19
	You can put full classes names or packages instead, to configure
20
	logging for all the classes and subpackages of the package.
21
	-->
22
	<category name="org.gvsig.tools">
23
		<priority value="DEBUG" />
24
	</category>
25
	<category name="org.gvsig.chart">
26
		<priority value="DEBUG" />
27
	</category>
28

  
29
	<!-- 
30
	By default, show only logging messages of INFO level or higher, 
31
	through the previously configured CONSOLE appender. 
32
	-->
33
	<root>
34
		<priority value="DEBUG" />
35
		<appender-ref ref="CONSOLE" />
36
	</root>
37
</log4j:configuration>
0 38

  
org.gvsig.seismic/tags/org.gvsig.seismic-1.0.4/org.gvsig.seismic/org.gvsig.seismic.lib/org.gvsig.seismic.lib.impl/src/main/resources/META-INF/services/org.gvsig.tools.library.Library
1
org.gvsig.seismic.impl.DefaultSeismicLibrary
org.gvsig.seismic/tags/org.gvsig.seismic-1.0.4/org.gvsig.seismic/org.gvsig.seismic.lib/org.gvsig.seismic.lib.impl/src/main/java/package.html
1
<?xml version="1.0" encoding="UTF-8" ?>
2
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
<html xmlns="http://www.w3.org/1999/xhtml">
4
<head>
5
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
6
<title>org.gvsig.landregistryviewer package documentation</title>
7
</head>
8
<body>
9

  
10
	<p>LandRegistryViewer library API default implementation.</p>
11

  
12
</body>
13
</html>
0 14

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

  
24

  
25
import org.gvsig.seismic.SeismicLibrary;
26
import org.gvsig.seismic.SeismicLocator;
27
import org.gvsig.seismic.SeismicManager;
28
import org.gvsig.seismic.impl.parser.CADParser;
29
import org.gvsig.seismic.impl.parser.GEOGParser;
30
import org.gvsig.seismic.impl.parser.H19Parser;
31
import org.gvsig.seismic.impl.parser.P190Parser;
32
import org.gvsig.seismic.impl.parser.PTOParser;
33
import org.gvsig.seismic.impl.parser.R06Parser;
34
import org.gvsig.seismic.impl.parser.RPSParser;
35
import org.gvsig.seismic.impl.parser.UKOOA84Parser;
36
import org.gvsig.tools.library.AbstractLibrary;
37
import org.gvsig.tools.library.LibraryException;
38
import org.gvsig.tools.util.Caller;
39
import org.gvsig.tools.util.impl.DefaultCaller;
40

  
41
/**
42
 * Library for default implementation initialization and configuration.
43
 * This default implementation will be based in JFreeChart library.
44
 * 
45
 * @author gvSIG team
46
 * @version $Id$
47
 */
48
public class DefaultSeismicLibrary extends AbstractLibrary {
49

  
50
	@Override
51
	public void doRegistration() {
52
		registerAsImplementationOf(SeismicLibrary.class);
53
	}
54
    
55
    
56
    @Override
57
    protected void doInitialize() throws LibraryException {
58
       SeismicLocator.registerDriverManager(DefaultSeismicManager.class);
59
    }
60

  
61
    @Override
62
    protected void doPostInitialize() throws LibraryException {
63

  
64
        Caller caller = new DefaultCaller();
65
        //caller.add( new DefaultChartLegendItem.RegisterPersistence() );
66
        caller.call();
67
        
68
        SeismicManager manager = SeismicLocator.getDriverManager();
69
        //manager.registerParser(new CADParser(manager));
70
        manager.registerParser(new UKOOA84Parser(manager));
71
        manager.registerParser(new RPSParser(manager));
72
        manager.registerParser(new R06Parser(manager));
73
        manager.registerParser(new H19Parser(manager));
74
        manager.registerParser(new GEOGParser(manager));
75
        manager.registerParser(new PTOParser(manager));
76
        manager.registerParser(new P190Parser(manager));
77
        //manager.registerParser(new U84Parser(manager));
78
    }
79

  
80
}
0 81

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

  
24
import java.io.File;
25
import java.util.HashMap;
26
import java.util.List;
27
import java.util.Map;
28
import java.util.Set;
29

  
30
import org.gvsig.fmap.dal.DALLocator;
31
import org.gvsig.fmap.dal.DataManager;
32
import org.gvsig.fmap.dal.DataStoreParameters;
33
import org.gvsig.fmap.dal.exception.InitializeException;
34
import org.gvsig.fmap.dal.exception.ProviderNotRegisteredException;
35
import org.gvsig.fmap.dal.exception.ValidateDataParametersException;
36
import org.gvsig.fmap.dal.feature.FeatureStore;
37
import org.gvsig.fmap.dal.store.seismic.SeismicStoreParameters;
38
import org.gvsig.fmap.dal.store.seismic.SeismicStoreProvider;
39
import org.gvsig.seismic.Parser;
40
import org.gvsig.seismic.SeismicManager;
41
import org.gvsig.tools.dynobject.DynObject;
42
import org.gvsig.tools.service.Service;
43
import org.gvsig.tools.service.ServiceException;
44

  
45
/**
46
 * Default {@link DriverManager} implementation.
47
 * 
48
 * @author gvSIG Team
49
 * @version $Id$
50
 */
51
public class DefaultSeismicManager implements SeismicManager {
52

  
53
	private Map<String,Parser> parsers = new HashMap<String,Parser>();
54
	private DataManager dataManager;
55
	private DataStoreParameters driverStoreParameters;
56
	
57
	public DefaultSeismicManager(){
58
		this.dataManager = DALLocator.getDataManager();
59
	}
60
	
61

  
62
	public Service getService(DynObject parameters) throws ServiceException {
63
		return null;
64
	}
65
	
66
	public Parser createParser(String name){
67
		Parser parser = parsers.get(name).clone();
68
		parser.initializeParser();
69
		return parser;
70
	}
71
	
72

  
73
	
74
	public void registerParser(Parser parser){
75
		parsers.put(parser.getName(), parser);
76
	}
77

  
78
	public List<DynObject> createFileParser(File file, Parser parser) {
79
		return parser.parseFile(file);
80
	}
81

  
82

  
83
	public Set<String> getRegisteredParsers() {
84
		return this.parsers.keySet();
85
	}
86

  
87
	public FeatureStore getFeatureStore() {
88

  
89
    	try {
90
			return (FeatureStore) this.dataManager.openStore(
91
					SeismicStoreProvider.NAME, (SeismicStoreParameters) getDriverStoreParameters());
92
		} catch (ValidateDataParametersException e) {
93
			// TODO Auto-generated catch block
94
			e.printStackTrace();
95
		} catch (InitializeException e) {
96
			// TODO Auto-generated catch block
97
			e.printStackTrace();
98
		} catch (ProviderNotRegisteredException e) {
99
			// TODO Auto-generated catch block
100
			e.printStackTrace();
101
		}
102
		return null;
103

  
104
	}
105
	
106
	public DataStoreParameters getDriverStoreParameters() {
107
		if(this.driverStoreParameters == null){
108
			try {
109
				this.driverStoreParameters = dataManager.createStoreParameters(SeismicStoreProvider.NAME);
110
			} catch (InitializeException e) {
111
				// TODO Auto-generated catch block
112
				e.printStackTrace();
113
			} catch (ProviderNotRegisteredException e) {
114
				// TODO Auto-generated catch block
115
				e.printStackTrace();
116
			}
117
		}
118
		return this.driverStoreParameters;
119
	}
120
	
121
}
0 122

  
org.gvsig.seismic/tags/org.gvsig.seismic-1.0.4/org.gvsig.seismic/org.gvsig.seismic.lib/org.gvsig.seismic.lib.impl/src/main/java/org/gvsig/seismic/impl/parser/PTOParser.java
1
package org.gvsig.seismic.impl.parser;
2

  
3
import java.util.ArrayList;
4
import java.util.List;
5

  
6
import org.cresques.cts.IProjection;
7
import org.gvsig.fmap.crs.CRSFactory;
8
import org.gvsig.fmap.geom.DataTypes;
9
import org.gvsig.fmap.geom.Geometry;
10
import org.gvsig.fmap.geom.Geometry.SUBTYPES;
11
import org.gvsig.fmap.geom.exception.CreateGeometryException;
12
import org.gvsig.fmap.geom.primitive.Point;
13
import org.gvsig.seismic.Parser;
14
import org.gvsig.seismic.SeismicManager;
15
import org.gvsig.seismic.impl.AbstractParser;
16
import org.gvsig.tools.dynobject.DynObject;
17

  
18
public class PTOParser extends AbstractParser{
19
	private List<String> fields;
20
	
21
	public static String NAME = "UKOOA-PTO";
22
	public static String DESCRIPTION = "Parser to the UKOOA-desconocido files";
23
	
24
	public PTOParser(SeismicManager manager) {
25
		super(manager);
26
		
27
		this.initialize();
28
	}
29
	
30
	private void initialize(){
31
		availableExtensions.add("pto");
32
	}
33
	
34
	@Override
35
	public String getName() {
36
		return PTOParser.NAME;
37
	}
38

  
39
	@Override
40
	public String getDescription() {
41
		return PTOParser.DESCRIPTION;
42
	}
43
	
44
	@Override
45
	public boolean hasStartEndDelimiters() {
46
		return false;
47
	}
48

  
49
	@Override
50
	public String getStartDelimiter() {
51
		return "";
52
	}
53

  
54
	@Override
55
	public String getEndDelimiter() {
56
		return "\n";
57
	}
58

  
59
	@Override
60
	public boolean hasHeader() {
61
		return false;
62
	}
63

  
64
	@Override
65
	public String getHeaderToken() {
66
		return "";
67
	}
68

  
69
	@Override
70
	public boolean hasHeaderTokenRepited() {
71
		return false;
72
	}
73

  
74
	@Override
75
	public String getFieldDelimiter() {
76
		return " ";
77
	}
78

  
79
	@Override
80
	public boolean hasFieldName() {
81
		return false;
82
	}
83

  
84
	@Override
85
	public String getFieldNameSeparator() {
86
		return "";
87
	}
88

  
89
	public boolean hasMetadata() {
90
		return true;
91
	}
92

  
93
	public String getMetadataToken() {
94
		return "H[\\.0-9]*";
95
	}
96

  
97
	public boolean hasMetadataFieldName() {
98
		return false;
99
	}
100

  
101
	public String getMetadataFieldNameSeparator() {
102
		return "  ";
103
	}
104
	
105
	protected void initializeDefinitions() {
106
		addFieldDefinition("Identificador", DataTypes.STRING);
107
		addFieldDefinition("num1", DataTypes.STRING);
108
		addFieldDefinition("num2", DataTypes.STRING);
109
		addFieldDefinition("coordx", DataTypes.STRING);
110
		addFieldDefinition("coordy", DataTypes.STRING);
111
		
112
		addFieldDefinition("Este", DataTypes.STRING);
113
		addFieldDefinition("Norte", DataTypes.STRING);
114
		addFieldDefinition("Elevacion", DataTypes.STRING);
115
		
116
		addFieldDefinition("GEOM", DataTypes.GEOMETRY);
117
		super.initializeDefinitions();
118
	}
119
	
120
	public String[] getOrderedFieldNames() {
121
		return new String[]{"proyecto", "proyecto_id", "Estado", "Fecha", 
122
				"Identificador", "num1", "num2", "coordx", "coordy", "Este",
123
				"Norte", "Elevacion", "GEOM"};
124
	}
125
	
126
		
127
	private String[] getFileFields(String features) {
128
			fields = new ArrayList<String>();
129
			String aux = features;
130
		
131
			aux = extractFilefield(89, aux);
132
			aux = extractFilefield(79, aux);
133
			aux = extractFilefield(67, aux);
134
			aux = extractFilefield(55, aux);
135
			aux = extractFilefield(42, aux);
136
			aux = extractFilefield(31, aux);
137
			aux = extractFilefield(25, aux);
138
			aux = extractFilefield(10, aux);
139
			aux = extractFilefield(0, aux);
140
		
141
		String[] names = new String[fields.size()];
142
		return fields.toArray(names);
143
	}
144
	
145
	protected String extractFilefield(int index, String aux){
146
		if(aux.length()>index){
147
			String fieldAux = aux.substring(index);
148
			aux = aux.substring(0, index);
149
			String f = fieldAux.trim();
150
			if(f!=null && f.length() > 0){
151
				fields.add(0, f);
152
			}
153
		}
154
		return aux;
155
	}
156
	
157
	@Override
158
	protected DynObject createDynObject(String[] fields) {
159
		DynObject dynObject = dynManager.createDynObject(getDataStruct());
160
		for(int j=0; j<fields.length; j++){
161
			FieldDefinition fdef = getFieldDefinitions().get(j);
162
			dynObject.setDynValue(fdef.getName(), fields[j]);
163
		}
164
		if(getFieldNames() != null && getFieldNames().size() > 3){
165
			Object objX = fields[getFieldNames().size()-2];
166
			Object objY = fields[getFieldNames().size()-3];
167
			
168
			Double coordX = Double.parseDouble(objX.toString().trim());
169
			Double coordY = Double.parseDouble(objY.toString().trim());
170
			
171
			try {
172
				Point point = (Point) geomanager.create(Geometry.TYPES.POINT, SUBTYPES.GEOM2D);
173
				point.setX(coordX);
174
				point.setY(coordY);
175
				dynObject.setDynValue("GEOM", point);
176
			} catch (CreateGeometryException e) {
177
				// TODO Auto-generated catch block
178
				e.printStackTrace();
179
			}
180
		}
181
		
182
		this.createDynObjectProjectInfo(dynObject);
183
		
184
		return dynObject;
185
	}
186
	
187
	@Override
188
	public Parser clone() {
189
		return new PTOParser(getDriverManager());
190
	}
191

  
192
}
0 193

  
org.gvsig.seismic/tags/org.gvsig.seismic-1.0.4/org.gvsig.seismic/org.gvsig.seismic.lib/org.gvsig.seismic.lib.impl/src/main/java/org/gvsig/seismic/impl/parser/RPSParser.java
1
package org.gvsig.seismic.impl.parser;
2

  
3
import java.io.BufferedReader;
4
import java.io.File;
5
import java.io.FileNotFoundException;
6
import java.io.FileReader;
7
import java.io.IOException;
8
import java.util.ArrayList;
9
import java.util.HashMap;
10
import java.util.List;
11
import java.util.regex.Matcher;
12
import java.util.regex.Pattern;
13

  
14
import org.cresques.cts.IProjection;
15
import org.gvsig.fmap.crs.CRSFactory;
16
import org.gvsig.fmap.geom.DataTypes;
17
import org.gvsig.fmap.geom.Geometry;
18
import org.gvsig.fmap.geom.Geometry.SUBTYPES;
19
import org.gvsig.fmap.geom.exception.CreateGeometryException;
20
import org.gvsig.fmap.geom.primitive.Point;
21
import org.gvsig.seismic.Parser;
22
import org.gvsig.seismic.SeismicManager;
23
import org.gvsig.seismic.impl.AbstractParser;
24
import org.gvsig.tools.dynobject.DynObject;
25

  
26
public class RPSParser extends AbstractParser{
27
	
28
	public static String NAME = "RPS-SPS";
29
	public static String DESCRIPTION = "Parser to the RPS/SPS files";
30
	private List<String> fields;
31
	
32
	
33
	public RPSParser(SeismicManager manager) {
34
		super(manager);
35
		
36
		this.initialize();
37
	}
38
	
39
	private void initialize(){
40
		availableExtensions.add("rps");
41
		availableExtensions.add("sps");
42
	}
43
	
44
	@Override
45
	public String getName() {
46
		return RPSParser.NAME;
47
	}
48

  
49
	@Override
50
	public String getDescription() {
51
		return RPSParser.DESCRIPTION;
52
	}
53
	
54
	@Override
55
	public boolean hasStartEndDelimiters() {
56
		return false;
57
	}
58

  
59
	@Override
60
	public String getStartDelimiter() {
61
		return "";
62
	}
63

  
64
	@Override
65
	public String getEndDelimiter() {
66
		return "\n";
67
	}
68

  
69
	@Override
70
	public boolean hasHeader() {
71
		return false;
72
	}
73

  
74
	@Override
75
	public String getHeaderToken() {
76
		return "";
77
	}
78

  
79
	@Override
80
	public boolean hasHeaderTokenRepited() {
81
		return false;
82
	}
83

  
84
	@Override
85
	public String getFieldDelimiter() {
86
		return " ";
87
	}
88

  
89
	@Override
90
	public boolean hasFieldName() {
91
		return false;
92
	}
93

  
94
	@Override
95
	public String getFieldNameSeparator() {
96
		return "";
97
	}
98

  
99
	public boolean hasMetadata() {
100
		return true;
101
	}
102

  
103
	public String getMetadataToken() {
104
		return "H[\\.0-9]*";
105
	}
106

  
107
	public boolean hasMetadataFieldName() {
108
		return true;
109
	}
110

  
111
	public String getMetadataFieldNameSeparator() {
112
		return "  ";
113
	}
114
	
115
	protected void initializeDefinitions() {
116
		addFieldDefinition("Identification", DataTypes.STRING);
117
		addFieldDefinition("Line name", DataTypes.STRING);
118
		addFieldDefinition("Point number", DataTypes.STRING);
119
		addFieldDefinition("Point index", DataTypes.INT);
120
		addFieldDefinition("Point code", DataTypes.STRING);
121
		addFieldDefinition("Static correction", DataTypes.STRING);
122
		addFieldDefinition("Point depth", DataTypes.STRING);
123
		addFieldDefinition("Seismic datum", DataTypes.STRING);
124
		addFieldDefinition("Uphole time", DataTypes.STRING);
125
		addFieldDefinition("Water depth", DataTypes.STRING);
126
		addFieldDefinition("Map grid easting", DataTypes.STRING);
127
		addFieldDefinition("Map grid northing", DataTypes.STRING);
128
		addFieldDefinition("Surface elevation", DataTypes.STRING);
129
		addFieldDefinition("Day of year", DataTypes.INT);
130
		addFieldDefinition("Time", DataTypes.STRING);
131
		
132
		addFieldDefinition("GEOM", DataTypes.GEOMETRY);
133
		super.initializeDefinitions();
134
	}
135
	
136
	public String[] getOrderedFieldNames() {
137
		return new String[]{"proyecto", "proyecto_id", "Estado", "Fecha", 
138
				"Identification", "Line name", "Point number", "Point index", "Point code",
139
				"Static correction", "Point depth", "Seismic datum", "Uphole time", "Water depth", 
140
				"Map grid easting", "Map grid northing", "Surface elevation", "Day of year", "Time", "GEOM"};
141
	}
142
	
143
		
144
	private String[] getFileFields(String features) {
145
			fields = new ArrayList<String>();
146
			String aux = features;
147
		
148
			aux = extractFilefield(74, aux);
149
			aux = extractFilefield(71, aux);
150
			aux = extractFilefield(65, aux);
151
			aux = extractFilefield(55, aux);
152
			aux = extractFilefield(46, aux);
153
			aux = extractFilefield(42, aux);
154
			aux = extractFilefield(40, aux);
155
			aux = extractFilefield(36, aux);
156
			aux = extractFilefield(32, aux);
157
			aux = extractFilefield(28, aux);
158
			aux = extractFilefield(26, aux);
159
			aux = extractFilefield(25, aux);
160
			aux = extractFilefield(17, aux);
161
			aux = extractFilefield(1, aux);
162
			aux = extractFilefield(0, aux);
163
		
164
		String[] names = new String[fields.size()];
165
		return fields.toArray(names);
166
	}
167
	
168
	protected String extractFilefield(int index, String aux){
169
		if(aux.length()>index){
170
			String fieldAux = aux.substring(index);
171
			aux = aux.substring(0, index);
172
			String f = fieldAux;
173
			if(f!=null && f.length() > 0){
174
				fields.add(0, f);
175
			}
176
		}
177
		return aux;
178
	}
179
	
180
	protected void readDocument(File file, boolean onlyFirst){
181
		String line = "";
182
		List<DynObject> objects = new ArrayList<DynObject>();
183
		
184
		try {
185
			 BufferedReader reader = new BufferedReader(new FileReader(file));
186
			 while ((line = reader.readLine()) != null) {
187
				 if(line.startsWith("EOF"))
188
					 break;
189
				 
190
				 if(onlyFirst){
191
						if(!this.hasMetadata() || !line.matches("^"+getMetadataToken()+"(.*)$")){
192
							break;
193
						}
194
				 }else{
195
					 
196
					if(!this.hasMetadata() || !line.matches("^"+getMetadataToken()+"(.*)$")){
197
						String[] fields = null;
198
						fields = getFileFields(line);
199
						if(fields != null){
200
							objects.add(createDynObject(fields));
201
						}
202
					}
203
					 
204
				 }
205
		     }
206
			 reader.close();
207
        }catch (Exception e) {
208
			e.printStackTrace();
209
		}
210
		
211
		this.setData(objects);
212
	}
213
	
214
	@Override
215
	public void readMetadata(File file){
216
		BufferedReader br = null;
217
		String line = "";
218
	 
219
		if(!this.hasMetadata())
220
			return;
221
		
222
		try {
223
			br = new BufferedReader(new FileReader(file.getAbsolutePath()));
224
			this.metadata = new HashMap<String, String>();
225
			while ((line = br.readLine()) != null) {
226
				if(!line.startsWith("H26")){
227
					Pattern delimiter = Pattern.compile("^"+     // Desde el principio de la cadena
228
							 getMetadataToken()+                 // Inicio contenido feature
229
							"(.*)$");              // Recoge todos los caracteres unidos al token de Metadato como separador
230
					List<String> tagValues = new ArrayList<String>();
231
					Matcher matcher = delimiter.matcher(line);
232
					while (matcher.find()) {
233
					    tagValues.add(matcher.group(1));
234
					}
235
					
236
					if(tagValues.size()>0){
237
						String key = line.substring(0, 32).replaceAll(this.getMetadataToken(), "").trim();
238
						String value = line.substring(32).trim();
239
						this.metadata.put(key, value);
240
						if(hasProjectionData(line.substring(0, 32))){
241
							defaultProjection = getProjectionData(value);
242
						}
243
					}
244
				}
245
			}
246
		} catch (FileNotFoundException e) {
247
			e.printStackTrace();
248
		} catch (IOException e) {
249
			e.printStackTrace();
250
		} finally {
251
			if (br != null) {
252
				try {
253
					br.close();
254
				} catch (IOException e) {
255
					e.printStackTrace();
256
				}
257
			}
258
		}
259
		
260
	}
261
	
262
	@Override
263
	protected DynObject createDynObject(String[] fields) {
264
		DynObject dynObject = dynManager.createDynObject(getDataStruct());
265
		for(int j=0; j<fields.length; j++){
266
			FieldDefinition fdef = getFieldDefinitions().get(j);
267
			dynObject.setDynValue(fdef.getName(), fields[j]);
268
		}
269
		if(getFieldNames() != null && getFieldNames().size() > 11){
270
			Object objX = fields[11];
271
			Object objY = fields[12];
272
			
273
			Double coordX = Double.parseDouble(objX.toString().trim());
274
			Double coordY = Double.parseDouble(objY.toString().trim());
275
			
276
			try {
277
				Point point = (Point) geomanager.create(Geometry.TYPES.POINT, SUBTYPES.GEOM2D);
278
				point.setX(coordX);
279
				point.setY(coordY);
280
				dynObject.setDynValue("GEOM", point);
281
			} catch (CreateGeometryException e) {
282
				// TODO Auto-generated catch block
283
				e.printStackTrace();
284
			}
285
		}
286
		
287
		this.createDynObjectProjectInfo(dynObject);
288
		
289
		return dynObject;
290
	}
291

  
292
	@Override
293
	public Parser clone() {
294
		return new RPSParser(getDriverManager());
295
	}
296

  
297
}
0 298

  
org.gvsig.seismic/tags/org.gvsig.seismic-1.0.4/org.gvsig.seismic/org.gvsig.seismic.lib/org.gvsig.seismic.lib.impl/src/main/java/org/gvsig/seismic/impl/parser/CADParser.java
1
package org.gvsig.seismic.impl.parser;
2

  
3
import org.gvsig.seismic.Parser;
4
import org.gvsig.seismic.SeismicManager;
5
import org.gvsig.seismic.impl.AbstractParser;
6

  
7
public class CADParser extends AbstractParser{
8
	
9
	public static String NAME = "CAD";
10
	public static String DESCRIPTION = "Parser to the CAD files";
11
	
12
	public CADParser(SeismicManager manager) {
13
		super(manager);
14
		
15
		this.initialize();
16
	}
17

  
18
	private void initialize(){
19
		availableExtensions.add("cad");
20
	}
21
	
22
	@Override
23
	public String getName() {
24
		return CADParser.NAME;
25
	}
26

  
27
	@Override
28
	public String getDescription() {
29
		return CADParser.DESCRIPTION;
30
	}
31
	
32
	@Override
33
	public boolean hasStartEndDelimiters() {
34
		return true;
35
	}
36

  
37
	@Override
38
	public String getStartDelimiter() {
39
		return "\\{";
40
	}
41

  
42
	@Override
43
	public String getEndDelimiter() {
44
		return "\\}";
45
	}
46

  
47
	@Override
48
	public boolean hasHeader() {
49
		return false;
50
	}
51

  
52
	@Override
53
	public String getHeaderToken() {
54
		return null;
55
	}
56

  
57
	@Override
58
	public boolean hasHeaderTokenRepited() {
59
		return false;
60
	}
61

  
62
	@Override
63
	public String getFieldDelimiter() {
64
		return "\n";
65
	}
66

  
67
	@Override
68
	public boolean hasFieldName() {
69
		return true;
70
	}
71

  
72
	@Override
73
	public String getFieldNameSeparator() {
74
		return ":";
75
	}
76

  
77
	public boolean hasMetadata() {
78
		return false;
79
	}
80

  
81
	public String getMetadataToken() {
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff