Skip to content

Commit

Permalink
Stripping dead code
Browse files Browse the repository at this point in the history
  • Loading branch information
ajs6f committed Oct 22, 2013
1 parent 3767818 commit 2c48a72
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 277 deletions.
Expand Up @@ -19,24 +19,15 @@
import static com.google.common.collect.Iterables.any;
import static com.hp.hpl.jena.graph.Triple.create;
import static com.hp.hpl.jena.rdf.model.ModelFactory.createDefaultModel;
import static com.hp.hpl.jena.rdf.model.ResourceFactory.createTypedLiteral;
import static java.util.Collections.emptyMap;
import static java.util.Collections.singleton;
import static javax.jcr.PropertyType.BINARY;
import static javax.jcr.PropertyType.BOOLEAN;
import static javax.jcr.PropertyType.DATE;
import static javax.jcr.PropertyType.DECIMAL;
import static javax.jcr.PropertyType.DOUBLE;
import static javax.jcr.PropertyType.LONG;
import static javax.jcr.PropertyType.PATH;
import static javax.jcr.PropertyType.REFERENCE;
import static javax.jcr.PropertyType.STRING;
import static javax.jcr.PropertyType.UNDEFINED;
import static javax.jcr.PropertyType.URI;
import static javax.jcr.PropertyType.WEAKREFERENCE;
import static org.fcrepo.kernel.RdfLexicon.HAS_MEMBER_OF_RESULT;
import static org.fcrepo.kernel.RdfLexicon.REPOSITORY_NAMESPACE;
import static org.fcrepo.kernel.utils.FedoraTypesUtils.getPredicateForProperty;
import static org.fcrepo.kernel.utils.FedoraTypesUtils.getValueFactory;
import static org.fcrepo.kernel.utils.NamespaceTools.getNamespaceRegistry;
import static org.slf4j.LoggerFactory.getLogger;
Expand All @@ -45,7 +36,6 @@
import java.util.Map;

import javax.jcr.Node;
import javax.jcr.Property;
import javax.jcr.PropertyType;
import javax.jcr.RepositoryException;
import javax.jcr.Session;
Expand Down Expand Up @@ -117,7 +107,7 @@ public class JcrRdfTools {
* @param graphSubjects
*/
public JcrRdfTools(final GraphSubjects graphSubjects) {
this.graphSubjects = graphSubjects;
this(graphSubjects, null, null);
}

/**
Expand All @@ -128,8 +118,7 @@ public JcrRdfTools(final GraphSubjects graphSubjects) {
* @param session
*/
public JcrRdfTools(final GraphSubjects graphSubjects, final Session session) {
this.graphSubjects = graphSubjects;
this.session = session;
this(graphSubjects, session, null);
}

/**
Expand Down Expand Up @@ -444,89 +433,6 @@ Value createValue(final Node node, final RDFNode data, final int type)
}
}

/**

This comment has been minimized.

Copy link
@awoods

awoods Oct 22, 2013

Love removing dead code.

This comment has been minimized.

Copy link
@ajs6f

ajs6f Oct 22, 2013

Author Contributor

Like picking at a scab.

* Add a JCR property to the given RDF Model (with the given subject)
*
* @param subject the RDF subject to use in the assertions
* @param model the RDF graph to insert the triple into
* @param property the JCR property (multivalued or not) to convert to
* triples
* @throws RepositoryException
*/
void addPropertyToModel(final Resource subject, final Model model,
final Property property) throws RepositoryException {
if (property.isMultiple()) {
final Value[] values = property.getValues();

for (final Value v : values) {
addPropertyToModel(subject, model, property, v);
}

} else {
addPropertyToModel(subject, model, property, property.getValue());
}
}

/**
* Add a JCR property to the given RDF Model (with the given subject)
*
* @param subject the RDF subject to use in the assertions
* @param model the RDF graph to insert the triple into
* @param property the JCR property (multivalued or not) to convert to
* triples
* @param v the actual JCR Value to insert into the graph
* @throws RepositoryException
*/
void addPropertyToModel(final Resource subject, final Model model,
final Property property, final Value v) throws RepositoryException {

if (v.getType() == BINARY) {
// exclude binary types from property serialization
return;
}

final com.hp.hpl.jena.rdf.model.Property predicate =
getPredicateForProperty.apply(property);

switch (v.getType()) {
case BOOLEAN:
model.addLiteral(subject, predicate, v.getBoolean());
break;
case DATE:
model.add(subject, predicate, createTypedLiteral(v.getDate()));
break;
case DECIMAL:
model.add(subject, predicate,
createTypedLiteral(v.getDecimal()));
break;
case DOUBLE:
model.addLiteral(subject, predicate, v.getDouble());
break;
case LONG:
model.addLiteral(subject, predicate, v.getLong());
break;
case URI:
model.add(subject, predicate, model.createResource(v
.getString()));
return;
case REFERENCE:
case WEAKREFERENCE:
final Node refNode = session.getNodeByIdentifier(v.getString());
model.add(subject, predicate, graphSubjects
.getGraphSubject(refNode));
break;
case PATH:
model.add(subject, predicate, graphSubjects.getGraphSubject(v
.getString()));
break;

default:
model.add(subject, predicate, v.getString());

}

}

/**
* Given an RDF predicate value (namespace URI + local name), figure out
* what JCR property to use
Expand Down
Expand Up @@ -19,25 +19,17 @@
import static com.hp.hpl.jena.datatypes.xsd.XSDDatatype.XSDbyte;
import static com.hp.hpl.jena.datatypes.xsd.XSDDatatype.XSDlong;
import static com.hp.hpl.jena.datatypes.xsd.XSDDatatype.XSDshort;
import static com.hp.hpl.jena.rdf.model.ModelFactory.createDefaultModel;
import static com.hp.hpl.jena.rdf.model.ResourceFactory.createProperty;
import static com.hp.hpl.jena.rdf.model.ResourceFactory.createResource;
import static com.hp.hpl.jena.rdf.model.ResourceFactory.createTypedLiteral;
import static com.hp.hpl.jena.vocabulary.RDF.type;
import static java.lang.Boolean.TRUE;
import static java.util.Arrays.asList;
import static javax.jcr.PropertyType.BINARY;
import static javax.jcr.PropertyType.BOOLEAN;
import static javax.jcr.PropertyType.DATE;
import static javax.jcr.PropertyType.DECIMAL;
import static javax.jcr.PropertyType.DOUBLE;
import static javax.jcr.PropertyType.LONG;
import static javax.jcr.PropertyType.NAME;
import static javax.jcr.PropertyType.PATH;
import static javax.jcr.PropertyType.REFERENCE;
import static javax.jcr.PropertyType.STRING;
import static javax.jcr.PropertyType.UNDEFINED;
import static javax.jcr.PropertyType.URI;
import static javax.jcr.PropertyType.WEAKREFERENCE;
import static javax.jcr.query.Query.JCR_SQL2;
import static org.fcrepo.jcr.FedoraJcrTypes.FEDORA_OBJECT;
Expand All @@ -54,7 +46,6 @@
import static org.fcrepo.kernel.RdfLexicon.IS_FIXITY_RESULT_OF;
import static org.fcrepo.kernel.RdfLexicon.REPOSITORY_NAMESPACE;
import static org.fcrepo.kernel.RdfLexicon.RESTAPI_NAMESPACE;
import static org.fcrepo.kernel.utils.FedoraTypesUtils.getPredicateForProperty;
import static org.fcrepo.kernel.utils.FedoraTypesUtils.getValueFactory;
import static org.fcrepo.kernel.utils.FixityResult.FixityState.BAD_CHECKSUM;
import static org.fcrepo.kernel.utils.FixityResult.FixityState.BAD_SIZE;
Expand All @@ -79,7 +70,6 @@
import java.io.IOException;
import java.io.StringWriter;
import java.io.Writer;
import java.math.BigDecimal;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.Calendar;
Expand Down Expand Up @@ -445,177 +435,6 @@ public void shouldIncludeFullChildNodeInformationInsideWindow()

}

@Test
public final void shouldAddPropertiesToModel() throws RepositoryException {
when(mockPredicateFactoryFunc.apply(mockProperty)).thenReturn(
mockPredicate);
final Function<javax.jcr.Property, com.hp.hpl.jena.rdf.model.Property> holdPredicate =
getPredicateForProperty;
getPredicateForProperty = mockPredicateFactoryFunc;

try {
final Resource mockSubject = mock(Resource.class);
final Model mockModel = mock(Model.class);

final Value mockValue = mock(Value.class);
when(mockValue.getString()).thenReturn("");

when(mockProperty.isMultiple()).thenReturn(false);
when(mockProperty.getValue()).thenReturn(mockValue);

testObj.addPropertyToModel(mockSubject, mockModel, mockProperty);
verify(mockModel).add(mockSubject, mockPredicate, "");

} finally {
getPredicateForProperty = holdPredicate;
}

}

@Test
public final void
shouldAddMultivaluedPropertiesToModel() throws RepositoryException {
when(mockPredicateFactoryFunc.apply(mockProperty)).thenReturn(
mockPredicate);
final Function<javax.jcr.Property, com.hp.hpl.jena.rdf.model.Property> holdPredicate =
getPredicateForProperty;
getPredicateForProperty = mockPredicateFactoryFunc;

try {
final Resource mockSubject = mock(Resource.class);
final Model mockModel = mock(Model.class);

final Value mockValue = mock(Value.class);
when(mockValue.getString()).thenReturn("1");

final Value mockValue2 = mock(Value.class);
when(mockValue2.getString()).thenReturn("2");

when(mockProperty.isMultiple()).thenReturn(true);
when(mockProperty.getValues()).thenReturn(
asList(mockValue, mockValue2).toArray(new Value[2]));

testObj.addPropertyToModel(mockSubject, mockModel, mockProperty);
verify(mockModel).add(mockSubject, mockPredicate, "1");
verify(mockModel).add(mockSubject, mockPredicate, "2");

} finally {
getPredicateForProperty = holdPredicate;
}

}

@Test
public final void
shouldMapJcrTypesToRdfDataTypes() throws RepositoryException {
final Resource mockSubject = createResource("some-resource-uri");
final Model mockModel = createDefaultModel();
final Property mockPredicate =
mockModel.createProperty("some-predicate-uri");
when(mockPredicateFactoryFunc.apply(mockProperty)).thenReturn(
mockPredicate);

final Function<javax.jcr.Property, com.hp.hpl.jena.rdf.model.Property> holdPredicate =
getPredicateForProperty;
getPredicateForProperty = mockPredicateFactoryFunc;

try {
when(mockValue.getType()).thenReturn(BOOLEAN);
when(mockValue.getBoolean()).thenReturn(true);
testObj.addPropertyToModel(mockSubject, mockModel, mockProperty,
mockValue);
assertTrue(mockModel.contains(mockSubject, mockPredicate,
createTypedLiteral(true)));

mockValue = mock(Value.class);
final Calendar mockCalendar = Calendar.getInstance();
when(mockValue.getType()).thenReturn(DATE);
when(mockValue.getDate()).thenReturn(mockCalendar);
testObj.addPropertyToModel(mockSubject, mockModel, mockProperty,
mockValue);
assertTrue(mockModel.contains(mockSubject, mockPredicate,
createTypedLiteral(mockCalendar)));

mockValue = mock(Value.class);
when(mockValue.getType()).thenReturn(DECIMAL);
when(mockValue.getDecimal()).thenReturn(BigDecimal.valueOf(0.0));
testObj.addPropertyToModel(mockSubject, mockModel, mockProperty,
mockValue);
assertTrue(mockModel.contains(mockSubject, mockPredicate,
createTypedLiteral(BigDecimal.valueOf(0.0))));

mockValue = mock(Value.class);
when(mockValue.getType()).thenReturn(DOUBLE);
when(mockValue.getDouble()).thenReturn((double) 0);
testObj.addPropertyToModel(mockSubject, mockModel, mockProperty,
mockValue);
assertTrue(mockModel.contains(mockSubject, mockPredicate,
createTypedLiteral((double) 0)));

mockValue = mock(Value.class);
when(mockValue.getType()).thenReturn(LONG);
when(mockValue.getLong()).thenReturn(0L);
testObj.addPropertyToModel(mockSubject, mockModel, mockProperty,
mockValue);
assertTrue(mockModel.contains(mockSubject, mockPredicate,
createTypedLiteral(0L)));

mockValue = mock(Value.class);
when(mockValue.getType()).thenReturn(STRING);
when(mockValue.getString()).thenReturn("XYZ");
testObj.addPropertyToModel(mockSubject, mockModel, mockProperty,
mockValue);
assertTrue(mockModel.contains(mockSubject, mockPredicate,
createTypedLiteral("XYZ")));

mockValue = mock(Value.class);
when(mockValue.getType()).thenReturn(URI);
when(mockValue.getString()).thenReturn("info:fedora");

testObj.addPropertyToModel(mockSubject, mockModel, mockProperty,
mockValue);

assertTrue(mockModel.contains(mockSubject, mockPredicate,
createResource("info:fedora")));

mockValue = mock(Value.class);
when(mockProperty.getSession()).thenReturn(mockSession);
when(mockSession.getNodeByIdentifier("uuid")).thenReturn(mockNode);
when(mockNode.getPath()).thenReturn("/abc");

when(mockValue.getType()).thenReturn(REFERENCE);
when(mockValue.getString()).thenReturn("uuid");
testObj.addPropertyToModel(mockSubject, mockModel, mockProperty,
mockValue);

assertTrue(mockModel.contains(mockSubject, mockPredicate,
createResource(RESTAPI_NAMESPACE + "/abc")));

mockValue = mock(Value.class);
when(mockValue.getType()).thenReturn(WEAKREFERENCE);
when(mockValue.getString()).thenReturn("uuid");
when(mockNode.getPath()).thenReturn("/def");
testObj.addPropertyToModel(mockSubject, mockModel, mockProperty,
mockValue);

assertTrue(mockModel.contains(mockSubject, mockPredicate,
createResource(RESTAPI_NAMESPACE + "/def")));

mockValue = mock(Value.class);
when(mockValue.getType()).thenReturn(PATH);
when(mockValue.getString()).thenReturn("/ghi");
testObj.addPropertyToModel(mockSubject, mockModel, mockProperty,
mockValue);

assertTrue(mockModel.contains(mockSubject, mockPredicate,
createResource(RESTAPI_NAMESPACE + "/ghi")));

} finally {
getPredicateForProperty = holdPredicate;
}

}

@Test
public final void testJcrNodeIteratorModel() throws RepositoryException {
when(mockNodes.hasNext()).thenReturn(false);
Expand Down

0 comments on commit 2c48a72

Please sign in to comment.