Revision 43528

View differences:

tags/org.gvsig.desktop-2.0.205/org.gvsig.desktop.compat.cdc/org.gvsig.metadata.basic/org.gvsig.metadata.basic.lib/org.gvsig.metadata.lib.basic.impl/src/test/java/README.txt
1
#set( $symbol_pound = '#' )
2
#set( $symbol_dollar = '$' )
3
#set( $symbol_escape = '\' )
4
For each class you are going to test, create one Test class with the same
5
name as the class to test, ending with Test.
6

  
7
For example, the unit tests of the "ExampleLibrary" class are performed
8
by the "ExampleLibraryTest" class.
0 9

  
tags/org.gvsig.desktop-2.0.205/org.gvsig.desktop.compat.cdc/org.gvsig.metadata.basic/org.gvsig.metadata.basic.lib/org.gvsig.metadata.lib.basic.impl/src/test/resources/README.txt
1
#set( $symbol_pound = '#' )
2
#set( $symbol_dollar = '$' )
3
#set( $symbol_escape = '\' )
4
Put into this folder the resources needed by your test classes.
5

  
6
This folder is added to the Tests classpath, so you can load any resources 
7
through the ClassLoader.
8

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

  
tags/org.gvsig.desktop-2.0.205/org.gvsig.desktop.compat.cdc/org.gvsig.metadata.basic/org.gvsig.metadata.basic.lib/org.gvsig.metadata.lib.basic.impl/src/test/resources/log4j.xml
1
<?xml version="1.0" encoding="UTF-8" ?>
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
	DefaultExampleManager class.
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.metadata.basic.impl.DefaultExampleManager">
23
		<priority value="DEBUG" />
24
	</category>
25

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

  
tags/org.gvsig.desktop-2.0.205/org.gvsig.desktop.compat.cdc/org.gvsig.metadata.basic/org.gvsig.metadata.basic.lib/org.gvsig.metadata.lib.basic.impl/src/main/javadoc/overview.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.metadata.basic package documentation</title>
7
</head>
8
<body>
9

  
10
	<p>TODO: Example library overview.</p>
11
	
12
	<p>See the <a href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javadoc.html#overviewcomment">Javadoc Tool documentation about the overview file</a></p>
13

  
14
</body>
15
</html>
0 16

  
tags/org.gvsig.desktop-2.0.205/org.gvsig.desktop.compat.cdc/org.gvsig.metadata.basic/org.gvsig.metadata.basic.lib/org.gvsig.metadata.lib.basic.impl/src/main/resources/META-INF/services/org.gvsig.tools.library.Library
1
org.gvsig.metadata.lib.basic.impl.BasicMetadataLibrary
tags/org.gvsig.desktop-2.0.205/org.gvsig.desktop.compat.cdc/org.gvsig.metadata.basic/org.gvsig.metadata.basic.lib/org.gvsig.metadata.lib.basic.impl/src/main/resources/org/gvsig/metadata/lib/basic/impl/i18n/text.properties
1
# Resource bundle texts for the Spanish language locale (es)
2
Example.returns_value=devuelve el valor
0 3

  
tags/org.gvsig.desktop-2.0.205/org.gvsig.desktop.compat.cdc/org.gvsig.metadata.basic/org.gvsig.metadata.basic.lib/org.gvsig.metadata.lib.basic.impl/src/main/resources/org/gvsig/metadata/lib/basic/impl/i18n/text_en.properties
1
# Resource bundle texts for the English language locale (en)
2
Example.returns_value=returns value
0 3

  
tags/org.gvsig.desktop-2.0.205/org.gvsig.desktop.compat.cdc/org.gvsig.metadata.basic/org.gvsig.metadata.basic.lib/org.gvsig.metadata.lib.basic.impl/src/main/resources/README.txt
1
Put into this folder the resources needed by your library classes.
2

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

  
6
By default, into this folder you can find some examples of resource bundle 
7
property files that may be used by your library classes.
0 8

  
tags/org.gvsig.desktop-2.0.205/org.gvsig.desktop.compat.cdc/org.gvsig.metadata.basic/org.gvsig.metadata.basic.lib/org.gvsig.metadata.lib.basic.impl/src/main/java/org/gvsig/metadata/lib/basic/impl/AbstractMetadataManager.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
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 3
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
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
package org.gvsig.metadata.lib.basic.impl;
25

  
26
import java.io.File;
27
import java.io.IOException;
28
import java.io.InputStream;
29
import java.util.ArrayList;
30
import java.util.HashMap;
31
import java.util.Iterator;
32
import java.util.Map;
33

  
34
import org.slf4j.Logger;
35
import org.slf4j.LoggerFactory;
36
import org.xmlpull.v1.XmlPullParserException;
37

  
38
import org.gvsig.metadata.Metadata;
39
import org.gvsig.metadata.MetadataContainer;
40
import org.gvsig.metadata.MetadataManager;
41
import org.gvsig.metadata.exceptions.AddMetadataDefinitionException;
42
import org.gvsig.metadata.exceptions.DuplicateMetadataDefinitionException;
43
import org.gvsig.metadata.exceptions.InvalidMetadataNamespaceException;
44
import org.gvsig.metadata.exceptions.MetadataException;
45
import org.gvsig.tools.ToolsLocator;
46
import org.gvsig.tools.dynobject.DynClass;
47
import org.gvsig.tools.dynobject.DynObjectManager;
48
import org.gvsig.tools.dynobject.DynStruct;
49
import org.gvsig.tools.dynobject.impl.DefaultDynClassName;
50
import org.gvsig.tools.persistence.impl.exception.CantFindDefinitionInStreamException;
51

  
52

  
53
/**
54
 * Abstract metadata manager used in both metadata basic and full modules.
55
 */
56
public abstract class AbstractMetadataManager implements MetadataManager {
57

  
58
	private final Logger LOG = LoggerFactory
59
			.getLogger(AbstractMetadataManager.class);
60

  
61
	private Map metadataItems;
62

  
63
	protected DynObjectManager dynManager;
64

  
65
	protected File metadataHomeFile = null;
66

  
67
	private boolean doSavingValidation;
68

  
69
	private boolean doExportingValidation;
70

  
71
	public AbstractMetadataManager() {
72
		dynManager = ToolsLocator.getDynObjectManager();
73
	}
74

  
75
	protected void initDefinitions() {
76
		this.metadataItems = new HashMap();
77
		Iterator definitionsIter = ToolsLocator.getDynObjectManager().iterator(
78
				MetadataManager.METADATA_NAMESPACE);
79
		DynStruct definition;
80
		while (definitionsIter.hasNext()) {
81
			definition = (DynStruct) definitionsIter.next();
82
			if (!this.getMetadataItems().containsKey(definition)) {
83
				Metadata metadata = createMetadata(definition);
84
				this.getMetadataItems().put(definition, metadata);
85
			}
86
		}
87
	}
88

  
89
	public DynStruct addDefinition(String name, String description)
90
			throws MetadataException {
91

  
92
		DynClass definition = dynManager.createDynClass(METADATA_NAMESPACE,
93
				name, description);
94

  
95
		addDefinition(definition);
96
		return definition;
97
	}
98

  
99
	public DynStruct addDefinition(String metadataDefinitionName,
100
			InputStream stream, ClassLoader loader) throws MetadataException {
101
		Map x;
102
		try {
103
			x = dynManager.importDynClassDefinitions(stream, loader,
104
					METADATA_NAMESPACE);
105
		} catch (XmlPullParserException e) {
106
			throw new AddMetadataDefinitionException(e, metadataDefinitionName);
107
		} catch (IOException e) {
108
			throw new AddMetadataDefinitionException(e, metadataDefinitionName);
109
		}
110
		DynClass definition = (DynClass) x.get(metadataDefinitionName);
111
		if (definition == null) {
112
			throw new CantFindDefinitionInStreamException(
113
					metadataDefinitionName, getKeys(x));
114
		}
115
		addDefinition(definition);
116
		return definition;
117
	}
118

  
119
	private String getKeys(Map theMap) {
120
		return new ArrayList(theMap.keySet()).toString();
121
	}
122

  
123
	public DynStruct getDefinition(Metadata metadata) throws MetadataException {
124
		return dynManager.get(METADATA_NAMESPACE, metadata.getMetadataName());
125
	}
126

  
127
	public DynStruct getDefinition(String metadataName) {
128
		if (metadataName == null)
129
			return null;
130
		if (metadataName.contains(":")) {
131
			int index = metadataName.lastIndexOf(":");
132
			return dynManager.get(metadataName.substring(0, index),
133
					metadataName.substring(index + 1, metadataName.length()));
134
		}
135
		return dynManager.get(METADATA_NAMESPACE, metadataName);
136
	}
137

  
138
	public void addDefinition(DynClass definition) throws MetadataException {
139
		if (definition == null) {
140
			return;
141
		}
142
		if ((definition.getNamespace() == null)
143
				|| (definition.getNamespace().equals(""))) {
144
			definition.setNamespace(METADATA_NAMESPACE);
145
		}
146

  
147
		if (!METADATA_NAMESPACE.equalsIgnoreCase(definition.getNamespace())) {
148
			throw new InvalidMetadataNamespaceException(definition.getName(),
149
					definition.getNamespace());
150
		}
151
		if (dynManager.get(definition.getNamespace(), definition.getName()) != null) {
152
			throw new DuplicateMetadataDefinitionException(definition.getName());
153
		}
154
		dynManager.add(definition);
155

  
156
		LOG.trace("Registered metadata definition {}.",
157
				definition.getFullName());
158

  
159
	}
160

  
161
	public void removeDefinition(DynStruct dynStruct) {
162
		if (dynStruct == null)
163
			return;
164
		this.metadataItems.remove(dynStruct);
165
		dynManager.remove(dynStruct);
166
	}
167

  
168
	public MetadataContainer createMetadataContainer(String name) {
169
		DynClass dynClass = dynManager.get(METADATA_NAMESPACE, name);
170
		if (dynClass == null) {
171
			throw new IllegalArgumentException(
172
					"Can't locate class '"
173
							+ new DefaultDynClassName(METADATA_NAMESPACE, name)
174
									.getFullName() + "'.");
175
		}
176

  
177
		return createMetadataContainer(dynClass);
178
		// return new BasicMetadataContainer(dynClass);
179
	}
180

  
181
	protected abstract MetadataContainer createMetadataContainer(
182
			DynClass dynClass);
183

  
184
	public void storeMetadata(Metadata metadata) throws MetadataException {
185
		// In SimpleMetadataManager do nothing
186
	}
187

  
188
	public void loadMetadata(Metadata metadata) throws MetadataException {
189
		// In SimpleMetadataManager do nothing
190
	}
191

  
192
	private Map getMetadataItems() {
193
		if (this.metadataItems == null) {
194
			initDefinitions();
195
		}
196
		return this.metadataItems;
197
	}
198

  
199
	public Metadata getMetadata(DynStruct definition)
200
			throws InvalidMetadataNamespaceException {
201
		if (this.getMetadataItems().containsKey(definition)) {
202
			return (Metadata) this.getMetadataItems().get(definition);
203
		}
204

  
205
		if (definition == null) {
206
			return null;
207
		}
208

  
209
		if ((definition.getNamespace() == null)
210
				|| (!definition.getNamespace().equals(METADATA_NAMESPACE))) {
211
			throw new InvalidMetadataNamespaceException(definition);
212
		}
213

  
214
		Metadata metadata = createMetadata(definition);
215

  
216
		this.getMetadataItems().put(definition, metadata);
217

  
218
		LOG.trace("Registered metadata definition {}.",
219
				definition.getFullName());
220

  
221
		return metadata;
222
	}
223

  
224
	protected abstract Metadata createMetadata(DynStruct definition);
225

  
226
	public File getMetadataHomeRepository() {
227
		if (this.metadataHomeFile == null) {
228
			String path = System.getProperty("user.home");
229
			path += File.separator + ".org.gvsig.metadata";
230
			this.metadataHomeFile = new File(path);
231
		}
232
		if (!this.metadataHomeFile.exists()) {
233
			this.metadataHomeFile.mkdirs();
234
		}
235
		return this.metadataHomeFile;
236
	}
237

  
238
	public File getRepositoryFile(String relativePath) {
239
		if ((relativePath == null) || (relativePath.equals("")))
240
			return this.metadataHomeFile;
241
		return new File(getMetadataHomeRepository().toString() + File.separator
242
				+ relativePath);
243
	}
244

  
245
	public void storeDefinitions() {
246
		Iterator it = ToolsLocator.getDynObjectManager().iterator(
247
				METADATA_NAMESPACE);
248
	}
249

  
250
	public Iterator getDefinitions() {
251
		// initDefinitions();
252
		return getMetadataItems().values().iterator();
253
	}
254

  
255
	public void setMetadataHomeRepository(File metadataHomeFile) {
256
		if (metadataHomeFile == null) {
257
			return;
258
		}
259

  
260
		this.metadataHomeFile = metadataHomeFile;
261
		if (!this.metadataHomeFile.exists())
262
			this.metadataHomeFile.mkdirs();
263
	}
264

  
265
	public Metadata getMetadata(String metadataID)
266
			throws InvalidMetadataNamespaceException {
267
		return this.getMetadata(getDefinition(metadataID));
268
	}
269

  
270
	public void setValidationBeforeSaving(boolean doValidation) {
271
		this.doSavingValidation = doValidation;
272
	}
273

  
274
	public boolean getValidationBeforeSaving() {
275
		return this.doSavingValidation;
276
	}
277

  
278
	public void setValidationBeforeExporting(boolean doValidation) {
279
		this.doExportingValidation = doValidation;
280
	}
281

  
282
	public boolean getValidationBeforeExporting() {
283
		return this.doExportingValidation;
284
	}
285
}
0 286

  
tags/org.gvsig.desktop-2.0.205/org.gvsig.desktop.compat.cdc/org.gvsig.metadata.basic/org.gvsig.metadata.basic.lib/org.gvsig.metadata.lib.basic.impl/src/main/java/org/gvsig/metadata/lib/basic/impl/CantFindDefinitionInStreamException.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
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 3
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
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
package org.gvsig.metadata.lib.basic.impl;
25

  
26
import org.gvsig.metadata.exceptions.AddMetadataDefinitionException;
27

  
28
public class CantFindDefinitionInStreamException extends AddMetadataDefinitionException {
29

  
30
	/**
31
	 * 
32
	 */
33
	private static final long serialVersionUID = 450922621905049558L;
34

  
35
	public CantFindDefinitionInStreamException(String name) {
36
		super(
37
			"Can't find metadata definition %(name) in stream.", 
38
			"_cant_find_metadata_definition_XnameX_in_stream", 
39
			serialVersionUID
40
		);
41
		setValue("name",name);
42
	}
43

  
44
	public CantFindDefinitionInStreamException(String name, String found) {
45
		super(
46
				"Can't find metadata definition %(name) in stream, found %(found).", 
47
				"_cant_find_metadata_definition_XnameX_in_stream_found_XfoundX", 
48
				serialVersionUID
49
			);
50
		setValue("name",name);
51
		setValue("found",found);
52
	}
53
}
0 54

  
tags/org.gvsig.desktop-2.0.205/org.gvsig.desktop.compat.cdc/org.gvsig.metadata.basic/org.gvsig.metadata.basic.lib/org.gvsig.metadata.lib.basic.impl/src/main/java/org/gvsig/metadata/lib/basic/impl/AbstractMetadata.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
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 3
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
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
package org.gvsig.metadata.lib.basic.impl;
25

  
26
import java.util.HashSet;
27
import java.util.Set;
28

  
29
import org.gvsig.metadata.Metadata;
30
import org.gvsig.metadata.exceptions.MetadataException;
31
import org.gvsig.tools.dynobject.DynStruct;
32
import org.gvsig.tools.dynobject.impl.DefaultDynObject;
33

  
34
/**
35
 * Abstract metadata used in both metadata basic and full modules.
36
 */
37
public abstract class AbstractMetadata extends DefaultDynObject implements
38
		Metadata, Comparable {
39

  
40
	public AbstractMetadata(DynStruct dynClass) {
41
		super(dynClass);
42
	}
43

  
44
	public Set getMetadataChildren() throws MetadataException {
45
		Set children = new HashSet();
46
		DynStruct[] items = this.getDynClass().getSuperDynStructs();
47
		if (items == null)
48
			return children;
49

  
50
		Object item;
51
		for (int i = 0; i < items.length; i++) {
52
			item = items[i];
53
			if (item instanceof Metadata) {
54
				children.add(item);
55
			}
56
		}
57
		return children;
58
	}
59

  
60
	public Object getMetadataID() throws MetadataException {
61
		return this.getDynClass().getFullName();
62
	}
63

  
64
	public String getMetadataName() throws MetadataException {
65
		return this.getDynClass().getName();
66
	}
67

  
68

  
69
	public int compareTo(Object object) {
70
		if (object == null) {
71
			return 0;
72
		}
73
		if (object instanceof Metadata) {
74
			return this
75
					.getDynClass()
76
					.getFullName()
77
					.toLowerCase()
78
					.compareTo(
79
							((Metadata) object).getDynClass().getFullName()
80
									.toLowerCase());
81
		}
82
		if (object instanceof DynStruct) {
83
			return this
84
					.getDynClass()
85
					.getFullName()
86
					.toLowerCase()
87
					.compareTo(((DynStruct) object).getFullName().toLowerCase());
88
		}
89
		return 0;
90
	}
91

  
92
	public String toString() {
93
		String name = this.getDynClass().getName();
94
		return name.substring(0, 1).toUpperCase() + name.substring(1);
95
	}
96

  
97
	public String toDynObjectString() {
98
		return super.toString();
99
	}
100
}
0 101

  
tags/org.gvsig.desktop-2.0.205/org.gvsig.desktop.compat.cdc/org.gvsig.metadata.basic/org.gvsig.metadata.basic.lib/org.gvsig.metadata.lib.basic.impl/src/main/java/org/gvsig/metadata/lib/basic/impl/BasicMetadataContainer.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
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 3
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
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
package org.gvsig.metadata.lib.basic.impl;
25

  
26
import org.gvsig.metadata.MetadataContainer;
27
import org.gvsig.tools.dynobject.DynStruct;
28
import org.gvsig.tools.dynobject.impl.DefaultDynObject;
29

  
30
public class BasicMetadataContainer extends DefaultDynObject implements MetadataContainer {
31

  
32
	public BasicMetadataContainer(DynStruct dynClass) {
33
		super(dynClass);
34
	}
35

  
36
}
0 37

  
tags/org.gvsig.desktop-2.0.205/org.gvsig.desktop.compat.cdc/org.gvsig.metadata.basic/org.gvsig.metadata.basic.lib/org.gvsig.metadata.lib.basic.impl/src/main/java/org/gvsig/metadata/lib/basic/impl/DefaultMetadata.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
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 3
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
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
package org.gvsig.metadata.lib.basic.impl;
25

  
26
import org.gvsig.metadata.Metadata;
27
import org.gvsig.tools.dynobject.DynStruct;
28

  
29
/**
30
 * Default metadata implementation of the basic implementation module.
31
 */
32
public class DefaultMetadata extends AbstractMetadata implements Metadata {
33

  
34
	public DefaultMetadata(DynStruct dynClass) {
35
		super(dynClass);
36
	}
37

  
38
}
0 39

  
tags/org.gvsig.desktop-2.0.205/org.gvsig.desktop.compat.cdc/org.gvsig.metadata.basic/org.gvsig.metadata.basic.lib/org.gvsig.metadata.lib.basic.impl/src/main/java/org/gvsig/metadata/lib/basic/impl/BasicMetadataLibrary.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
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 3
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
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
package org.gvsig.metadata.lib.basic.impl;
25

  
26
import java.util.Locale;
27

  
28
import org.gvsig.metadata.MetadataLibrary;
29
import org.gvsig.metadata.MetadataLocator;
30
import org.gvsig.metadata.MetadataManager;
31
import org.gvsig.tools.ToolsLibrary;
32
import org.gvsig.tools.ToolsLocator;
33
import org.gvsig.tools.i18n.I18nManager;
34
import org.gvsig.tools.library.AbstractLibrary;
35
import org.gvsig.tools.library.LibraryException;
36

  
37
public class BasicMetadataLibrary extends AbstractLibrary {
38

  
39
	public void doRegistration() {
40
		super.doRegistration();
41
		require(ToolsLibrary.class);
42
		registerAsImplementationOf(MetadataLibrary.class);
43
	}
44

  
45
	protected void doInitialize() throws LibraryException {
46
        MetadataLocator.registerMetadataManager(BasicMetadataManager.class);
47
        I18nManager i18nManager = ToolsLocator.getI18nManager();
48

  
49
        i18nManager.addResourceFamily("org.gvsig.metadata.basic.impl.i18n.text",
50
				BasicMetadataLibrary.class.getClassLoader(),
51
				BasicMetadataLibrary.class.getClass().getName());
52
	}
53

  
54
	protected void doPostInitialize() throws LibraryException {
55
		MetadataManager metadataManager = MetadataLocator.getMetadataManager();
56
		if (!(metadataManager instanceof MetadataManager)) {
57
			throw new LibraryException(BasicMetadataManager.class, null);
58
		}
59
	}
60
	
61
}
0 62

  
tags/org.gvsig.desktop-2.0.205/org.gvsig.desktop.compat.cdc/org.gvsig.metadata.basic/org.gvsig.metadata.basic.lib/org.gvsig.metadata.lib.basic.impl/src/main/java/org/gvsig/metadata/lib/basic/impl/BasicMetadataManager.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
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 3
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
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
package org.gvsig.metadata.lib.basic.impl;
25

  
26
import org.gvsig.metadata.Metadata;
27
import org.gvsig.metadata.MetadataContainer;
28
import org.gvsig.metadata.MetadataManager;
29
import org.gvsig.tools.dynobject.DynClass;
30
import org.gvsig.tools.dynobject.DynStruct;
31

  
32
public class BasicMetadataManager extends AbstractMetadataManager implements
33
		MetadataManager {
34

  
35

  
36
	protected Metadata createMetadata(DynStruct definition) {
37
		return new DefaultMetadata(definition);
38
	}
39

  
40
	protected MetadataContainer createMetadataContainer(DynClass dynClass) {
41
		return new BasicMetadataContainer(dynClass);
42
	}
43
}
0 44

  
tags/org.gvsig.desktop-2.0.205/org.gvsig.desktop.compat.cdc/org.gvsig.metadata.basic/org.gvsig.metadata.basic.lib/org.gvsig.metadata.lib.basic.impl/pom.xml
1
<?xml version="1.0" encoding="UTF-8"?>
2
<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">
3
	<modelVersion>4.0.0</modelVersion>
4
	<artifactId>org.gvsig.metadata.lib.basic.impl</artifactId>
5
	<packaging>jar</packaging>
6

  
7
	<name>org.gvsig.metadata.lib.basic.impl</name>
8
	<description>Metadata library basic implementation</description>
9
	<parent>
10
		<groupId>org.gvsig</groupId>
11
		<artifactId>org.gvsig.metadata.basic.lib</artifactId>
12
		<version>2.0.205</version>
13
	</parent>
14

  
15

  
16
	<dependencies>
17
		<dependency>
18
			<groupId>org.gvsig</groupId>
19
			<artifactId>org.gvsig.metadata.lib.basic.api</artifactId>
20
		</dependency>
21
	    <dependency>
22
	        <groupId>org.gvsig</groupId>
23
	        <artifactId>org.gvsig.tools.lib</artifactId>
24
	    </dependency>
25
	</dependencies>
26
</project>
0 27

  
tags/org.gvsig.desktop-2.0.205/org.gvsig.desktop.compat.cdc/org.gvsig.metadata.basic/org.gvsig.metadata.basic.lib/pom.xml
1
<?xml version="1.0" encoding="UTF-8"?>
2

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

  
5
  <modelVersion>4.0.0</modelVersion>
6
  <artifactId>org.gvsig.metadata.basic.lib</artifactId>
7
  <name>${project.artifactId}</name>
8
  <packaging>pom</packaging>    
9
  <description>This project contains the basic metadata features.</description>
10
  <parent>
11
      <groupId>org.gvsig</groupId>
12
      <artifactId>org.gvsig.metadata.basic</artifactId>
13
      <version>2.0.205</version>
14
  </parent>  
15

  
16
  <modules>
17
    <module>org.gvsig.metadata.lib.basic.api</module>
18
    <module>org.gvsig.metadata.lib.basic.impl</module>
19
  </modules>
20

  
21
</project>
0 22

  
tags/org.gvsig.desktop-2.0.205/org.gvsig.desktop.compat.cdc/org.gvsig.metadata.basic/org.gvsig.metadata.basic.lib/org.gvsig.metadata.lib.basic.api/src/main/java/org/gvsig/metadata/Metadata.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
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 3
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
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
package org.gvsig.metadata;
25

  
26
import java.util.Set;
27

  
28
import org.gvsig.metadata.exceptions.MetadataException;
29
import org.gvsig.tools.dynobject.DynObject;
30

  
31
/**
32
 * Metadata is information or data about data {@link http
33
 * ://en.wikipedia.org/wiki/Metadata}.
34
 * <p>
35
 * This interface extends DynObject to add anything needed over the DynObject
36
 * model to be able to be used as a Metadata model.
37
 * </p>
38
 * 
39
 * @author gvSIG Team
40
 * @author <a href="mailto:cordin@disid.com">C?sar Ordi?ana</a>
41
 * @author <a href="mailto:reinhold@uji.es">cmartin</a>
42
 * @version $Id$
43
 * 
44
 */
45
public interface Metadata extends DynObject {
46

  
47
	/**
48
	 * Returns the unique identifier of the Metadata.
49
	 * 
50
	 * @return the Metadata identifier
51
	 */
52
	public Object getMetadataID() throws MetadataException;
53

  
54
	/**
55
	 * Returns the name of the Metadata, which allows to identify the type in
56
	 * the Metadata registry.
57
	 * 
58
	 * @return the Metadata name
59
	 */
60
	public String getMetadataName() throws MetadataException;
61

  
62
	/**
63
	 * Returns an unsorted set of child Metadata objects.
64
	 * 
65
	 * @return an unsorted set of child Metadata objects
66
	 */
67
	public Set getMetadataChildren() throws MetadataException;
68

  
69
}
0 70

  
tags/org.gvsig.desktop-2.0.205/org.gvsig.desktop.compat.cdc/org.gvsig.metadata.basic/org.gvsig.metadata.basic.lib/org.gvsig.metadata.lib.basic.api/src/main/java/org/gvsig/metadata/exceptions/MetadataException.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
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 3
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
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
package org.gvsig.metadata.exceptions;
25

  
26
import org.gvsig.tools.exception.ListBaseException;
27

  
28
public class MetadataException extends ListBaseException {
29
	/**
30
	 * 
31
	 */
32
	private static final long serialVersionUID = -2654368520999289207L;
33
	private final static String MESSAGE_FORMAT = "Error getting or setting the state of the object.";
34
	private final static String MESSAGE_KEY = "_MetadataException";
35

  
36
	public MetadataException(Throwable cause) {
37
		this(MESSAGE_FORMAT, cause);
38
	}
39

  
40
	protected MetadataException(String messageFormat, String messageKey,
41
			long code) {
42
		super(messageFormat, messageKey, code);
43
	}
44

  
45
	protected MetadataException(String messageFormat, Throwable cause,
46
			String messageKey, long code) {
47
		super(messageFormat, cause, messageKey, code);
48
	}
49

  
50
	public MetadataException(String messageFormat, Throwable cause) {
51
		super(messageFormat, cause, MESSAGE_KEY, serialVersionUID);
52
	}
53
}
0 54

  
tags/org.gvsig.desktop-2.0.205/org.gvsig.desktop.compat.cdc/org.gvsig.metadata.basic/org.gvsig.metadata.basic.lib/org.gvsig.metadata.lib.basic.api/src/main/java/org/gvsig/metadata/exceptions/AddMetadataDefinitionException.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
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 3
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
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
package org.gvsig.metadata.exceptions;
25

  
26
public class AddMetadataDefinitionException extends MetadataException {
27

  
28
	/**
29
	 * 
30
	 */
31
	private static final long serialVersionUID = 564722264607592985L;
32

  
33
	public AddMetadataDefinitionException(Throwable cause, String name) {
34
		super("Can't add definition %(name) to metadata manager.", cause,
35
				"_Cant_add_definition_XnameX_to_metadata_manager",
36
				serialVersionUID);
37
	}
38

  
39
	protected AddMetadataDefinitionException(String message, String key,
40
			long code) {
41
		super(message, key, code);
42
	}
43

  
44
}
0 45

  
tags/org.gvsig.desktop-2.0.205/org.gvsig.desktop.compat.cdc/org.gvsig.metadata.basic/org.gvsig.metadata.basic.lib/org.gvsig.metadata.lib.basic.api/src/main/java/org/gvsig/metadata/exceptions/DuplicateMetadataDefinitionException.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
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 3
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
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
package org.gvsig.metadata.exceptions;
25

  
26
public class DuplicateMetadataDefinitionException extends
27
		AddMetadataDefinitionException {
28

  
29
	/**
30
	 * 
31
	 */
32
	private static final long serialVersionUID = 1774035106179247051L;
33
	private final static String MESSAGE_FORMAT = "Duplicated name (%(name)s) in definition of metadata.";
34
	private final static String MESSAGE_KEY = "_DuplicateMetadataDefinitionException";
35

  
36
	public DuplicateMetadataDefinitionException(String name) {
37
		super(MESSAGE_FORMAT, MESSAGE_KEY, serialVersionUID);
38
		this.setValue("name", name);
39
	}
40

  
41
}
0 42

  
tags/org.gvsig.desktop-2.0.205/org.gvsig.desktop.compat.cdc/org.gvsig.metadata.basic/org.gvsig.metadata.basic.lib/org.gvsig.metadata.lib.basic.api/src/main/java/org/gvsig/metadata/exceptions/InvalidMetadataNamespaceException.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
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 3
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
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
package org.gvsig.metadata.exceptions;
25

  
26
import org.gvsig.tools.dynobject.DynStruct;
27

  
28
public class InvalidMetadataNamespaceException extends MetadataException {
29

  
30
	/**
31
	 * 
32
	 */
33
	private static final long serialVersionUID = 7848869189284006672L;
34
	private final static String MESSAGE_FORMAT = "Invalid namespace '%(namespace)s' for class '%(names)s' in metadata context.";
35
	private final static String MESSAGE_KEY = "_InvalidMetadataNamespaceException";
36

  
37
	public InvalidMetadataNamespaceException(String definitionName,
38
			String namespace) {
39
		super(MESSAGE_FORMAT, MESSAGE_KEY, serialVersionUID);
40
		this.setValue("name", definitionName);
41
		this.setValue("namespace", namespace);
42
	}
43

  
44
	public InvalidMetadataNamespaceException(DynStruct dynStruct) {
45
		super(MESSAGE_FORMAT, MESSAGE_KEY, serialVersionUID);
46
		this.setValue("name", dynStruct.getName());
47
		this.setValue("namespace", dynStruct.getNamespace());
48
	}
49

  
50
}
0 51

  
tags/org.gvsig.desktop-2.0.205/org.gvsig.desktop.compat.cdc/org.gvsig.metadata.basic/org.gvsig.metadata.basic.lib/org.gvsig.metadata.lib.basic.api/src/main/java/org/gvsig/metadata/exceptions/MetadataRuntimeException.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
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 3
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
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
package org.gvsig.metadata.exceptions;
25

  
26
import org.gvsig.tools.exception.BaseException;
27
import org.gvsig.tools.exception.BaseRuntimeException;
28

  
29
/**
30
 * @author jjdelcerro
31
 * 
32
 */
33
public class MetadataRuntimeException extends BaseRuntimeException {
34

  
35
	/**
36
	 * 
37
	 */
38
	private static final long serialVersionUID = -1059880619868712491L;
39

  
40
	public MetadataRuntimeException(BaseException exception) {
41
		super(exception);
42
	}
43

  
44
	protected MetadataRuntimeException(String message, String key, long code) {
45
		// Don't make public this method.
46
		super(message, key, code);
47
	}
48

  
49
	protected MetadataRuntimeException(String message, Throwable cause,
50
			String key, long code) {
51
		// Don't make public this method.
52
		super(message, cause, key, code);
53
	}
54

  
55
}
0 56

  
tags/org.gvsig.desktop-2.0.205/org.gvsig.desktop.compat.cdc/org.gvsig.metadata.basic/org.gvsig.metadata.basic.lib/org.gvsig.metadata.lib.basic.api/src/main/java/org/gvsig/metadata/MetadataContainer.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
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 3
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
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
package org.gvsig.metadata;
25

  
26
import org.gvsig.tools.dynobject.DelegatedDynObject;
27

  
28
/**
29
 * This is a utility interface to implement classes that implement the interface
30
 * Metadata.
31
 * 
32
 * Use the createMetadataContainer in the MetadataManager to create a container
33
 * for delegate the implementation of Metadata methods in it.
34
 * 
35
 * @author gvSIG Team
36
 * @author jjdelcerro
37
 * 
38
 * @version $Id$
39
 * 
40
 */
41
public interface MetadataContainer extends DelegatedDynObject {
42

  
43
}
0 44

  
tags/org.gvsig.desktop-2.0.205/org.gvsig.desktop.compat.cdc/org.gvsig.metadata.basic/org.gvsig.metadata.basic.lib/org.gvsig.metadata.lib.basic.api/src/main/java/org/gvsig/metadata/MetadataLocator.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
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 3
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
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
package org.gvsig.metadata;
25

  
26
import org.gvsig.tools.locator.BaseLocator;
27
import org.gvsig.tools.locator.LocatorException;
28

  
29
/**
30
 * 
31
 * Locator that provides the Metadata manager instance.
32
 * 
33
 * @author gvSIG Team
34
 * @author <a href="mailto:reinhold@uji.es">cmartin</a>
35
 * @version $Id$
36
 * 
37
 */
38
public class MetadataLocator extends BaseLocator {
39

  
40
	public static final String METADATA_MANAGER_NAME = "org.gvsig.metadata.manager";
41

  
42
	private static final String METADATA_MANAGER_DESCRIPTION = "Implementation for MetadataManager";
43

  
44
	/**
45
	 * Unique instance.
46
	 */
47
	private static final MetadataLocator instance = new MetadataLocator();
48

  
49
	/**
50
	 * Return the singleton instance.
51
	 * 
52
	 * @return the singleton instance
53
	 */
54
	public static MetadataLocator getInstance() {
55
		return instance;
56
	}
57

  
58
	/**
59
	 * Return a reference to MetadataManager.
60
	 * 
61
	 * @return a reference to MetadataManager
62
	 * @throws org.gvsig.tools.locator.LocatorException
63
	 *             if there is no access to the class or the class cannot be
64
	 *             instantiated
65
	 * @see org.gvsig.tools.locator.Locator#get(String)
66
	 */
67
	public static MetadataManager getMetadataManager() throws LocatorException {
68
		return (MetadataManager) getInstance().get(METADATA_MANAGER_NAME);
69
	}
70

  
71
	/**
72
	 * Registers the Class implementing the MetadataManager interface.
73
	 * 
74
	 * @param clazz
75
	 *            implementing the MetadataManager interface
76
	 */
77
	public static void registerMetadataManager(Class clazz) {
78
		getInstance().register(METADATA_MANAGER_NAME,
79
				METADATA_MANAGER_DESCRIPTION, clazz);
80
	}
81

  
82
}
0 83

  
tags/org.gvsig.desktop-2.0.205/org.gvsig.desktop.compat.cdc/org.gvsig.metadata.basic/org.gvsig.metadata.basic.lib/org.gvsig.metadata.lib.basic.api/src/main/java/org/gvsig/metadata/MetadataLibrary.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
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 3
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
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
package org.gvsig.metadata;
25

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

Also available in: Unified diff