Skip to content

Commit

Permalink
Removed an unneeded static from FedoraTypesUtils
Browse files Browse the repository at this point in the history
  • Loading branch information
ajs6f committed Nov 6, 2013
1 parent 790c933 commit 9d7c4ac
Show file tree
Hide file tree
Showing 4 changed files with 69 additions and 109 deletions.
Expand Up @@ -42,7 +42,6 @@
import javax.jcr.RepositoryException;
import javax.jcr.Session;
import javax.jcr.Value;
import javax.jcr.ValueFactory;
import javax.jcr.nodetype.NodeType;
import javax.jcr.nodetype.NodeTypeManager;
import javax.jcr.nodetype.PropertyDefinition;
Expand Down Expand Up @@ -239,24 +238,6 @@ public boolean apply(final Node n) {
}
};

/**
* Retrieves a JCR {@link ValueFactory} for use with a @ link Node}
*/
public static Function<Node, ValueFactory> getValueFactory =
new Function<Node, ValueFactory>() {

@Override
public ValueFactory apply(final Node n) {
try {
checkArgument(n != null,
"null has no ValueFactory associated with it!");
return n.getSession().getValueFactory();
} catch (final RepositoryException e) {
throw propagate(e);
}
}
};

/**
* Map a JCR property to an RDF property with the right namespace URI and
* local name
Expand Down
Expand Up @@ -28,7 +28,6 @@
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.getValueFactory;
import static org.fcrepo.kernel.utils.NamespaceTools.getNamespaceRegistry;
import static org.slf4j.LoggerFactory.getLogger;

Expand Down Expand Up @@ -366,7 +365,7 @@ public boolean isInternalProperty(final Node subjectNode,
*/
public Value createValue(final Node node, final RDFNode data, final int type)
throws RepositoryException {
final ValueFactory valueFactory = getValueFactory.apply(node);
final ValueFactory valueFactory = node.getSession().getValueFactory();
assert (valueFactory != null);

if (data.isURIResource()
Expand Down
Expand Up @@ -28,7 +28,6 @@
import static org.fcrepo.kernel.utils.FedoraTypesUtils.getPredicateForProperty;
import static org.fcrepo.kernel.utils.FedoraTypesUtils.getRepositoryCount;
import static org.fcrepo.kernel.utils.FedoraTypesUtils.getRepositorySize;
import static org.fcrepo.kernel.utils.FedoraTypesUtils.getValueFactory;
import static org.fcrepo.kernel.utils.FedoraTypesUtils.getVersionHistory;
import static org.fcrepo.kernel.utils.FedoraTypesUtils.isFedoraDatastream;
import static org.fcrepo.kernel.utils.FedoraTypesUtils.isFedoraObject;
Expand Down Expand Up @@ -176,19 +175,6 @@ public void testIsMultipleValuedProperty() throws RepositoryException {
} catch (final RuntimeException e) {} // expected
}

@Test
public void testGetValueFactory() throws RepositoryException {
when(mockNode.getSession()).thenReturn(mockSession);
when(mockSession.getValueFactory()).thenReturn(mockVF);
final ValueFactory actual = getValueFactory.apply(mockNode);
assertEquals(mockVF, actual);
when(mockSession.getValueFactory()).thenThrow(new RepositoryException());
try {
getValueFactory.apply(mockNode);
fail("Unexpected completion after RepositoryException!");
} catch (final RuntimeException e) {} // expected
}

@Test
public void testGetPredicateForProperty() throws RepositoryException {
final PropertyMock mockProp = mock(PropertyMock.class);
Expand Down
Expand Up @@ -45,7 +45,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.getValueFactory;
import static org.fcrepo.kernel.utils.FixityResult.FixityState.BAD_CHECKSUM;
import static org.fcrepo.kernel.utils.FixityResult.FixityState.BAD_SIZE;
import static org.fcrepo.kernel.utils.JcrRdfTools.getJcrNamespaceForRDFNamespace;
Expand Down Expand Up @@ -343,79 +342,74 @@ public void shouldIncludeFullChildNodeInformationInsideWindow()
}

@Test
public final void
shouldMapRdfValuesToJcrPropertyValues() throws RepositoryException {
when(mockValueFactoryFunc.apply(mockNode)).thenReturn(mockValueFactory);
final Function<Node, ValueFactory> holdValueFactory = getValueFactory;
FedoraTypesUtils.getValueFactory = mockValueFactoryFunc;

try {
RDFNode n = createResource(RESTAPI_NAMESPACE + "/abc");

// node references
when(mockSession.getNode("/abc")).thenReturn(mockNode);
when(mockSession.nodeExists("/abc")).thenReturn(true);
testObj.createValue(mockNode, n, REFERENCE);
verify(mockValueFactory).createValue(mockNode, false);
testObj.createValue(mockNode, n, WEAKREFERENCE);
verify(mockValueFactory).createValue(mockNode, true);

// uris
testObj.createValue(mockNode, n, UNDEFINED);
verify(mockValueFactory).createValue(RESTAPI_NAMESPACE + "/abc",
PropertyType.URI);

// other random resources
n = createResource();
testObj.createValue(mockNode, n, 0);
verify(mockValueFactory).createValue(n.toString(), UNDEFINED);

// undeclared types, but infer them from rdf types

n = createTypedLiteral(true);
testObj.createValue(mockNode, n, 0);
verify(mockValueFactory).createValue(true);

n = createTypedLiteral("1", XSDbyte);
testObj.createValue(mockNode, n, 0);
verify(mockValueFactory).createValue((byte) 1);

n = createTypedLiteral((double) 2);
testObj.createValue(mockNode, n, 0);
verify(mockValueFactory).createValue((double) 2);

n = createTypedLiteral((float) 3);
testObj.createValue(mockNode, n, 0);
verify(mockValueFactory).createValue((float) 3);

n = createTypedLiteral(4);
testObj.createValue(mockNode, n, 0);
verify(mockValueFactory).createValue(4);

n = createTypedLiteral("5", XSDlong);
testObj.createValue(mockNode, n, 0);
verify(mockValueFactory).createValue(5);

n = createTypedLiteral("6", XSDshort);
testObj.createValue(mockNode, n, 0);
verify(mockValueFactory).createValue((short) 6);

final Calendar calendar = Calendar.getInstance();
n = createTypedLiteral(calendar);
testObj.createValue(mockNode, n, 0);
verify(mockValueFactory).createValue(any(Calendar.class));

n = createTypedLiteral("string");
testObj.createValue(mockNode, n, 0);
verify(mockValueFactory).createValue("string", STRING);

n = createTypedLiteral("string");
testObj.createValue(mockNode, n, NAME);
verify(mockValueFactory).createValue("string", NAME);

} finally {
getValueFactory = holdValueFactory;
}
public final void shouldMapRdfValuesToJcrPropertyValues()
throws RepositoryException {

when(mockNode.getSession().getValueFactory()).thenReturn(
mockValueFactory);

RDFNode n = createResource(RESTAPI_NAMESPACE + "/abc");

// node references
when(mockSession.getNode("/abc")).thenReturn(mockNode);
when(mockSession.nodeExists("/abc")).thenReturn(true);
testObj.createValue(mockNode, n, REFERENCE);
verify(mockValueFactory).createValue(mockNode, false);
testObj.createValue(mockNode, n, WEAKREFERENCE);
verify(mockValueFactory).createValue(mockNode, true);

// uris
testObj.createValue(mockNode, n, UNDEFINED);
verify(mockValueFactory).createValue(RESTAPI_NAMESPACE + "/abc",
PropertyType.URI);

// other random resources
n = createResource();
testObj.createValue(mockNode, n, 0);
verify(mockValueFactory).createValue(n.toString(), UNDEFINED);

// undeclared types, but infer them from rdf types

n = createTypedLiteral(true);
testObj.createValue(mockNode, n, 0);
verify(mockValueFactory).createValue(true);

n = createTypedLiteral("1", XSDbyte);
testObj.createValue(mockNode, n, 0);
verify(mockValueFactory).createValue((byte) 1);

n = createTypedLiteral((double) 2);
testObj.createValue(mockNode, n, 0);
verify(mockValueFactory).createValue((double) 2);

n = createTypedLiteral((float) 3);
testObj.createValue(mockNode, n, 0);
verify(mockValueFactory).createValue((float) 3);

n = createTypedLiteral(4);
testObj.createValue(mockNode, n, 0);
verify(mockValueFactory).createValue(4);

n = createTypedLiteral("5", XSDlong);
testObj.createValue(mockNode, n, 0);
verify(mockValueFactory).createValue(5);

n = createTypedLiteral("6", XSDshort);
testObj.createValue(mockNode, n, 0);
verify(mockValueFactory).createValue((short) 6);

final Calendar calendar = Calendar.getInstance();
n = createTypedLiteral(calendar);
testObj.createValue(mockNode, n, 0);
verify(mockValueFactory).createValue(any(Calendar.class));

n = createTypedLiteral("string");
testObj.createValue(mockNode, n, 0);
verify(mockValueFactory).createValue("string", STRING);

n = createTypedLiteral("string");
testObj.createValue(mockNode, n, NAME);
verify(mockValueFactory).createValue("string", NAME);

}

Expand Down

0 comments on commit 9d7c4ac

Please sign in to comment.