Skip to content

Commit

Permalink
update bagit serialization for the new spring and IT configurations
Browse files Browse the repository at this point in the history
  • Loading branch information
cbeer committed Jun 13, 2013
1 parent 353a78d commit ac6b189
Show file tree
Hide file tree
Showing 6 changed files with 85 additions and 33 deletions.
16 changes: 13 additions & 3 deletions pom.xml
Expand Up @@ -49,13 +49,23 @@
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.sun.grizzly</groupId>
<artifactId>grizzly-servlet-webserver</artifactId>
<groupId>org.glassfish.grizzly</groupId>
<artifactId>grizzly-http-server</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.glassfish.grizzly</groupId>
<artifactId>grizzly-http-servlet</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-grizzly2</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-grizzly</artifactId>
<artifactId>jersey-grizzly2-servlet</artifactId>
<scope>test</scope>
</dependency>
<dependency>
Expand Down
Expand Up @@ -33,6 +33,7 @@
import java.util.List;
import java.util.Set;

import javax.annotation.Resource;
import javax.jcr.Node;
import javax.jcr.Property;
import javax.jcr.RepositoryException;
Expand All @@ -48,15 +49,23 @@
import com.google.common.base.Function;
import com.google.common.base.Predicate;
import com.google.common.collect.Lists;
import org.springframework.stereotype.Component;

@Component
public class BagItSerializer extends BaseFedoraObjectSerializer {

@Resource( name="bagitPrefixes" )
private Set<String> prefixes;

private BagFactory bagFactory = new BagFactory();

private Logger logger = getLogger(this.getClass());

@Override
public String getKey() {
return "bagit";
}

@Override
public void serialize(final FedoraObject obj, final OutputStream out)
throws RepositoryException, IOException {
Expand Down
6 changes: 1 addition & 5 deletions src/test/resources/spring-test/repo.xml
Expand Up @@ -16,9 +16,5 @@
</bean>

<bean class="org.modeshape.jcr.JcrRepositoryFactory"/>
<bean class="org.fcrepo.services.ObjectService"/>
<bean class="org.fcrepo.services.NodeService"/>
<bean class="org.fcrepo.services.LowLevelStorageService"/>
<bean class="org.fcrepo.services.DatastreamService"/>


</beans>
21 changes: 5 additions & 16 deletions src/test/resources/spring-test/rest.xml
Expand Up @@ -9,25 +9,14 @@
<context:property-placeholder />
<context:annotation-config />

<util:map id="serializers" key-type="java.lang.String"
value-type="org.fcrepo.serialization.FedoraObjectSerializer">
<description>Map from formats to serializers for Fedora objects
</description>
<entry key="bagit">
<bean class="org.fcrepo.serialization.bagit.BagItSerializer">
<property name="prefixes">
<set value-type="java.lang.String">
<value>fedora</value>
<value>dc</value>
</set>
</property>
</bean>
</entry>
</util:map>
<util:set id="bagitPrefixes" value-type="java.lang.String">
<value>fedora</value>
<value>dc</value>
</util:set>


<context:component-scan
base-package="org.modeshape.web.jcr.rest, org.fcrepo.api, org.fcrepo.serialization, org.fcrepo.responses, org.fcrepo.exceptionhandlers" />
base-package="org.modeshape.web.jcr.rest, org.fcrepo.api, org.fcrepo.serialization, org.fcrepo.serialization.bagit, org.fcrepo.responses, org.fcrepo.exceptionhandlers" />

<!-- Mints PIDs -->
<bean class="org.fcrepo.identifiers.UUIDPidMinter" />
Expand Down
11 changes: 2 additions & 9 deletions src/test/resources/spring-test/test-container.xml
Expand Up @@ -7,16 +7,9 @@

<context:property-placeholder/>
<context:annotation-config/>

<!-- show stack traces for easier debugging -->
<bean id="wildcardExceptionmapper" class="org.fcrepo.exceptionhandlers.WildcardExceptionMapper" >
<property name="showStackTrace" value="true" />
</bean>


<bean id="containerWrapper" class="org.fcrepo.test.util.ContainerWrapper" init-method="start" destroy-method="stop" >
<property name="port" value="${test.port:8080}"/>
<property name="contextConfigLocations" value="classpath:spring-test/repo.xml, classpath:spring-test/rest.xml" />
<property name="packagesToScan" value="org.fcrepo.api, org.fcrepo.serialization"/>
<property name="configLocation" value="classpath:web.xml" />
</bean>

</beans>
55 changes: 55 additions & 0 deletions src/test/resources/web.xml
@@ -0,0 +1,55 @@
<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0" metadata-complete="false">

<display-name>Fedora-on-ModeShape</display-name>

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-test/rest.xml,classpath:spring-test/repo.xml,</param-value>
</context-param>


<!-- engaging the ModeShape REST API -->

<context-param>
<param-name>org.modeshape.jcr.RepositoryName</param-name>
<param-value>repo</param-value>
</context-param>
<context-param>
<param-name>org.modeshape.jcr.URL</param-name>
<param-value>/test_repository.json</param-value>
</context-param>

<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<!-- Required parameter for ModeShape REST - should not be modified -->
<listener>
<listener-class>org.modeshape.web.jcr.ModeShapeJcrDeployer</listener-class>
</listener>

<servlet>
<servlet-name>jersey-servlet</servlet-name>
<servlet-class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>org.fcrepo.api, org.fcrepo.responses, org.fcrepo.exceptionhandlers, org.fcrepo.session</param-value>
</init-param>
<init-param>
<param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>jersey-servlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>

</web-app>

0 comments on commit ac6b189

Please sign in to comment.