Revision 21606

View differences:

branches/Mobile_Compatible_Hito_1/libFMap/.cvsignore
1
deploy
2
bin
branches/Mobile_Compatible_Hito_1/libFMap/build.xml
1
<project name="libFMap" default="build" basedir="..">
2
	<property name="resources" location="resources" />
3
	<property name="jars" value="${resources}/jars" />
4
	<property name="fmapdir" location="libFMap" />
5
	<property name="FMapjars" value="${jars}/log4j-1.2.8.jar;${jars}/jts-1.7.jar;${jars}/driver-manager-1.1.jar;${jars}/gdbms-0.8-SNAPSHOT.jar;${jars}/kxml2.jar"/>
6
	
7
	<target name="build">
8
		<depend srcdir="${fmapdir}/src" destdir="${fmapdir}/bin"></depend>
9
		<!-- <javac srcdir="${fmapdir}/src" destdir="${fmapdir}/bin"
10
			classpath="${FMapjars}" >
11
		</javac> -->
12
		<mkdir dir="${fmapdir}/deploy"/>
13
		<jar destfile="${fmapdir}/deploy/libFMap.jar" basedir="${fmapdir}/bin"></jar>
14
	</target>
15
	
16
</project>
17

  
0 18

  
branches/Mobile_Compatible_Hito_1/libFMap/src-data/org/gvsig/data/ComplexObservable.java
1
package org.gvsig.data;
2

  
3
import java.lang.ref.Reference;
4
import java.lang.ref.WeakReference;
5
import java.util.ArrayList;
6
import java.util.Iterator;
7
import java.util.Vector;
8

  
9

  
10
public class ComplexObservable implements IObservable{
11

  
12
	private boolean propageNotifications=true;
13
	private boolean inComplex=false;
14
	private ComplexNotification complexNotification= null;
15

  
16
	private boolean changed = false;
17
    private Vector obs;
18

  
19
    /** Construct an Observable with zero Observers. */
20

  
21
    public ComplexObservable() {
22
		obs = new Vector();
23
		this.inComplex=false;
24
    }
25

  
26
    /**
27
     * Adds an observer to the set of observers for this object, provided
28
     * that it is not the same as some observer already in the set.
29
     * The order in which notifications will be delivered to multiple
30
     * observers is not specified. See the class comment.
31
     *
32
     * @param   o   an observer to be added.
33
     * @throws NullPointerException   if the parameter o is null.
34
     */
35
    public synchronized void addObserver(IObserver o) {
36
        if (o == null)
37
            throw new NullPointerException();
38
		if (!contains(o)) {
39
	    	obs.addElement(o);
40
		}
41
    }
42

  
43
    public synchronized void addObserver(Reference ref) {
44
        if (ref == null || ref.get() == null)
45
            throw new NullPointerException();
46
        IObserver o = (IObserver)ref.get();
47
		if (!contains(o)) {
48
	    	obs.addElement(ref);
49
		}
50
    }
51

  
52
    private boolean contains(IObserver o){
53
    	if (obs.contains(o)){
54
    		return true;
55
    	}
56
        Iterator iter = obs.iterator();
57
        Object obj;
58
        Reference ref1;
59
        while (iter.hasNext()){
60
        	obj = iter.next();
61
        	if (obj instanceof Reference){
62
        		ref1 = (Reference)obj;
63
        		if (o.equals(ref1.get())){
64
        			return true;
65
        		}
66
        	}
67
        }
68
        return false;
69
    }
70

  
71
    /**
72
     * Deletes an observer from the set of observers of this object.
73
     * Passing <CODE>null</CODE> to this method will have no effect.
74
     * @param   o   the observer to be deleted.
75
     */
76
    public synchronized void deleteObserver(IObserver o) {
77
        if (!obs.removeElement(o)){
78
        	this.deleteObserverReferenced(o);
79
        }
80
    }
81

  
82
    private void deleteObserverReferenced(IObserver o){
83
        Iterator iter = obs.iterator();
84
        Object obj;
85
        ArrayList toRemove = new ArrayList();
86
        Reference ref1;
87
        while (iter.hasNext()){
88
        	obj = iter.next();
89
        	if (obj instanceof Reference){
90
        		ref1 = (Reference)obj;
91
        		if (ref1.get() == null || o.equals(ref1.get())){
92
        			toRemove.add(obj);
93
        		}
94
        	}
95
        }
96
        iter = toRemove.iterator();
97
        while (iter.hasNext()){
98
        	obs.remove(iter.next());
99
        }
100
    }
101

  
102
    public synchronized void deleteObserver(Reference ref) {
103
    	IObserver o = (IObserver)ref.get();
104
        obs.removeElement(ref);
105
        if (o == null)
106
        	return;
107
        deleteObserverReferenced(o);
108
    }
109

  
110
    /**
111
     * If this object has changed, as indicated by the
112
     * <code>hasChanged</code> method, then notify all of its observers
113
     * and then call the <code>clearChanged</code> method to
114
     * indicate that this object has no longer changed.
115
     * <p>
116
     * Each observer has its <code>update</code> method called with two
117
     * arguments: this observable object and <code>null</code>. In other
118
     * words, this method is equivalent to:
119
     * <blockquote><tt>
120
     * notifyObservers(null)</tt></blockquote>
121
     *
122
     * @see     java.util.Observable#clearChanged()
123
     * @see     java.util.Observable#hasChanged()
124
     * @see     java.util.Observer#update(java.util.Observable, java.lang.Object)
125
     */
126
    public void notifyObservers() {
127
    	throw new UnsupportedOperationException("Notify requires an notification Object");
128
    }
129

  
130
    /**
131
     * If this object has changed, as indicated by the
132
     * <code>hasChanged</code> method, then notify all of its observers
133
     * and then call the <code>clearChanged</code> method to indicate
134
     * that this object has no longer changed.
135
     * <p>
136
     * Each observer has its <code>update</code> method called with two
137
     * arguments: this observable object and the <code>arg</code> argument.
138
     *
139
     * @param   arg   any object.
140
     * @see     java.util.Observable#clearChanged()
141
     * @see     java.util.Observable#hasChanged()
142
     * @see     java.util.Observer#update(java.util.Observable, java.lang.Object)
143
     */
144
    public void notifyObservers(Object arg) {
145
    	if (!this.inComplex){
146
			this.setChanged();
147
			notify(arg);
148
		}else{
149
			complexNotification.addNotification(arg);
150
		}
151

  
152
    }
153

  
154
    /**
155
     * Clears the observer list so that this object no longer has any observers.
156
     */
157
    public synchronized void deleteObservers() {
158
	obs.removeAllElements();
159
    }
160

  
161
    /**
162
     * Marks this <tt>Observable</tt> object as having been changed; the
163
     * <tt>hasChanged</tt> method will now return <tt>true</tt>.
164
     */
165
    protected synchronized void setChanged() {
166
	changed = true;
167
    }
168

  
169
    /**
170
     * Indicates that this object has no longer changed, or that it has
171
     * already notified all of its observers of its most recent change,
172
     * so that the <tt>hasChanged</tt> method will now return <tt>false</tt>.
173
     * This method is called automatically by the
174
     * <code>notifyObservers</code> methods.
175
     *
176
     * @see     java.util.Observable#notifyObservers()
177
     * @see     java.util.Observable#notifyObservers(java.lang.Object)
178
     */
179
    protected synchronized void clearChanged() {
180
	changed = false;
181
    }
182

  
183
    /**
184
     * Tests if this object has changed.
185
     *
186
     * @return  <code>true</code> if and only if the <code>setChanged</code>
187
     *          method has been called more recently than the
188
     *          <code>clearChanged</code> method on this object;
189
     *          <code>false</code> otherwise.
190
     * @see     java.util.Observable#clearChanged()
191
     * @see     java.util.Observable#setChanged()
192
     */
193
    public synchronized boolean hasChanged() {
194
	return changed;
195
    }
196

  
197
    /**
198
     * Returns the number of observers of this <tt>Observable</tt> object.
199
     *
200
     * @return  the number of observers of this object.
201
     */
202
    public synchronized int countObservers() {
203
    	clearDeadReferences();
204
    	return obs.size();
205
    }
206

  
207
	public void enableNotifications(){
208
		clearDeadReferences();
209
		this.propageNotifications =true;
210
	}
211

  
212
	public void diableNotifications(){
213
		this.propageNotifications =false;
214
	}
215

  
216
	public boolean isEnabledNotifications(){
217
		return this.propageNotifications;
218
	}
219

  
220
	public boolean inComplex(){
221
		return this.inComplex;
222
	}
223

  
224
	public void beginComplexNotification(){
225
		clearDeadReferences();
226
		this.clearChanged();
227
		inComplex=true;
228
		complexNotification=new ComplexNotification();
229
	}
230

  
231
	public void endComplexNotification(){
232
		inComplex=false;
233
		this.setChanged();
234

  
235
		Iterator iter=complexNotification.getIterator();
236
		while(iter.hasNext()){
237
			notify(iter.next());
238
		}
239
	}
240

  
241
	protected synchronized void clearDeadReferences(){
242
        Iterator iter = obs.iterator();
243
        Object obj;
244
        ArrayList toRemove = new ArrayList();
245
        Reference ref1;
246
        while (iter.hasNext()){
247
        	obj = iter.next();
248
        	if (obj instanceof Reference){
249
        		ref1 = (Reference)obj;
250
        		if (ref1.get() == null){
251
        			toRemove.add(obj);
252
        		}
253
        	}
254
        }
255
        iter = toRemove.iterator();
256
        while (iter.hasNext()){
257
        	obs.remove(iter.next());
258
        }
259

  
260
	}
261

  
262
	private void notify(Object object) {
263
		/*
264
         * a temporary array buffer, used as a snapshot of the state of
265
         * current Observers.
266
         */
267
        Object[] arrLocal;
268

  
269
	synchronized (this) {
270
	    /* We don't want the Observer doing callbacks into
271
	     * arbitrary code while holding its own Monitor.
272
	     * The code where we extract each Observable from
273
	     * the Vector and store the state of the Observer
274
	     * needs synchronization, but notifying observers
275
	     * does not (should not).  The worst result of any
276
	     * potential race-condition here is that:
277
	     * 1) a newly-added Observer will miss a
278
	     *   notification in progress
279
	     * 2) a recently unregistered Observer will be
280
	     *   wrongly notified when it doesn't care
281
	     */
282
	    if (!changed)
283
                return;
284
            arrLocal = obs.toArray();
285
            clearChanged();
286
        }
287

  
288
		Object obj;
289
		IObserver observer;
290
		ArrayList toRemove = new ArrayList();
291
        for (int i = arrLocal.length-1; i>=0; i--){
292
        	obj = arrLocal[i];
293
        	if (obj instanceof Reference){
294
        		observer = (IObserver)((Reference)obj).get();
295
        		if (observer == null){
296
        			toRemove.add(obj);
297
        			continue;
298
        		}
299
        	} else {
300
        		observer = (IObserver)obj;
301
        	}
302
            observer.update(this, object);
303
        }
304

  
305
        Iterator iter = toRemove.iterator();
306
        while (iter.hasNext()){
307
        	obs.remove(iter.next());
308
        }
309

  
310
	}
311
}
0 312

  
branches/Mobile_Compatible_Hito_1/libFMap/src-data/org/gvsig/data/ComplexNotification.java
1
package org.gvsig.data;
2

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

  
7
public class ComplexNotification {
8
	private List list=new ArrayList();
9
	public Iterator getIterator() {
10
		return list.iterator();
11
	}
12

  
13
	public void addNotification(Object arg) {
14
		list.add(arg);
15
	}
16

  
17
}
0 18

  
branches/Mobile_Compatible_Hito_1/libFMap/src-data/org/gvsig/data/exception/UnsupportedEncodingException.java
1
package org.gvsig.data.exception;
2

  
3

  
4
public class UnsupportedEncodingException extends OpenException {
5
	public UnsupportedEncodingException(String name,Throwable exception) {
6
		super("Unsuported version",name,exception);
7
		init();
8
	}
9

  
10
	public UnsupportedEncodingException(String description,String name,Throwable exception) {
11
		super(description,name,exception);
12
		init();
13
	}
14

  
15
	public UnsupportedEncodingException(String description,String name) {
16
		super(description,name);
17
		init();
18
	}
19
	/**
20
	 *
21
	 */
22
	protected void init() {
23
		super.init();
24
		messageKey = "error_unsuported_encoding";
25
		formatString = "Econding problem in %(name): %(description) ";
26
	}
27

  
28
}
0 29

  
branches/Mobile_Compatible_Hito_1/libFMap/src-data/org/gvsig/data/exception/package.html
1
<html>
2
<head>
3
<title>Excepciones de libData</title>
4
<style type="text/css">
5
    span.foldopened { color: white; font-size: xx-small;
6
    border-width: 1; font-family: monospace; padding: 0em 0.25em 0em 0.25em; background: #e0e0e0;
7
    VISIBILITY: visible;
8
    cursor:pointer; }
9

  
10

  
11
    span.foldclosed { color: #666666; font-size: xx-small;
12
    border-width: 1; font-family: monospace; padding: 0em 0.25em 0em 0.25em; background: #e0e0e0;
13
    VISIBILITY: hidden;
14
    cursor:pointer; }
15

  
16
    span.foldspecial { color: #666666; font-size: xx-small; border-style: none solid solid none;
17
    border-color: #CCCCCC; border-width: 1; font-family: sans-serif; padding: 0em 0.1em 0em 0.1em; background: #e0e0e0;
18
    cursor:pointer; }
19

  
20
    li { list-style: none; }
21

  
22
    span.l { color: red; font-weight: bold; }
23

  
24
    a:link {text-decoration: none; color: black; }
25
    a:visited {text-decoration: none; color: black; }
26
    a:active {text-decoration: none; color: black; }
27
    a:hover {text-decoration: none; color: black; background: #eeeee0; }
28

  
29
</style>
30
<!-- ^ Position is not set to relative / absolute here because of Mozilla -->
31
</head>
32
<body>
33
<p>Excepciones de libData
34
<ul><li>DataException
35
<ul><li>ReadException
36
<ul><li>CloseException
37

  
38
</li>
39
<li>EvaluationExpressionException
40

  
41
</li>
42
<li>InitializeException
43
<ul><li>OpenException
44
<ul><li>UnsupportedEncodingException
45

  
46
</li>
47
<li>UnsupportedVersionException
48

  
49
</li>
50

  
51
</ul>
52
</li>
53

  
54
</ul>
55
</li>
56

  
57
</ul>
58
</li>
59
<li>WriteException
60
<ul><li>InitializeWriterException
61

  
62
</li>
63
<li>UnsupportedTypeException
64

  
65
</li>
66

  
67
</ul>
68
</li>
69

  
70
</ul>
71
</li>
72

  
73
</ul></body>
74
</html>
0 75

  
branches/Mobile_Compatible_Hito_1/libFMap/src-data/org/gvsig/data/exception/InitializeException.java
1
package org.gvsig.data.exception;
2

  
3

  
4
public class InitializeException extends ReadException {
5

  
6
	public InitializeException(String name,Throwable exception) {
7
		super("Intialize Error",name,exception);
8
		init();
9
	}
10

  
11
	public InitializeException(String description,String name,Throwable exception) {
12
		super(description,name,exception);
13
		init();
14
	}
15

  
16
	public InitializeException(String description,String name) {
17
		super(description,name);
18
		init();
19
	}
20
	/**
21
	 *
22
	 */
23
	protected void init() {
24
		super.init();
25
		messageKey = "error_initialize";
26
		formatString = "Can?t initialize %(name): %(description) ";
27
	}
28

  
29
}
0 30

  
branches/Mobile_Compatible_Hito_1/libFMap/src-data/org/gvsig/data/exception/OpenException.java
1
package org.gvsig.data.exception;
2

  
3

  
4
public class OpenException extends InitializeException {
5
	public OpenException(String name,Throwable exception) {
6
		super("Open Error",name,exception);
7
		init();
8
	}
9

  
10
	public OpenException(String description,String name,Throwable exception) {
11
		super(description,name,exception);
12
		init();
13
	}
14

  
15
	public OpenException(String description,String name) {
16
		super(description,name);
17
		init();
18
	}
19
	/**
20
	 *
21
	 */
22
	protected void init() {
23
		super.init();
24
		messageKey = "error_open";
25
		formatString = "Can?t open %(name): %(description) ";
26
	}
27

  
28

  
29
}
0 30

  
branches/Mobile_Compatible_Hito_1/libFMap/src-data/org/gvsig/data/exception/CloseException.java
1
package org.gvsig.data.exception;
2

  
3

  
4
public class CloseException extends ReadException {
5

  
6
	public CloseException(String name,Throwable exception) {
7
		super("Close Error",name,exception);
8
		init();
9
	}
10

  
11
	public CloseException(String description,String name,Throwable exception) {
12
		super(description,name,exception);
13
		init();
14
	}
15

  
16
	public CloseException(String description,String name) {
17
		super(description,name);
18
		init();
19
	}
20

  
21
	/**
22
	 *
23
	 */
24
	protected void init() {
25
		super.init();
26
		messageKey = "error_close";
27
		formatString = "Can?t close %(name): %(description) ";
28
	}
29
}
0 30

  
branches/Mobile_Compatible_Hito_1/libFMap/src-data/org/gvsig/data/exception/EvaluationExpressionException.java
1
package org.gvsig.data.exception;
2

  
3
import java.util.Hashtable;
4
import java.util.Iterator;
5
import java.util.Map;
6

  
7
import org.gvsig.exceptions.IExceptionTranslator;
8

  
9
public class EvaluationExpressionException extends ReadException {
10
	private String expression = null;
11

  
12
	public EvaluationExpressionException(String description, String name, String expression,Throwable exception) {
13
		super(description, name, exception);
14
		this.expression = expression;
15
		init();
16
	}
17

  
18
	public EvaluationExpressionException(String expression,Throwable exception) {
19
		super("Evaluation Experssion Error", "unknow", exception);
20
		this.expression = expression;
21
		init();
22
	}
23

  
24
	public EvaluationExpressionException(String description, String name, String expression) {
25
		super(description, name);
26
		this.expression = expression;
27
		init();
28
	}
29

  
30
	protected void init() {
31
		super.init();
32
		messageKey = "error_parsing_expression";
33
		formatString = "Error parsing expression '%(expression)': %(description)";
34
	}
35

  
36
	protected Map values() {
37
		Map params = super.values();
38
		params.put("expression",expression);
39
		return params;
40
	}
41

  
42
}
0 43

  
branches/Mobile_Compatible_Hito_1/libFMap/src-data/org/gvsig/data/exception/exceptions_hierarchy.mm
1
<map version="0.8.1">
2
<!-- To view this file, download free mind mapping software FreeMind from http://freemind.sourceforge.net -->
3
<node CREATED="1208241399576" ID="Freemind_Link_1091473561" MODIFIED="1208241415967" TEXT="Excepciones de libData">
4
<node CREATED="1208241431252" ID="_" MODIFIED="1208241437907" POSITION="right" TEXT="DataException">
5
<node CREATED="1208241470021" ID="Freemind_Link_981251953" MODIFIED="1208241474457" TEXT="ReadException">
6
<node CREATED="1208241498819" ID="Freemind_Link_881323281" MODIFIED="1208241505041" TEXT="CloseException"/>
7
<node CREATED="1208241505667" ID="Freemind_Link_1556911998" MODIFIED="1208241530057" TEXT="EvaluationExpressionException"/>
8
<node CREATED="1208241531453" ID="Freemind_Link_1913524181" MODIFIED="1208241547804" TEXT="InitializeException">
9
<node CREATED="1208241616423" ID="Freemind_Link_898717563" MODIFIED="1208241622216" TEXT="OpenException">
10
<node CREATED="1208241665195" ID="Freemind_Link_631985578" MODIFIED="1208241667566" TEXT="UnsupportedEncodingException"/>
11
<node CREATED="1208241670430" ID="Freemind_Link_774404741" MODIFIED="1208241681842" TEXT="UnsupportedVersionException"/>
12
</node>
13
</node>
14
</node>
15
<node CREATED="1208241475857" ID="Freemind_Link_1571515948" MODIFIED="1208241482354" TEXT="WriteException">
16
<node CREATED="1208241728259" ID="Freemind_Link_696993722" MODIFIED="1208241735132" TEXT="InitializeWriterException"/>
17
<node CREATED="1208241735618" ID="Freemind_Link_97625364" MODIFIED="1208241749322" TEXT="UnsupportedTypeException"/>
18
</node>
19
</node>
20
</node>
21
</map>
branches/Mobile_Compatible_Hito_1/libFMap/src-data/org/gvsig/data/exception/DataException.java
1
package org.gvsig.data.exception;
2

  
3
import java.util.Hashtable;
4
import java.util.Map;
5

  
6
import org.gvsig.exceptions.BaseException;
7

  
8
public class DataException extends BaseException {
9

  
10
	private String description;
11

  
12
	public DataException(String description){
13
		this.description = description;
14
		this.init();
15

  
16
	}
17

  
18
	public DataException(String description,Throwable cause){
19
		this.description = description;
20
		this.init();
21
		this.initCause(cause);
22
	}
23

  
24
	protected void init() {
25
		messageKey = "libData_exception";
26
		formatString = "%(description)";
27
	}
28

  
29
	protected Map values() {
30
		Hashtable params = new Hashtable();
31
		params.put("description",this.description);
32
		return params;
33
	}
34
}
0 35

  
branches/Mobile_Compatible_Hito_1/libFMap/src-data/org/gvsig/data/exception/UnsupportedTypeException.java
1
package org.gvsig.data.exception;
2

  
3
import java.util.Map;
4

  
5
public class UnsupportedTypeException extends WriteException {
6
	private String fieldType="";
7
	private String fieldName="";
8

  
9

  
10
	public UnsupportedTypeException(String sourceName,Throwable exception) {
11
		super("Unsuported type",sourceName,exception);
12
		init();
13
	}
14

  
15
	public UnsupportedTypeException(String fieldType,String sourceName,Throwable exception) {
16
		super("Unsuported type '"+fieldType+"'",sourceName,exception);
17
		this.fieldType = fieldType;
18
		init();
19
	}
20

  
21
	public UnsupportedTypeException(String sourceName,String fieldType,String fieldName) {
22
		super("Unsuported type '"+fieldType+"' for "+fieldName+"'",sourceName);
23
		this.fieldType = fieldType;
24
		this.fieldName = fieldName;
25
		init();
26
	}
27
	/**
28
	 *
29
	 */
30
	protected void init() {
31
		super.init();
32
		messageKey = "error_unsuported_type";
33
		formatString = "Unsuported type for %(name): %(description) ";
34
	}
35

  
36
	protected Map values() {
37
		Map params = super.values();
38
		params.put("fieldType",this.fieldType);
39
		params.put("fieldName",this.fieldName);
40
		return params;
41
	}
42

  
43

  
44
}
0 45

  
branches/Mobile_Compatible_Hito_1/libFMap/src-data/org/gvsig/data/exception/WriteException.java
1
package org.gvsig.data.exception;
2

  
3
import java.util.Hashtable;
4
import java.util.Map;
5

  
6
import org.gvsig.exceptions.BaseException;
7

  
8
public class WriteException extends DataException {
9

  
10

  
11
	private String name = null;
12

  
13
	public WriteException(String description, String name) {
14
		super(description);
15
		this.name = name;
16
		init();
17
	}
18

  
19
	public WriteException(String description, String name,Throwable exception) {
20
		super(description);
21
		this.name = name;
22
		init();
23
		initCause(exception);
24
	}
25

  
26
	public WriteException(String name,Throwable exception) {
27
		super("Error writing");
28
		this.name = name;
29
		init();
30
		initCause(exception);
31
	}
32

  
33
	protected void init() {
34
		super.init();
35
		messageKey = "error_write";
36
		formatString = "Can?t write %(name): %(description) ";
37
	}
38

  
39
	protected Map values() {
40
		Map params = super.values();
41
		params.put("name",this.name);
42
		return params;
43
	}
44

  
45
}
0 46

  
branches/Mobile_Compatible_Hito_1/libFMap/src-data/org/gvsig/data/exception/ReadException.java
1
package org.gvsig.data.exception;
2

  
3
import java.util.Map;
4

  
5
public class ReadException extends DataException {
6

  
7

  
8
	private String name = null;
9

  
10
	public ReadException(String description, String name) {
11
		super(description);
12
		this.name = name;
13
		init();
14
	}
15

  
16
	public ReadException(String description, String name,Throwable exception) {
17
		super(description);
18
		this.name = name;
19
		init();
20
		initCause(exception);
21
	}
22

  
23
	public ReadException(String name,Throwable exception) {
24
		super("Error reading");
25
		this.name = name;
26
		init();
27
		initCause(exception);
28
	}
29

  
30
	protected void init() {
31
		super.init();
32
		messageKey = "error_read";
33
		formatString = "Can?t read %(name): %(description) ";
34
	}
35

  
36
	protected Map values() {
37
		Map params = super.values();
38
		params.put("name",this.name);
39
		return params;
40
	}
41

  
42
}
0 43

  
branches/Mobile_Compatible_Hito_1/libFMap/src-data/org/gvsig/data/exception/InitializeWriterException.java
1
package org.gvsig.data.exception;
2

  
3

  
4
public class InitializeWriterException extends WriteException{
5

  
6
	public InitializeWriterException(String name,Throwable exception) {
7
		super("Intialize Access Error",name,exception);
8
		init();
9
	}
10

  
11
	public InitializeWriterException(String description,String name,Throwable exception) {
12
		super(description,name,exception);
13
		init();
14
	}
15

  
16
	public InitializeWriterException(String description,String name) {
17
		super(description,name);
18
		init();
19
	}
20
	/**
21
	 *
22
	 */
23
	protected void init() {
24
		super.init();
25
		messageKey = "error_initialize";
26
		formatString = "Can?t intialize writer of %(name): %(description) ";
27
	}
28

  
29
}
0 30

  
branches/Mobile_Compatible_Hito_1/libFMap/src-data/org/gvsig/data/exception/UnsupportedVersionException.java
1
package org.gvsig.data.exception;
2

  
3

  
4
public class UnsupportedVersionException extends OpenException {
5
	public UnsupportedVersionException(String name,Throwable exception) {
6
		super("Unsuported version",name,exception);
7
		init();
8
	}
9

  
10
	public UnsupportedVersionException(String description,String name,Throwable exception) {
11
		super(description,name,exception);
12
		init();
13
	}
14

  
15
	public UnsupportedVersionException(String description,String name) {
16
		super(description,name);
17
		init();
18
	}
19
	/**
20
	 *
21
	 */
22
	protected void init() {
23
		super.init();
24
		messageKey = "error_unsuported_version";
25
		formatString = "Can?t open %(name) caused by version problem: %(description) ";
26
	}
27

  
28
}
0 29

  
branches/Mobile_Compatible_Hito_1/libFMap/src-data/org/gvsig/data/visitor/IVisitor.java
1
package org.gvsig.data.visitor;
2

  
3
import org.gvsig.exceptions.BaseException;
4

  
5
public interface IVisitor {
6
	public void visit(Object obj) throws BaseException;
7
}
0 8

  
branches/Mobile_Compatible_Hito_1/libFMap/src-data/org/gvsig/data/visitor/IVisitable.java
1
package org.gvsig.data.visitor;
2

  
3
import org.gvsig.exceptions.BaseException;
4

  
5
public interface IVisitable {
6
	
7
	public void accept(IVisitor visitor) throws BaseException;
8

  
9
}
0 10

  
branches/Mobile_Compatible_Hito_1/libFMap/src-data/org/gvsig/data/visitor/DefaultVisitor.java
1
package org.gvsig.data.visitor;
2

  
3
import org.gvsig.exceptions.BaseException;
4

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

  
56
	/*
57
	 * (non-Javadoc)
58
	 * @see org.gvsig.data.visitor.IVisitor#visit(java.lang.Object)
59
	 */
60
	public void visit(Object obj) throws BaseException{
61
		throw new NotSupportedOperationException(this, obj);
62
	}
63

  
64
}
0 65

  
branches/Mobile_Compatible_Hito_1/libFMap/src-data/org/gvsig/data/visitor/NotSupportedOperationException.java
1
package org.gvsig.data.visitor;
2

  
3
import java.util.HashMap;
4
import java.util.Map;
5

  
6
import org.gvsig.exceptions.BaseException;
7

  
8
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
9
 *
10
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
11
 *
12
 * This program is free software; you can redistribute it and/or
13
 * modify it under the terms of the GNU General Public License
14
 * as published by the Free Software Foundation; either version 2
15
 * of the License, or (at your option) any later version.
16
 *
17
 * This program is distributed in the hope that it will be useful,
18
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20
 * GNU General Public License for more details.
21
 *
22
 * You should have received a copy of the GNU General Public License
23
 * along with this program; if not, write to the Free Software
24
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
25
 *
26
 * For more information, contact:
27
 *
28
 *  Generalitat Valenciana
29
 *   Conselleria d'Infraestructures i Transport
30
 *   Av. Blasco Ib??ez, 50
31
 *   46010 VALENCIA
32
 *   SPAIN
33
 *
34
 *      +34 963862235
35
 *   gvsig@gva.es
36
 *      www.gvsig.gva.es
37
 *
38
 *    or
39
 *
40
 *   IVER T.I. S.A
41
 *   Salamanca 50
42
 *   46005 Valencia
43
 *   Spain
44
 *
45
 *   +34 963163400
46
 *   dac@iver.es
47
 */
48
/* CVS MESSAGES:
49
 *
50
 * $Id$
51
 * $Log$
52
 *
53
 */
54
/**
55
 * @author Jorge Piera Llodr? (jorge.piera@iver.es)
56
 */
57
public class NotSupportedOperationException extends BaseException{
58
	private static final long serialVersionUID = 1L;
59
	private String visitorClassName = null;
60
	private String objectClassName = null;
61
		
62
	public NotSupportedOperationException(IVisitor visitor, Object object){
63
		this.visitorClassName = visitor.getClass().getName();
64
		this.objectClassName = object.getClass().getName();
65
	}
66
	
67
	/**
68
	 * Initializes some values
69
	 */
70
	public void init() {
71
		messageKey="geometries_reader_not_exists";
72
		formatString="The visitor %(visitorClassName) doesn't implements any " +
73
			"operation for the object %(objectClassName)";
74
		code = serialVersionUID;
75
	}
76
	
77
	/*
78
	 * (non-Javadoc)
79
	 * @see org.gvsig.exceptions.BaseException#values()
80
	 */
81
	protected Map values() {
82
		HashMap map = new HashMap();
83
		map.put("visitorClassName", visitorClassName);
84
		map.put("objectClassName", objectClassName);
85
		return map;
86
	}
87

  
88
}
0 89

  
branches/Mobile_Compatible_Hito_1/libFMap/src-data/org/gvsig/data/raster/ICoveragerStoreParameters.java
1
package org.gvsig.data.raster;
2

  
3

  
4
public interface ICoveragerStoreParameters {
5

  
6
	public String getDataStoreName();
7

  
8
}
0 9

  
branches/Mobile_Compatible_Hito_1/libFMap/src-data/org/gvsig/data/raster/ICoverageStore.java
1
package org.gvsig.data.raster;
2

  
3
import org.gvsig.data.IDataStore;
4

  
5
public interface ICoverageStore extends IDataStore {
6
	
7
}
8

  
0 9

  
branches/Mobile_Compatible_Hito_1/libFMap/src-data/org/gvsig/data/commands/AbstractCommand.java
1

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

  
43
package org.gvsig.data.commands;
44

  
45
import java.util.GregorianCalendar;
46

  
47

  
48
/**
49
 * DOCUMENT ME!
50
 *
51
 * @author Vicente Caballero Navarro
52
 */
53
public abstract class AbstractCommand implements ICommand {
54
    private String description;
55
    private int year;
56
    private int month;
57
    private int day;
58
    private int hour;
59
    private int minute;
60
    private int second;
61

  
62
    public AbstractCommand(String description) {
63
        this.description = description;
64
        initDate();
65
    }
66

  
67
    public AbstractCommand() {
68
        initDate();
69
    }
70

  
71
    /**
72
     * DOCUMENT ME!
73
     */
74
    private void initDate() {
75
        GregorianCalendar calendario = new GregorianCalendar();
76
        year = calendario.get(GregorianCalendar.YEAR);
77
        month = calendario.get(GregorianCalendar.MONTH);
78
        day = calendario.get(GregorianCalendar.DAY_OF_MONTH);
79
        hour = calendario.get(GregorianCalendar.HOUR_OF_DAY);
80
        minute = calendario.get(GregorianCalendar.MINUTE);
81
        second = calendario.get(GregorianCalendar.SECOND);
82
    }
83

  
84
    /**
85
     * DOCUMENT ME!
86
     *
87
     * @param description DOCUMENT ME!
88
     */
89
    public void setDescription(String description) {
90
        this.description = description;
91
    }
92

  
93
    /**
94
     * DOCUMENT ME!
95
     *
96
     * @return DOCUMENT ME!
97
     */
98
    public String getDescription() {
99
        return this.description;
100
    }
101

  
102
    /**
103
     * DOCUMENT ME!
104
     *
105
     * @return DOCUMENT ME!
106
     */
107
    public String getDate() {
108
        return day + "/" + month + "/" + year;
109
    }
110

  
111
    /**
112
     * DOCUMENT ME!
113
     *
114
     * @return DOCUMENT ME!
115
     */
116
    public String getTime() {
117
        return hour + ":" + minute + ":" + second;
118
    }
119

  
120
    /**
121
     * DOCUMENT ME!
122
     *
123
     * @return DOCUMENT ME!
124
     */
125
    public String toString() {
126
        return this.getType() + " " + this.getDescription() + " " +
127
        this.getDate() + " " + this.getTime();
128
    }
129
}
0 130

  
branches/Mobile_Compatible_Hito_1/libFMap/src-data/org/gvsig/data/commands/AbstractCommandsRecord.java
1
package org.gvsig.data.commands;
2

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

  
7
import org.gvsig.data.ComplexObservable;
8
import org.gvsig.data.IObserver;
9
import org.gvsig.data.commands.implementation.AbstractAttributeCommand;
10
import org.gvsig.data.commands.implementation.AbstractFeatureCommand;
11

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

Also available in: Unified diff