Skip to content

Commit

Permalink
Changed to use Jersey instead of CXF
Browse files Browse the repository at this point in the history
  • Loading branch information
ajs6f committed Apr 23, 2013
1 parent 48a483f commit dff8424
Show file tree
Hide file tree
Showing 5 changed files with 57 additions and 164 deletions.
11 changes: 11 additions & 0 deletions pom.xml
Expand Up @@ -34,6 +34,17 @@
<artifactId>fcrepo-webhooks</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>com.sun.jersey.contribs</groupId>
<artifactId>jersey-spring</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- these following modules are unstable as we transition to Jersey -->
<!--
<dependency>
Expand Down
13 changes: 2 additions & 11 deletions src/main/resources/config/repository.json
Expand Up @@ -18,17 +18,8 @@
"lockingStrategy" : "native",
"fileSystemAccessType" : "auto"
}
},
"sequencing" : {
"removeDerivedContentWithOriginal" : true,
"sequencers" : {
"ArchiveSequencer" : {
"classname" : "org.fcrepo.sequencer.archive.ArchiveSequencer",
"pathExpressions":["fedora://(*.zip)/jcr:content[@jcr:data] => ." ],
"endpoint" : "http://localhost:8000"
}
}
},
},

"storage" : {
"cacheName" : "FedoraRepository",
"cacheConfiguration" : "${fcrepo.infinispan.cache_configuration:config/infinispan_configuration.xml}",
Expand Down
18 changes: 18 additions & 0 deletions src/main/resources/logback.xml
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%p %d{HH:mm:ss.SSS} \(%c{0}\) %m%n</pattern>
</encoder>
</appender>
<logger name="org.fcrepo" additivity="false" level="DEBUG">
<appender-ref ref="STDOUT"/>
</logger>
<logger name="org.modeshape" additivity="false" level="INFO">
<appender-ref ref="STDOUT"/>
</logger>
<root additivity="false" level="INFO">
<appender-ref ref="STDOUT"/>
</root>
</configuration>
146 changes: 3 additions & 143 deletions src/main/resources/spring/rest.xml
Expand Up @@ -2,15 +2,9 @@
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:jaxrs="http://cxf.apache.org/jaxrs"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">

<import resource="classpath:META-INF/cxf/cxf.xml"/>
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">

<!-- Context that houses JAX-RS Resources that compose the API
as well as som utility gear. -->
Expand All @@ -21,141 +15,7 @@
<bean class="org.fcrepo.identifiers.UUIDPidMinter"/>
<bean class="org.fcrepo.session.SessionFactory"/>

<jaxrs:server address="/v3">
<jaxrs:serviceBeans>
<bean class="org.fcrepo.api.legacy.FedoraRepository"/>
<bean class="org.fcrepo.api.legacy.FedoraDatastreams"/>
<bean class="org.fcrepo.api.legacy.FedoraIdentifiers"/>
<bean class="org.fcrepo.api.legacy.FedoraNamespaces"/>
<bean class="org.fcrepo.api.legacy.FedoraObjects"/>
<bean class="org.fcrepo.generator.DublinCoreGenerator"/>
</jaxrs:serviceBeans>
<jaxrs:extensionMappings>
<entry key="json" value="application/json"/>
<entry key="xml" value="application/xml"/>
</jaxrs:extensionMappings>
<jaxrs:providers>
<ref bean="pathNotFoundExceptionMapper"/>
<ref bean="accessControlExceptionMapper"/>
<ref bean="wildcardExceptionMapper"/>
<ref bean="jaxbElementProvider"/>
<ref bean="jsonProvider"/>
</jaxrs:providers>
</jaxrs:server>

<jaxrs:server address="/rest">
<jaxrs:serviceBeans>
<bean class="org.fcrepo.api.FedoraRepository"/>
<bean class="org.fcrepo.api.FedoraDatastreams"/>
<bean class="org.fcrepo.api.FedoraIdentifiers"/>
<bean class="org.fcrepo.api.FedoraNamespaces"/>
<bean class="org.fcrepo.api.FedoraObjects"/>
<bean class="org.fcrepo.api.FedoraFieldSearch"/>
<bean class="org.fcrepo.api.FedoraSitemap"/>
<bean class="org.fcrepo.syndication.RSSPublisher"/>
<bean class="org.fcrepo.generator.DublinCoreGenerator"/>
<bean class="org.fcrepo.generator.ObjectRdfGenerator">
<property name="objectGenerators">
<list>
<bean class="org.fcrepo.generator.rdf.DefaultFedoraObjectGenerator"/>
</list>
</property>
</bean>
<bean class="org.fcrepo.generator.DatastreamRdfGenerator">
<property name="dsGenerators">
<list>
<bean class="org.fcrepo.generator.rdf.DefaultDatastreamGenerator"/>
</list>
</property>
</bean>
<bean class="org.fcrepo.syndication.RSSPublisher"/>
<bean class="org.fcrepo.webhooks.FedoraWebhooks"/>
<!--<bean class="org.fcrepo.serialization.FedoraObjectsSerialized">
<property name="serializers">
<map 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>
<description>The prefixes of JCR properties that will be
used for serialization into bag-info.txt</description>
<value type="java.lang.String">fedora</value>
<value type="java.lang.String">dc</value>
</set>
</property>
</bean>
</entry>
<entry key="jcrxml">
<bean class="org.fcrepo.serialization.jcrxml.JcrXmlSerializer"/>
</entry>
</map>
</property>
</bean>-->
</jaxrs:serviceBeans>
<jaxrs:extensionMappings>
<entry key="json" value="application/json"/>
<entry key="xml" value="application/xml"/>
</jaxrs:extensionMappings>
<jaxrs:providers>
<ref bean="pathNotFoundExceptionMapper"/>
<ref bean="accessControlExceptionMapper"/>
<ref bean="wildcardExceptionMapper"/>
<ref bean="jaxbElementProvider"/>
<ref bean="jsonProvider"/>
<bean class="org.apache.cxf.jaxrs.provider.XSLTJaxbProvider">
<property name="outMediaTemplates">
<map>
<entry key="text/html" value="classpath:/views/object.xslt"/>
</map>
</property>
<!--
<property name="resolver">
<bean class="org.apache.xml.resolver.helpers.BootstrapResolver"/>
</property>
-->
</bean>
</jaxrs:providers>
</jaxrs:server>

<jaxrs:server address="/rest/modeshape">
<jaxrs:serviceBeans>
<bean class="org.modeshape.web.jcr.rest.ModeShapeRestService"/>
</jaxrs:serviceBeans>
<jaxrs:providers>
<bean class="org.modeshape.web.jcr.rest.output.HtmlBodyWriter"/>
<bean class="org.modeshape.web.jcr.rest.output.JSONBodyWriter"/>
<bean class="org.modeshape.web.jcr.rest.output.TextBodyWriter"/>
</jaxrs:providers>
</jaxrs:server>

<jaxrs:server address="/util/corrupt">
<jaxrs:serviceBeans>
<bean class="org.fcrepo.fixity.resources.FixityCorrupter"/>
</jaxrs:serviceBeans>
</jaxrs:server>

<bean name="pathNotFoundExceptionMapper"
class="org.fcrepo.exceptionhandlers.PathNotFoundExceptionMapper"/>
<bean name="accessControlExceptionMapper"
class="org.fcrepo.exceptionhandlers.AccessControlExceptionMapper"/>
<bean name="wildcardExceptionMapper"
class="org.fcrepo.exceptionhandlers.WildcardExceptionMapper">
<property name="showStackTrace" value="true"/>
</bean>
<bean name="jaxbElementProvider" class="org.apache.cxf.jaxrs.provider.JAXBElementProvider">
<property name="marshallerProperties">
<util:map>
<entry key="jaxb.formatted.output">
<value type="java.lang.Boolean">true</value>
</entry>
</util:map>
</property>
</bean>
<bean name="jsonProvider" class="org.apache.cxf.jaxrs.provider.json.JSONProvider">
<property name="ignoreNamespaces" value="true"/>
</bean>
<context:component-scan
base-package="org.modeshape.web.jcr.rest, org.fcrepo.api, org.fcrepo.api.legacy, org.fcrepo.exceptionhandlers, org.fcrepo.generator, org.fcrepo.exceptionhandlers"/>

</beans>
33 changes: 23 additions & 10 deletions src/main/webapp/WEB-INF/web.xml
Expand Up @@ -20,17 +20,19 @@
</listener>

<servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>
org.apache.cxf.transport.servlet.CXFServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</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</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

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

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

Expand Down Expand Up @@ -155,5 +157,16 @@
<session-config>
<session-timeout>60</session-timeout>
</session-config>


<!-- BASIC security parameters -->
<!--
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>fcrepo</realm-name>
</login-config>
<security-role>
<role-name>admin</role-name>
</security-role>
-->
</web-app>

0 comments on commit dff8424

Please sign in to comment.