Skip to content

Commit

Permalink
fixing a bug in Datastream not to assign mixins to existing nodes; po…
Browse files Browse the repository at this point in the history
…rting ObjectService changes to remaining modules; IT passing
  • Loading branch information
barmintor committed Mar 21, 2013
1 parent 5f6fadc commit 618c811
Show file tree
Hide file tree
Showing 6 changed files with 31 additions and 19 deletions.
Expand Up @@ -3,12 +3,12 @@

import static javax.ws.rs.core.MediaType.TEXT_XML;
import static javax.ws.rs.core.Response.ok;
import static org.fcrepo.services.ObjectService.getObjectNode;

import java.io.InputStream;
import java.util.List;

import javax.annotation.Resource;
import javax.inject.Inject;
import javax.jcr.Node;
import javax.jcr.PathNotFoundException;
import javax.jcr.RepositoryException;
Expand All @@ -20,19 +20,23 @@

import org.fcrepo.AbstractResource;
import org.fcrepo.generator.dublincore.DCGenerator;
import org.fcrepo.services.ObjectService;

@Path("/objects/{pid}/oai_dc")
public class DublinCoreGenerator extends AbstractResource {

@Resource
List<DCGenerator> dcgenerators;

@Inject
ObjectService objectService;

@GET
@Produces(TEXT_XML)
public Response getObjectAsDublinCore(@PathParam("pid")
final String pid) throws RepositoryException {

final Node obj = getObjectNode(pid);
final Node obj = objectService.getObjectNode(pid);

for (DCGenerator indexer : dcgenerators) {
InputStream inputStream = indexer.getStream(obj);
Expand Down
Expand Up @@ -3,12 +3,12 @@

import static javax.ws.rs.core.MediaType.TEXT_XML;
import static javax.ws.rs.core.Response.ok;
import static org.fcrepo.services.ObjectService.getObjectNode;

import java.io.ByteArrayOutputStream;
import java.util.List;

import javax.annotation.Resource;
import javax.inject.Inject;
import javax.jcr.Node;
import javax.jcr.RepositoryException;
import javax.ws.rs.GET;
Expand All @@ -18,6 +18,7 @@
import javax.ws.rs.core.Response;

import org.fcrepo.generator.rdf.TripleGenerator;
import org.fcrepo.services.ObjectService;

import com.hp.hpl.jena.rdf.model.Model;
import com.hp.hpl.jena.rdf.model.ModelFactory;
Expand All @@ -28,13 +29,16 @@ public class RdfGenerator {

@Resource
List<TripleGenerator> rdfgenerators;

@Inject
ObjectService objectService;

@GET
@Produces(TEXT_XML)
public Response getObjectAsRdfXml(@PathParam("pid")
final String pid) throws RepositoryException {

final Node obj = getObjectNode(pid);
final Node obj = objectService.getObjectNode(pid);


final Model model = getObjectAsRdf(obj);
Expand Down
16 changes: 9 additions & 7 deletions fcrepo-kernel/src/main/java/org/fcrepo/Datastream.java
Expand Up @@ -95,15 +95,17 @@ public Datastream(final Session session, String pid, String dsId) throws Reposit

public Datastream(final Session session, final String dsPath) throws RepositoryException {
this.node = jcrTools.findOrCreateNode(session, dsPath, NT_FILE);
this.node.addMixin(FEDORA_DATASTREAM);
this.node.addMixin(FEDORA_OWNED);
this.node.setProperty(FEDORA_OWNERID, session.getUserID());
if (this.node.isNew()){
this.node.addMixin(FEDORA_DATASTREAM);
this.node.addMixin(FEDORA_OWNED);
this.node.setProperty(FEDORA_OWNERID, session.getUserID());

this.node.setProperty("jcr:lastModified", Calendar.getInstance());
this.node.setProperty("jcr:lastModified", Calendar.getInstance());

// TODO: I guess we should also have the PID + DSID..
this.node.setProperty(DC_IDENTIFER, new String[] {this.node.getIdentifier(),
this.node.getParent().getName() + "/" + this.node.getName()});
// TODO: I guess we should also have the PID + DSID..
this.node.setProperty(DC_IDENTIFER, new String[] {this.node.getIdentifier(),
this.node.getParent().getName() + "/" + this.node.getName()});
}
}

/**
Expand Down
Expand Up @@ -8,9 +8,6 @@
import static javax.ws.rs.core.Response.ok;
import static org.fcrepo.api.legacy.FedoraDatastreams.getContentSize;
import static org.fcrepo.jaxb.responses.access.ObjectProfile.ObjectStates.A;
import static org.fcrepo.services.ObjectService.createObjectNode;
import static org.fcrepo.services.ObjectService.getObjectNames;
import static org.fcrepo.services.ObjectService.getObjectNode;
import static org.fcrepo.services.PathService.getObjectJcrNodePath;
import static org.fcrepo.utils.FedoraJcrTypes.DC_TITLE;
import static org.fcrepo.utils.FedoraTypesUtils.map;
Expand All @@ -19,6 +16,7 @@

import java.io.IOException;

import javax.inject.Inject;
import javax.jcr.Node;
import javax.jcr.NodeIterator;
import javax.jcr.Property;
Expand All @@ -37,6 +35,7 @@
import org.fcrepo.AbstractResource;
import org.fcrepo.FedoraObject;
import org.fcrepo.jaxb.responses.access.ObjectProfile;
import org.fcrepo.services.ObjectService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

Expand All @@ -45,6 +44,9 @@ public class FedoraObjects extends AbstractResource {

private static final Logger logger = LoggerFactory
.getLogger(FedoraObjects.class);

@Inject
ObjectService objectService;

/**
*
Expand All @@ -56,7 +58,7 @@ public class FedoraObjects extends AbstractResource {
@GET
public Response getObjects() throws RepositoryException {

return ok(getObjectNames().toString()).build();
return ok(objectService.getObjectNames().toString()).build();

}

Expand Down Expand Up @@ -114,7 +116,7 @@ public Response ingest(@PathParam("pid")

final Session session = repo.login();
try {
final Node obj = createObjectNode(session, pid);
final Node obj = objectService.createObjectNode(session, pid);
session.save();
/*
* we save before updating the repo size because the act of
Expand Down Expand Up @@ -146,7 +148,7 @@ public Response ingest(@PathParam("pid")
public ObjectProfile getObject(@PathParam("pid")
final String pid) throws RepositoryException, IOException {

final Node obj = getObjectNode(pid);
final Node obj = objectService.getObjectNode(pid);
final ObjectProfile objectProfile = new ObjectProfile();

objectProfile.pid = pid;
Expand Down
2 changes: 1 addition & 1 deletion fcrepo-rss/src/test/resources/spring-test/repo.xml
Expand Up @@ -18,6 +18,6 @@

<bean class="org.modeshape.jcr.JcrRepositoryFactory"/>


<bean class="org.fcrepo.services.ObjectService" />

</beans>
2 changes: 1 addition & 1 deletion fcrepo-webhooks/src/test/resources/spring-test/repo.xml
Expand Up @@ -18,6 +18,6 @@

<bean class="org.modeshape.jcr.JcrRepositoryFactory"/>


<bean class="org.fcrepo.services.ObjectService" />

</beans>

0 comments on commit 618c811

Please sign in to comment.