Skip to content

Commit 5a452bf

Browse files
committed
GEOS-5938: CSW admin page
1 parent 404bf5d commit 5a452bf

File tree

19 files changed

+276
-31
lines changed

19 files changed

+276
-31
lines changed

data/minimal/csw.xml

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<csw>
2+
<id>csw</id>
3+
<enabled>true</enabled>
4+
<name>My GeoServer CSW</name>
5+
<title>My GeoServer CSW</title>
6+
<maintainer>http://jira.codehaus.org/secure/BrowseProject.jspa?id=10311</maintainer>
7+
<abstrct>
8+
This is a description of your Catalog Services For The Web.
9+
</abstrct>
10+
<accessConstraints>NONE</accessConstraints>
11+
<fees>NONE</fees>
12+
<versions>
13+
<org.geotools.util.Version>
14+
<version>2.0.2</version>
15+
</org.geotools.util.Version>
16+
</versions>
17+
<keywords>
18+
<string>CSW</string>
19+
<string>Catalog Services For The Web</string>
20+
<string>GEOSERVER</string>
21+
</keywords>
22+
<citeCompliant>false</citeCompliant>
23+
<onlineResource>http://geoserver.org</onlineResource>
24+
<schemaBaseURL>http://schemas.opengis.net</schemaBaseURL>
25+
<verbose>false</verbose>
26+
</csw>

data/release/csw.xml

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<csw>
2+
<id>csw</id>
3+
<enabled>true</enabled>
4+
<name>My GeoServer CSW</name>
5+
<title>My GeoServer CSW</title>
6+
<maintainer>http://jira.codehaus.org/secure/BrowseProject.jspa?id=10311</maintainer>
7+
<abstrct>
8+
This is a description of your Catalog Services For The Web.
9+
</abstrct>
10+
<accessConstraints>NONE</accessConstraints>
11+
<fees>NONE</fees>
12+
<versions>
13+
<org.geotools.util.Version>
14+
<version>2.0.2</version>
15+
</org.geotools.util.Version>
16+
</versions>
17+
<keywords>
18+
<string>CSW</string>
19+
<string>Catalog Services For The Web</string>
20+
<string>GEOSERVER</string>
21+
</keywords>
22+
<citeCompliant>false</citeCompliant>
23+
<onlineResource>http://geoserver.org</onlineResource>
24+
<schemaBaseURL>http://schemas.opengis.net</schemaBaseURL>
25+
<verbose>false</verbose>
26+
<canonicalSchemaLocation>false</canonicalSchemaLocation>
27+
</csw>

data/release/security/config.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<configPasswordEncrypterName>pbePasswordEncoder</configPasswordEncrypterName>
77
<encryptingUrlParams>false</encryptingUrlParams>
88
<filterChain>
9-
<filters name="web" class="org.geoserver.security.HtmlLoginFilterChain" interceptorName="interceptor" exceptionTranslationName="exception" path="/web/**,/gwc/rest/web/**" disabled="false" allowSessionCreation="true" ssl="false" matchHTTPMethod="false">
9+
<filters name="web" class="org.geoserver.security.HtmlLoginFilterChain" interceptorName="interceptor" exceptionTranslationName="exception" path="/web/**,/gwc/rest/web/**,/" disabled="false" allowSessionCreation="true" ssl="false" matchHTTPMethod="false">
1010
<filter>rememberme</filter>
1111
<filter>form</filter>
1212
<filter>anonymous</filter>

data/release/wcs.xml

+4
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@
1515
<org.geotools.util.Version>
1616
<version>1.1.1</version>
1717
</org.geotools.util.Version>
18+
<org.geotools.util.Version>
19+
<version>2.0.1</version>
20+
</org.geotools.util.Version>
1821
</versions>
1922
<keywords>
2023
<string>WCS</string>
@@ -31,6 +34,7 @@
3134
<schemaBaseURL>http://schemas.opengis.net</schemaBaseURL>
3235
<verbose>false</verbose>
3336
<gmlPrefixing>false</gmlPrefixing>
37+
<latLon>false</latLon>
3438
<maxInputMemory>0</maxInputMemory>
3539
<maxOutputMemory>0</maxOutputMemory>
3640
</wcs>

data/release/wfs.xml

+19-8
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@
1414
<org.geotools.util.Version>
1515
<version>1.1.0</version>
1616
</org.geotools.util.Version>
17+
<org.geotools.util.Version>
18+
<version>2.0.0</version>
19+
</org.geotools.util.Version>
1720
</versions>
1821
<keywords>
1922
<string>WFS</string>
@@ -27,23 +30,31 @@
2730
<verbose>false</verbose>
2831
<gml>
2932
<entry>
30-
<org.geoserver.wfs.WFSInfo_-Version>V_10</org.geoserver.wfs.WFSInfo_-Version>
31-
<org.geoserver.wfs.GMLInfoImpl>
32-
<srsNameStyle>XML</srsNameStyle>
33-
<overrideGMLAttributes>true</overrideGMLAttributes>
34-
</org.geoserver.wfs.GMLInfoImpl>
33+
<version>V_20</version>
34+
<gml>
35+
<srsNameStyle>URN2</srsNameStyle>
36+
<overrideGMLAttributes>false</overrideGMLAttributes>
37+
</gml>
3538
</entry>
3639
<entry>
37-
<org.geoserver.wfs.WFSInfo_-Version>V_11</org.geoserver.wfs.WFSInfo_-Version>
38-
<org.geoserver.wfs.GMLInfoImpl>
40+
<version>V_11</version>
41+
<gml>
3942
<srsNameStyle>URN</srsNameStyle>
4043
<overrideGMLAttributes>false</overrideGMLAttributes>
41-
</org.geoserver.wfs.GMLInfoImpl>
44+
</gml>
45+
</entry>
46+
<entry>
47+
<version>V_10</version>
48+
<gml>
49+
<srsNameStyle>XML</srsNameStyle>
50+
<overrideGMLAttributes>true</overrideGMLAttributes>
51+
</gml>
4252
</entry>
4353
</gml>
4454
<serviceLevel>COMPLETE</serviceLevel>
4555
<maxFeatures>1000000</maxFeatures>
4656
<featureBounding>false</featureBounding>
4757
<canonicalSchemaLocation>false</canonicalSchemaLocation>
4858
<encodeFeatureMember>false</encodeFeatureMember>
59+
<hitsIgnoreMaxFeatures>false</hitsIgnoreMaxFeatures>
4960
</wfs>

src/extension/csw/core/src/main/java/applicationContext.xml

+2
Original file line numberDiff line numberDiff line change
@@ -206,4 +206,6 @@
206206
<constructor-arg ref="geoServer"/>
207207
</bean>
208208

209+
<!-- factory extension -->
210+
<bean id="cswFactoryExtension" class="org.geoserver.csw.CSWFactoryExtension"/>
209211
</beans>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
/* Copyright (c) 2001 - 2013 OpenPlans - www.openplans.org. All rights reserved.
2+
* This code is licensed under the GPL 2.0 license, available at the root
3+
* application directory.
4+
*/
5+
package org.geoserver.csw;
6+
7+
import org.geoserver.config.ServiceFactoryExtension;
8+
9+
10+
public class CSWFactoryExtension extends ServiceFactoryExtension<CSWInfo> {
11+
12+
public CSWFactoryExtension() {
13+
super(CSWInfo.class);
14+
}
15+
16+
@Override
17+
public <T> T create(Class<T> clazz) {
18+
return (T) new CSWInfoImpl();
19+
}
20+
21+
}

src/extension/csw/core/src/main/java/org/geoserver/csw/CSWInfoImpl.java

+4
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,10 @@ public class CSWInfoImpl extends ServiceInfoImpl implements CSWInfo {
2121
private static final long serialVersionUID = -986573241436434750L;
2222

2323
boolean canonicalSchemaLocation;
24+
25+
public CSWInfoImpl(){
26+
27+
}
2428

2529
@Override
2630
public boolean isCanonicalSchemaLocation() {

src/extension/csw/core/src/main/java/org/geoserver/csw/CSWXStreamLoader.java

+1
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ public Class<CSWInfo> getServiceClass() {
3737

3838
protected CSWInfo createServiceFromScratch(GeoServer gs) {
3939
CSWInfoImpl csw = new CSWInfoImpl();
40+
csw.setName("CSW");
4041
csw.setId(getServiceId());
4142
csw.setGeoServer(gs);
4243
return csw;

src/extension/csw/pom.xml

+2-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@
3131
<modules>
3232
<module>api</module>
3333
<module>core</module>
34-
<module>simple-store</module>
34+
<module>simple-store</module>
35+
<module>web-csw</module>
3536
</modules>
3637

3738
</project>

src/extension/csw/web-csw/pom.xml

+61
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
<?xml version="1.0" encoding="ISO-8859-1"?>
2+
<!--
3+
Copyright (c) 2001 - 2013 OpenPlans - www.openplans.org. All rights reserved.
4+
This code is licensed under the GPL 2.0 license, available at the root
5+
application directory.
6+
-->
7+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
9+
10+
<modelVersion>4.0.0</modelVersion>
11+
12+
<parent>
13+
<groupId>org.geoserver</groupId>
14+
<artifactId>extension</artifactId>
15+
<version>2.5-SNAPSHOT</version>
16+
</parent>
17+
18+
<groupId>org.geoserver.csw</groupId>
19+
<artifactId>web-csw</artifactId>
20+
<packaging>jar</packaging>
21+
<version>2.5-SNAPSHOT</version>
22+
<name>CSW UI Module</name>
23+
24+
<dependencies>
25+
<dependency>
26+
<groupId>org.geoserver.csw</groupId>
27+
<artifactId>csw-api</artifactId>
28+
<version>${project.version}</version>
29+
</dependency>
30+
<dependency>
31+
<groupId>org.geoserver.csw</groupId>
32+
<artifactId>csw-core</artifactId>
33+
<version>${project.version}</version>
34+
</dependency>
35+
<dependency>
36+
<groupId>org.geoserver.web</groupId>
37+
<artifactId>web-core</artifactId>
38+
<version>${project.version}</version>
39+
</dependency>
40+
<dependency>
41+
<groupId>org.geoserver.web</groupId>
42+
<artifactId>web-core</artifactId>
43+
<version>${project.version}</version>
44+
<classifier>tests</classifier>
45+
<scope>test</scope>
46+
</dependency>
47+
<dependency>
48+
<groupId>org.geoserver</groupId>
49+
<artifactId>main</artifactId>
50+
<version>${project.version}</version>
51+
<classifier>tests</classifier>
52+
<scope>test</scope>
53+
</dependency>
54+
<dependency>
55+
<groupId>com.mockrunner</groupId>
56+
<artifactId>mockrunner</artifactId>
57+
<scope>test</scope>
58+
</dependency>
59+
</dependencies>
60+
61+
</project>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
Copyright (c) 2001 - 2013 OpenPlans - www.openplans.org. All rights reserved.
4+
This code is licensed under the GPL 2.0 license, available at the root
5+
application directory.
6+
-->
7+
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
8+
9+
<beans>
10+
<bean id="cswServicePage" class="org.geoserver.web.services.ServiceMenuPageInfo">
11+
<property name="id" value="csw"/>
12+
<property name="titleKey" value="csw.title"/>
13+
<property name="descriptionKey" value="csw.description"/>
14+
<property name="componentClass" value="org.geoserver.csw.web.CSWAdminPage"/>
15+
<property name="icon" value="server_csw.png"/>
16+
<property name="category" ref="servicesCategory"/>
17+
<property name="serviceClass" value="org.geoserver.csw.CSWInfo"/>
18+
</bean>
19+
20+
21+
</beans>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<html xmlns:wicket="http://wicket.apache.org/">
2+
<body>
3+
<wicket:extend>
4+
5+
</wicket:extend>
6+
</body>
7+
</html>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
/* Copyright (c) 2001 - 2013 OpenPlans - www.openplans.org. All rights reserved.
2+
* This code is licensed under the GPL 2.0 license, available at the root
3+
* application directory.
4+
*/
5+
package org.geoserver.csw.web;
6+
7+
import org.apache.wicket.PageParameters;
8+
import org.apache.wicket.markup.html.form.Form;
9+
import org.apache.wicket.model.IModel;
10+
import org.geoserver.csw.CSWInfo;
11+
import org.geoserver.web.services.BaseServiceAdminPage;
12+
13+
public class CSWAdminPage extends BaseServiceAdminPage<CSWInfo> {
14+
15+
16+
public CSWAdminPage() {
17+
super();
18+
}
19+
20+
public CSWAdminPage(PageParameters pageParams) {
21+
super(pageParams);
22+
}
23+
24+
public CSWAdminPage(CSWInfo service) {
25+
super(service);
26+
}
27+
28+
protected Class<CSWInfo> getServiceClass() {
29+
return CSWInfo.class;
30+
}
31+
32+
@SuppressWarnings({ "rawtypes", "unchecked" })
33+
protected void build(final IModel info, Form form) {
34+
35+
36+
}
37+
38+
protected String getServiceName(){
39+
return "CSW";
40+
}
41+
}
Loading
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
csw.description=Catalog Services for the Web
2+
csw.title=CSW
3+
4+
CSWAdminPage.description=Manage Catalog Services
5+
CSWAdminPage.title=Catalog Services for the Web
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
/* Copyright (c) 2001 - 2013 OpenPlans - www.openplans.org. All rights reserved.
2+
* This code is licensed under the GPL 2.0 license, available at the root
3+
* application directory.
4+
*/
5+
package org.geoserver.wfs.web;
6+
7+
import org.geoserver.csw.CSWInfo;
8+
import org.geoserver.csw.web.CSWAdminPage;
9+
import org.geoserver.web.GeoServerWicketTestSupport;
10+
import org.geoserver.web.wicket.KeywordsEditor;
11+
import org.junit.Test;
12+
13+
public class CSWAdminPageTest extends GeoServerWicketTestSupport {
14+
@Test
15+
public void testValues() throws Exception {
16+
CSWInfo csw = getGeoServerApplication().getGeoServer().getService(CSWInfo.class);
17+
18+
login();
19+
tester.startPage(CSWAdminPage.class);
20+
21+
tester.assertRenderedPage(CSWAdminPage.class);
22+
23+
// test that components have been filled as expected
24+
tester.assertComponent("form:keywords", KeywordsEditor.class);
25+
tester.assertModelValue("form:keywords", csw.getKeywords());
26+
}
27+
}

src/release/ext-csw.xml

+2-21
Original file line numberDiff line numberDiff line change
@@ -9,27 +9,8 @@
99
<directory>release/target/dependency</directory>
1010
<outputDirectory></outputDirectory>
1111
<includes>
12-
<include>csw-*.jar</include>
13-
<include>gt-app-schema-resolver-*.jar</include>
14-
<include>gt-complex-*.jar</include>
15-
<include>gt-xsd-csw-*.jar</include>
16-
<include>net.opengis.csw-*.jar</include>
17-
<include>iso-19139-2007-1.0.0-1.jar</include>
18-
<include>ows-1.0-1.0.0-2.jar</include>
19-
<include>xlink-1.0-1.0.0-3.jar</include>
20-
<include>filter-1.1-1.1.1-2.jar</include>
21-
<include>gml-3.1-3.1.1-4.jar</include>
22-
<include>gml-3.2-3.2.1-1.jar</include>
23-
</includes>
24-
<excludes>
25-
<exclude>*-tests.jar</exclude>
26-
</excludes>
27-
</fileSet>
28-
<fileSet>
29-
<directory>release/target/dependency</directory>
30-
<outputDirectory></outputDirectory>
31-
<includes>
32-
<include>csw-*.jar</include>
12+
<include>csw-*.jar</include>
13+
<include>web-csw-*.jar</include>
3314
<include>gt-app-schema-resolver-*.jar</include>
3415
<include>gt-complex-*.jar</include>
3516
<include>gt-xsd-csw-*.jar</include>

0 commit comments

Comments
 (0)