Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Merge pull request #22 from futures/Springification
Springification
  • Loading branch information
cbeer committed Jan 28, 2013
2 parents 46abf14 + 25b23c9 commit bf776e3
Show file tree
Hide file tree
Showing 27 changed files with 347 additions and 422 deletions.
106 changes: 60 additions & 46 deletions pom.xml
Expand Up @@ -14,24 +14,11 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<netbeans.hint.deploy.server>gfv3ee6</netbeans.hint.deploy.server>
<netbeans.hint.j2eeVersion>1.6</netbeans.hint.j2eeVersion>
<modeshape.version>3.1.0.Final</modeshape.version>
<cxf.version>2.7.2</cxf.version>
</properties>

<repositories>
<repository>
<id>jboss-public-repository-group</id>
<name>JBoss Public Maven Repository Group</name>
<url> http://repository.jboss.org/nexus/content/groups/public/ </url>
<layout>default</layout>
<releases>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</snapshots>
</repository>
</repositories>

<dependencyManagement>
<dependencies>
<!-- Import the ModeShape BOM for embedded usage. This adds to the "dependenciesManagement"
Expand All @@ -41,7 +28,7 @@
<dependency>
<groupId>org.modeshape.bom</groupId>
<artifactId>modeshape-bom-embedded</artifactId>
<version>3.1.0.Final</version>
<version>${modeshape.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
Expand All @@ -55,35 +42,6 @@
<version>2.3.5.Final</version>
<scope>test</scope>
</dependency>

<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
</dependency>

<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
<version>3.0-beta-1</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
</exclusion>
</exclusions>
</dependency>


<dependency>
<groupId>org.modeshape</groupId>
<artifactId>modeshape-jcr</artifactId>
Expand All @@ -92,6 +50,11 @@
<groupId>org.modeshape</groupId>
<artifactId>modeshape-jcr-api</artifactId>
</dependency>
<dependency>
<groupId>org.modeshape</groupId>
<artifactId>modeshape-web-jcr-rest</artifactId>
<version>${modeshape.version}</version>
</dependency>

<dependency>
<groupId>org.jboss.jbossts</groupId>
Expand Down Expand Up @@ -121,6 +84,41 @@
<artifactId>scala-library</artifactId>
<version>2.10.0</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxrs</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>3.2.0.RELEASE</version>
</dependency>
<!-- test gear -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>3.2.0.RELEASE</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http-jetty</artifactId>
<version>${cxf.version}</version>
<scope>test</scope>
</dependency>


</dependencies>

<build>
Expand Down Expand Up @@ -227,4 +225,20 @@
</plugins>
</build>

<repositories>
<repository>
<id>jboss-public-repository-group</id>
<name>JBoss Public Maven Repository Group</name>
<url> http://repository.jboss.org/nexus/content/groups/public/ </url>
<layout>default</layout>
<releases>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>

</project>
148 changes: 0 additions & 148 deletions src/main/java/org/fcrepo/ffmodeshapeprototype/Bootstrap.java

This file was deleted.

@@ -1,4 +1,4 @@
package org.fcrepo.ffmodeshapeprototype;
package org.fcrepo.modeshape;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
Expand All @@ -7,51 +7,56 @@
import java.io.OutputStreamWriter;
import java.util.Map;

import javax.jcr.Node;
import javax.annotation.PostConstruct;
import javax.inject.Inject;
import javax.jcr.LoginException;
import javax.jcr.NoSuchWorkspaceException;
import javax.jcr.RepositoryException;
import javax.jcr.Session;
import javax.jcr.Workspace;
import javax.ws.rs.core.Response;

import org.codehaus.jackson.map.ObjectMapper;
import org.fcrepo.ffmodeshapeprototype.identifiers.PidMinter;
import org.fcrepo.ffmodeshapeprototype.identifiers.UUIDPidMinter;
import org.modeshape.jcr.ConfigurationException;
import org.fcrepo.modeshape.identifiers.PidMinter;
import org.modeshape.jcr.api.JcrTools;
import org.modeshape.jcr.api.Repository;

import freemarker.ext.beans.BeansWrapper;
import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException;

public abstract class AbstractResource {
public abstract class AbstractResource extends Constants {

static final ObjectMapper mapper = new ObjectMapper();
@Inject
protected ObjectMapper mapper;
@Inject
protected Repository repo;
@Inject
protected PidMinter pidMinter;

protected static final Response four01 = Response.status(404).entity("401")
.build();
protected static final Response four04 = Response.status(404).entity("404")
.build();
static protected Workspace ws;

static protected Configuration freemarker = null;
static protected Workspace ws = null;
protected static PidMinter pidMinter = new UUIDPidMinter();
final static protected Configuration freemarker = new Configuration();
final static protected JcrTools jcrTools = new JcrTools(true);

public AbstractResource() throws ConfigurationException,
RepositoryException, IOException {
if (ws == null) {
ws = Bootstrap.getWorkspace();
}
if (freemarker == null) {
freemarker = Bootstrap.getFreemarker();
}
@PostConstruct
public void initialize() throws LoginException, NoSuchWorkspaceException,
RepositoryException {

ws = repo.login("fedora").getWorkspace();

freemarker.setObjectWrapper(new BeansWrapper());
// Specify the data source where the template files come from.
freemarker.setClassForTemplateLoading(this.getClass(), "/freemarker");
}

protected Response deleteResource(final String path)
throws RepositoryException {
final Session session = ws.getSession();
final Node root = session.getRootNode();
if (root.hasNode(path)) {
if (session.hasPermission("/" + path, "remove")) {
root.getNode(path).remove();
if (session.nodeExists(path)) {
if (session.hasPermission(path, "remove")) {
session.getNode(path).remove();
session.save();
return Response.status(204).build();
} else {
Expand Down
11 changes: 11 additions & 0 deletions src/main/java/org/fcrepo/modeshape/Constants.java
@@ -0,0 +1,11 @@
package org.fcrepo.modeshape;

import javax.ws.rs.core.Response;

public abstract class Constants {

protected static final Response four01 = Response.status(404).entity("401")
.build();
protected static final Response four04 = Response.status(404).entity("404")
.build();
}

0 comments on commit bf776e3

Please sign in to comment.