You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@marmotta.apache.org by wi...@apache.org on 2014/06/13 11:02:46 UTC
[17/20] git commit: MARMOTTA-484: some more javadoc
MARMOTTA-484: some more javadoc
Project: http://git-wip-us.apache.org/repos/asf/marmotta/repo
Commit: http://git-wip-us.apache.org/repos/asf/marmotta/commit/2ed1887b
Tree: http://git-wip-us.apache.org/repos/asf/marmotta/tree/2ed1887b
Diff: http://git-wip-us.apache.org/repos/asf/marmotta/diff/2ed1887b
Branch: refs/heads/ldp
Commit: 2ed1887b65bb1cbd8fb3e539cd9a41f16cae2b52
Parents: 1a4c303
Author: Jakob Frank <ja...@apache.org>
Authored: Tue Jun 10 10:55:18 2014 +0200
Committer: Jakob Frank <ja...@apache.org>
Committed: Tue Jun 10 11:31:53 2014 +0200
----------------------------------------------------------------------
.../commons/sesame/test/SesameMatchers.java | 288 ++++++++++++++++++-
.../sesame/test/base/RdfStringMatcher.java | 11 +-
.../sesame/test/base/RepositoryMatcher.java | 5 +
.../sesame/test/sparql/SparqlAskMatcher.java | 18 ++
.../test/sparql/SparqlGraphQueryMatcher.java | 49 +++-
5 files changed, 347 insertions(+), 24 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/marmotta/blob/2ed1887b/commons/marmotta-sesame-tools/marmotta-sesame-matchers/src/main/java/org/apache/marmotta/commons/sesame/test/SesameMatchers.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-sesame-matchers/src/main/java/org/apache/marmotta/commons/sesame/test/SesameMatchers.java b/commons/marmotta-sesame-tools/marmotta-sesame-matchers/src/main/java/org/apache/marmotta/commons/sesame/test/SesameMatchers.java
index 5baabe0..0466ff6 100644
--- a/commons/marmotta-sesame-tools/marmotta-sesame-matchers/src/main/java/org/apache/marmotta/commons/sesame/test/SesameMatchers.java
+++ b/commons/marmotta-sesame-tools/marmotta-sesame-matchers/src/main/java/org/apache/marmotta/commons/sesame/test/SesameMatchers.java
@@ -45,11 +45,10 @@ public class SesameMatchers {
/**
* Create a RepositoryConnection Matcher checking if the provided Statement is contained in the Connection.
*
- * @param subject the subject of the statement, use {@code null} as wildcard.
+ * @param subject the subject of the statement, use {@code null} as wildcard.
* @param predicate the predicate of the statement, use {@code null} as wildcard.
- * @param object the object of the statement, use {@code null} as wildcard.
- * @param contexts the contexts in which to look for the statement, use an empty varargs array to look in all contexts available.
- *
+ * @param object the object of the statement, use {@code null} as wildcard.
+ * @param contexts the contexts in which to look for the statement, use an empty varargs array to look in all contexts available.
* @see org.apache.marmotta.commons.sesame.test.connection.HasStatementMatcher
* @see org.openrdf.repository.RepositoryConnection#hasStatement(org.openrdf.model.Resource, org.openrdf.model.URI, org.openrdf.model.Value, boolean, org.openrdf.model.Resource...)
*/
@@ -60,144 +59,403 @@ public class SesameMatchers {
/**
* Create a Repository Matcher checking if the provided Statement is contained in the Repository.
*
- * @param subject the subject of the statement, use {@code null} as wildcard.
+ * @param subject the subject of the statement, use {@code null} as wildcard.
* @param predicate the predicate of the statement, use {@code null} as wildcard.
- * @param object the object of the statement, use {@code null} as wildcard.
- * @param contexts the contexts in which to look for the statement, use an empty varargs array to look in all contexts available.
- *
+ * @param object the object of the statement, use {@code null} as wildcard.
+ * @param contexts the contexts in which to look for the statement, use an empty varargs array to look in all contexts available.
* @see org.apache.marmotta.commons.sesame.test.base.RepositoryMatcher
* @see org.apache.marmotta.commons.sesame.test.connection.HasStatementMatcher
* @see org.openrdf.repository.RepositoryConnection#hasStatement(org.openrdf.model.Resource, org.openrdf.model.URI, org.openrdf.model.Value, boolean, org.openrdf.model.Resource...)
*/
public static <T extends Repository> Matcher<T> repositoryHasStatement(Resource subject, URI predicate, Value object, Resource... contexts) {
- return RepositoryMatcher.wrap(hasStatement(subject, predicate, object,contexts));
+ return RepositoryMatcher.wrap(hasStatement(subject, predicate, object, contexts));
}
+ /**
+ * Create a String Matcher that checks for the given RDF Statement in the serialized RDF dump
+ *
+ * @param format the RDFFormat used for de-serializing the RDF
+ * @param baseUri the baseUri used for de-serializing the RDF
+ * @param subject the subject of the statement, use {@code null} as wildcard.
+ * @param predicate the predicate of the statement, use {@code null} as wildcard.
+ * @param object the object of the statement, use {@code null} as wildcard.
+ * @param contexts the contexts in which to look for the statement, use an empty varargs array to look in all contexts available.
+ * @see org.apache.marmotta.commons.sesame.test.base.RdfStringMatcher
+ * @see org.apache.marmotta.commons.sesame.test.connection.HasStatementMatcher
+ */
public static <T extends String> Matcher<T> rdfHasStatement(RDFFormat format, String baseUri, Resource subject, URI predicate, Value object, Resource... contexts) {
return RdfStringMatcher.wrap(format, baseUri, hasStatement(subject, predicate, object, contexts));
}
+ /**
+ * Create a RepositoryConnection Matcher that evaluates a SPARQL ASK query.
+ *
+ * @param askQuery the SPARQL ASK query to check, test will fail if the result is {@code false}
+ * @see org.apache.marmotta.commons.sesame.test.sparql.SparqlAskMatcher
+ * @see org.openrdf.query.BooleanQuery#evaluate()
+ */
public static <T extends RepositoryConnection> Matcher<T> sparqlAsk(String askQuery) {
return SparqlAskMatcher.sparqlAsk(askQuery);
}
+ /**
+ * Create a RepositoryConnection Matcher that evaluates a SPARQL ASK query.
+ *
+ * @param baseUri The base URI to resolve any relative URIs that are in the query against, can be null if the query does not contain any relative URIs.
+ * @param askQuery the SPARQL ASK query to check, test will fail if the result is {@code false}
+ * @see org.apache.marmotta.commons.sesame.test.sparql.SparqlAskMatcher
+ * @see org.openrdf.query.BooleanQuery#evaluate()
+ */
public static <T extends RepositoryConnection> Matcher<T> sparqlAsk(String baseUri, String askQuery) {
return SparqlAskMatcher.sparqlAsk(baseUri, askQuery);
}
+ /**
+ * Create a Repository Matcher that evaluates a SPARQL ASK query.
+ *
+ * @param askQuery the SPARQL ASK query to check, test will fail if the result is {@code false}
+ * @see org.apache.marmotta.commons.sesame.test.sparql.SparqlAskMatcher
+ * @see org.openrdf.query.BooleanQuery#evaluate()
+ * @see org.apache.marmotta.commons.sesame.test.base.RepositoryMatcher#wrap(org.hamcrest.Matcher)
+ */
public static <T extends Repository> Matcher<T> sparqlAskRepository(String askQuery) {
return RepositoryMatcher.wrap(sparqlAsk(askQuery));
}
+ /**
+ * Create a RepositoryConnection Matcher that evaluates a SPARQL ASK query.
+ *
+ * @param baseUri The base URI to resolve any relative URIs that are in the query against, can be null if the query does not contain any relative URIs.
+ * @param askQuery the SPARQL ASK query to check, test will fail if the result is {@code false}
+ * @see org.apache.marmotta.commons.sesame.test.sparql.SparqlAskMatcher
+ * @see org.openrdf.query.BooleanQuery#evaluate()
+ * @see org.apache.marmotta.commons.sesame.test.base.RepositoryMatcher#wrap(org.hamcrest.Matcher)
+ */
public static <T extends Repository> Matcher<T> sparqlAskRepository(String baseUri, String askQuery) {
return RepositoryMatcher.wrap(sparqlAsk(baseUri, askQuery));
}
+ /**
+ * Create a RdfString Matcher that evaluates a SPARQL ASK query.
+ *
+ * @param format the RDFFormat used for de-serializing the RDF
+ * @param baseUri the baseUri used for de-serializing the RDF
+ * @param askQuery the SPARQL ASK query to check, test will fail if the result is {@code false}
+ * @see org.apache.marmotta.commons.sesame.test.sparql.SparqlAskMatcher
+ * @see org.openrdf.query.BooleanQuery#evaluate()
+ */
public static <T extends String> Matcher<T> sparqlAskRdf(RDFFormat format, String baseUri, String askQuery) {
return RdfStringMatcher.wrap(format, baseUri, sparqlAsk(askQuery));
}
+ /**
+ * Create a RepositoryConnection Matcher that evaluates a SPARQL ASK query.
+ *
+ * @param format the RDFFormat used for de-serializing the RDF
+ * @param baseUri the baseUri used for de-serializing the RDF
+ * @param queryBaseUri The base URI to resolve any relative URIs that are in the query against, can be null if the query does not contain any relative URIs.
+ * @param askQuery the SPARQL ASK query to check, test will fail if the result is {@code false}
+ * @see org.apache.marmotta.commons.sesame.test.sparql.SparqlAskMatcher
+ * @see org.openrdf.query.BooleanQuery#evaluate()
+ */
public static <T extends String> Matcher<T> sparqlAskRdf(RDFFormat format, String baseUri, String queryBaseUri, String askQuery) {
return RdfStringMatcher.wrap(format, baseUri, sparqlAsk(queryBaseUri, askQuery));
}
+ /**
+ * Create a RepositoryConnection Matcher that checks for the presence of the provided binding in the ResultSet.
+ *
+ * @param baseUri The base URI to resolve any relative URIs that are in the query against, can be null if the query does not contain any relative URIs.
+ * @param sparqlQuery A SPARQL SELECT query to match the provided matcher against.
+ * @param matcher The Matcher to match
+ * @see org.apache.marmotta.commons.sesame.test.sparql.SparqlTupleQueryMatcher
+ * @see org.openrdf.repository.sparql.query.SPARQLTupleQuery
+ */
public static <T extends RepositoryConnection> Matcher<T> sparqlTupleQuery(String baseUri, String sparqlQuery, Matcher<Iterable<BindingSet>> matcher) {
return SparqlTupleQueryMatcher.sparqlQuery(baseUri, sparqlQuery, matcher);
}
+ /**
+ * Create a RepositoryConnection Matcher that checks for the presence of the provided bindings in the ResultSet.
+ *
+ * @param baseUri The base URI to resolve any relative URIs that are in the query against, can be null if the query does not contain any relative URIs.
+ * @param sparqlQuery A SPARQL SELECT query to match the provided matcher against.
+ * @param matchers The Matchers to match
+ * @see org.apache.marmotta.commons.sesame.test.sparql.SparqlTupleQueryMatcher
+ * @see org.openrdf.repository.sparql.query.SPARQLTupleQuery
+ */
@SafeVarargs
public static <T extends RepositoryConnection> Matcher<T> sparqlTupleQuery(String baseUri, String sparqlQuery, Matcher<Iterable<BindingSet>>... matchers) {
return SparqlTupleQueryMatcher.sparqlQuery(baseUri, sparqlQuery, matchers);
}
+ /**
+ * Create a Repository Matcher that checks for the presence of the provided binding in the ResultSet.
+ *
+ * @param baseUri The base URI to resolve any relative URIs that are in the query against, can be null if the query does not contain any relative URIs.
+ * @param sparqlQuery A SPARQL SELECT query to match the provided matcher against.
+ * @param matcher The Matcher to match
+ * @see org.apache.marmotta.commons.sesame.test.sparql.SparqlTupleQueryMatcher
+ * @see org.openrdf.repository.sparql.query.SPARQLTupleQuery
+ */
public static <T extends Repository> Matcher<T> sparqlTupleQueryRepository(String baseUri, String sparqlQuery, Matcher<Iterable<BindingSet>> matcher) {
return RepositoryMatcher.wrap(SparqlTupleQueryMatcher.sparqlQuery(baseUri, sparqlQuery, matcher));
}
+ /**
+ * Create a Repository Matcher that checks for the presence of the provided bindings in the ResultSet.
+ *
+ * @param baseUri The base URI to resolve any relative URIs that are in the query against, can be null if the query does not contain any relative URIs.
+ * @param sparqlQuery A SPARQL SELECT query to match the provided matcher against.
+ * @param matchers The Matchers to match
+ * @see org.apache.marmotta.commons.sesame.test.sparql.SparqlTupleQueryMatcher
+ * @see org.openrdf.repository.sparql.query.SPARQLTupleQuery
+ */
@SafeVarargs
public static <T extends Repository> Matcher<T> sparqlTupleQueryRepository(String baseUri, String sparqlQuery, Matcher<Iterable<BindingSet>>... matchers) {
return RepositoryMatcher.wrap(SparqlTupleQueryMatcher.sparqlQuery(baseUri, sparqlQuery, matchers));
}
+ /**
+ * Create a RDF-String Matcher that checks for the presence of the provided binding in the ResultSet.
+ *
+ * @param format the RDFFormat used for de-serializing the RDF
+ * @param baseUri the baseUri used for de-serializing the RDF
+ * @param queryBaseUri The base URI to resolve any relative URIs that are in the query against, can be null if the query does not contain any relative URIs.
+ * @param sparqlQuery A SPARQL SELECT query to match the provided matcher against.
+ * @param matcher The Matcher to match
+ * @see org.apache.marmotta.commons.sesame.test.sparql.SparqlTupleQueryMatcher
+ * @see org.openrdf.repository.sparql.query.SPARQLTupleQuery
+ */
public static <T extends String> Matcher<T> sparqlTupleQueryRdf(RDFFormat format, String baseUri, String queryBaseUri, String sparqlQuery, Matcher<Iterable<BindingSet>> matcher) {
return RdfStringMatcher.wrap(format, baseUri, SparqlTupleQueryMatcher.sparqlQuery(queryBaseUri, sparqlQuery, matcher));
}
+ /**
+ * Create a RDF-String Matcher that checks for the presence of the provided bindings in the ResultSet.
+ *
+ * @param format the RDFFormat used for de-serializing the RDF
+ * @param baseUri the baseUri used for de-serializing the RDF
+ * @param queryBaseUri The base URI to resolve any relative URIs that are in the query against, can be null if the query does not contain any relative URIs.
+ * @param sparqlQuery A SPARQL SELECT query to match the provided matcher against.
+ * @param matchers The Matchers to match
+ * @see org.apache.marmotta.commons.sesame.test.sparql.SparqlTupleQueryMatcher
+ * @see org.openrdf.repository.sparql.query.SPARQLTupleQuery
+ */
@SafeVarargs
public static <T extends String> Matcher<T> sparqlTupleQueryRdf(RDFFormat format, String baseUri, String queryBaseUri, String sparqlQuery, Matcher<Iterable<BindingSet>>... matchers) {
+
return RdfStringMatcher.wrap(format, baseUri, SparqlTupleQueryMatcher.sparqlQuery(queryBaseUri, sparqlQuery, matchers));
}
+ /**
+ * Create a {@link org.apache.marmotta.commons.sesame.test.sparql.SparqlGraphQueryMatcher} that matches the given
+ * {@link org.apache.marmotta.commons.sesame.test.base.AbstractRepositoryConnectionMatcher} against the result of
+ * the given SPARQL CONSTRUCT query.
+ *
+ * @param baseUri The base URI to resolve any relative URIs that are in the query against, can be null if the query does not contain any relative URIs.
+ * @param sparqlQuery A SPARQL CONSTRUCT query
+ * @param matcher the AbstractRepositoryConnectionMatcher to match
+ * @see org.apache.marmotta.commons.sesame.test.sparql.SparqlGraphQueryMatcher
+ */
public static <T extends RepositoryConnection> Matcher<T> sparqlGraphQuery(String baseUri, String sparqlQuery, Matcher<? extends RepositoryConnection> matcher) {
return SparqlGraphQueryMatcher.<T>sparqlGraphQuery(baseUri, sparqlQuery, matcher);
}
+ /**
+ * Create a {@link org.apache.marmotta.commons.sesame.test.sparql.SparqlGraphQueryMatcher} that matches the given
+ * {@link org.apache.marmotta.commons.sesame.test.base.AbstractRepositoryConnectionMatcher} against the result of
+ * the given SPARQL CONSTRUCT query.
+ *
+ * @param baseUri The base URI to resolve any relative URIs that are in the query against, can be null if the query does not contain any relative URIs.
+ * @param sparqlQuery A SPARQL CONSTRUCT query
+ * @param matchers the {@link org.apache.marmotta.commons.sesame.test.base.AbstractRepositoryConnectionMatcher}s to match
+ * @see org.apache.marmotta.commons.sesame.test.sparql.SparqlGraphQueryMatcher
+ */
@SafeVarargs
public static <T extends RepositoryConnection, V extends RepositoryConnection> Matcher<T> sparqlGraphQuery(String baseUri, String sparqlQuery, Matcher<V>... matchers) {
return SparqlGraphQueryMatcher.<T>sparqlGraphQuery(baseUri, sparqlQuery, CoreMatchers.allOf(matchers));
}
+ /**
+ * Create a {@link org.apache.marmotta.commons.sesame.test.base.RepositoryMatcher} that matches the given
+ * {@link org.apache.marmotta.commons.sesame.test.base.AbstractRepositoryConnectionMatcher} against the result of
+ * the given SPARQL CONSTRUCT query on a Repository.
+ *
+ * @param baseUri The base URI to resolve any relative URIs that are in the query against, can be null if the query does not contain any relative URIs.
+ * @param sparqlQuery A SPARQL CONSTRUCT query
+ * @param matcher the RepositoryMatcher to match
+ * @see org.apache.marmotta.commons.sesame.test.sparql.SparqlGraphQueryMatcher
+ */
public static <T extends Repository, V extends RepositoryConnection> Matcher<T> sparqlGraphQueryRepository(String baseUri, String sparqlQuery, Matcher<V> matcher) {
return RepositoryMatcher.wrap(sparqlGraphQuery(baseUri, sparqlQuery, matcher));
}
+ /**
+ * Create a {@link org.apache.marmotta.commons.sesame.test.base.RepositoryMatcher} that matches the given
+ * {@link org.apache.marmotta.commons.sesame.test.base.AbstractRepositoryConnectionMatcher}s against the result of
+ * the given SPARQL CONSTRUCT query on a Repository.
+ *
+ * @param baseUri The base URI to resolve any relative URIs that are in the query against, can be null if the query does not contain any relative URIs.
+ * @param sparqlQuery A SPARQL CONSTRUCT query
+ * @param matchers the RepositoryMatchers to match
+ * @see org.apache.marmotta.commons.sesame.test.sparql.SparqlGraphQueryMatcher
+ */
@SafeVarargs
public static <T extends Repository, V extends RepositoryConnection> Matcher<T> sparqlGraphQueryRepository(String baseUri, String sparqlQuery, Matcher<V>... matchers) {
return RepositoryMatcher.wrap(sparqlGraphQuery(baseUri, sparqlQuery, matchers));
}
+ /**
+ * Create a {@link org.apache.marmotta.commons.sesame.test.base.RdfStringMatcher} that matches the given
+ * {@link org.apache.marmotta.commons.sesame.test.base.AbstractRepositoryConnectionMatcher}s against the result of
+ * the given SPARQL CONSTRUCT query on a Repository.
+ *
+ * @param baseUri The base URI to resolve any relative URIs that are in the query against, can be null if the query does not contain any relative URIs.
+ * @param sparqlQuery A SPARQL CONSTRUCT query
+ * @param matcher the RepositoryMatcher to match
+ * @see org.apache.marmotta.commons.sesame.test.sparql.SparqlGraphQueryMatcher
+ */
public static <T extends String, V extends RepositoryConnection> Matcher<T> sparqlGraphQueryRdf(RDFFormat format, String baseUri, String queryBaseUri, String sparqlQuery, Matcher<V> matcher) {
return RdfStringMatcher.wrap(format, baseUri, sparqlGraphQuery(queryBaseUri, sparqlQuery, matcher));
}
+ /**
+ * Create a {@link org.apache.marmotta.commons.sesame.test.base.RdfStringMatcher} that matches the given
+ * {@link org.apache.marmotta.commons.sesame.test.base.AbstractRepositoryConnectionMatcher}s against the result of
+ * the given SPARQL CONSTRUCT query on a Repository.
+ *
+ * @param baseUri The base URI to resolve any relative URIs that are in the query against, can be null if the query does not contain any relative URIs.
+ * @param sparqlQuery A SPARQL CONSTRUCT query
+ * @param matchers the RepositoryMatchers to match
+ * @see org.apache.marmotta.commons.sesame.test.sparql.SparqlGraphQueryMatcher
+ */
@SafeVarargs
public static <T extends String, V extends RepositoryConnection> Matcher<T> sparqlGraphQueryRdf(RDFFormat format, String baseUri, String queryBaseUri, String sparqlQuery, Matcher<V>... matchers) {
return RdfStringMatcher.wrap(format, baseUri, sparqlGraphQuery(queryBaseUri, sparqlQuery, matchers));
}
+ /**
+ * Wrap a {@link org.apache.marmotta.commons.sesame.test.base.AbstractRepositoryConnectionMatcher} with a {@link org.apache.marmotta.commons.sesame.test.base.RepositoryMatcher}.
+ *
+ * @param matcher the Matcher to wrap
+ * @see org.apache.marmotta.commons.sesame.test.base.RepositoryMatcher#wrap(org.hamcrest.Matcher)
+ */
public static <T extends Repository, V extends RepositoryConnection> Matcher<T> repositoryMatches(Matcher<V> matcher) {
return RepositoryMatcher.wrap(matcher);
}
+ /**
+ * Wrap the {@link org.apache.marmotta.commons.sesame.test.base.AbstractRepositoryConnectionMatcher} with a {@link org.apache.marmotta.commons.sesame.test.base.RepositoryMatcher}.
+ *
+ * @param matcher1 the Matcher to wrap
+ * @param matcher2 the Matcher to wrap
+ * @see org.apache.marmotta.commons.sesame.test.base.RepositoryMatcher#wrap(org.hamcrest.Matcher)
+ */
public static <T extends Repository, V extends RepositoryConnection> Matcher<T> repositoryMatches(Matcher<V> matcher1, Matcher<V> matcher2) {
return RepositoryMatcher.wrap(CoreMatchers.allOf(matcher1, matcher2));
}
+ /**
+ * Wrap the {@link org.apache.marmotta.commons.sesame.test.base.AbstractRepositoryConnectionMatcher} with a {@link org.apache.marmotta.commons.sesame.test.base.RepositoryMatcher}.
+ *
+ * @param matchers the Matchers to wrap
+ * @see org.apache.marmotta.commons.sesame.test.base.RepositoryMatcher#wrap(org.hamcrest.Matcher)
+ */
@SafeVarargs
public static <T extends Repository, V extends RepositoryConnection> Matcher<T> repositoryMatches(Matcher<V>... matchers) {
return RepositoryMatcher.wrap(CoreMatchers.allOf(matchers));
}
+ /**
+ * Wrap a {@link org.apache.marmotta.commons.sesame.test.base.AbstractRepositoryConnectionMatcher} with a {@link org.apache.marmotta.commons.sesame.test.base.RdfStringMatcher},
+ * to match the provided matcher against an serialized RDF-String.
+ *
+ * @param format the RDFFormat used for de-serializing the RDF
+ * @param baseUri the baseUri used for de-serializing the RDF
+ * @param matcher the Matcher to wrap
+ * @see org.apache.marmotta.commons.sesame.test.base.RdfStringMatcher#wrap(org.openrdf.rio.RDFFormat, String, org.hamcrest.Matcher)
+ */
public static <T extends String, V extends RepositoryConnection> Matcher<T> rdfStringMatches(RDFFormat format, String baseUri, Matcher<V> matcher) {
- return RdfStringMatcher.wrap(format, baseUri, matcher);
+ return RdfStringMatcher.wrap(format, baseUri, matcher);
}
+ /**
+ * Wrap a {@link org.apache.marmotta.commons.sesame.test.base.AbstractRepositoryConnectionMatcher} with a {@link org.apache.marmotta.commons.sesame.test.base.RdfStringMatcher},
+ * to match the provided matcher against an serialized RDF-String.
+ *
+ * @param format the RDFFormat used for de-serializing the RDF
+ * @param baseUri the baseUri used for de-serializing the RDF
+ * @param matcher1 the Matcher to wrap
+ * @param matcher2 the Matcher to wrap
+ * @see org.apache.marmotta.commons.sesame.test.base.RdfStringMatcher#wrap(org.openrdf.rio.RDFFormat, String, org.hamcrest.Matcher)
+ */
public static <T extends String, V extends RepositoryConnection> Matcher<T> rdfStringMatches(RDFFormat format, String baseUri, Matcher<V> matcher1, Matcher<V> matcher2) {
- return RdfStringMatcher.wrap(format, baseUri, CoreMatchers.allOf(matcher1, matcher2));
+ return RdfStringMatcher.wrap(format, baseUri, CoreMatchers.allOf(matcher1, matcher2));
}
+ /**
+ * Wrap a {@link org.apache.marmotta.commons.sesame.test.base.AbstractRepositoryConnectionMatcher} with a {@link org.apache.marmotta.commons.sesame.test.base.RdfStringMatcher},
+ * to match the provided matcher against an serialized RDF-String.
+ *
+ * @param format the RDFFormat used for de-serializing the RDF
+ * @param baseUri the baseUri used for de-serializing the RDF
+ * @param matchers the Matchers to wrap
+ * @see org.apache.marmotta.commons.sesame.test.base.RdfStringMatcher#wrap(org.openrdf.rio.RDFFormat, String, org.hamcrest.Matcher)
+ */
@SafeVarargs
public static <T extends String, V extends RepositoryConnection> Matcher<T> rdfStringMatches(RDFFormat format, String baseUri, Matcher<V>... matchers) {
- return RdfStringMatcher.wrap(format, baseUri, CoreMatchers.allOf(matchers));
+ return RdfStringMatcher.wrap(format, baseUri, CoreMatchers.allOf(matchers));
}
+ /**
+ * Wrap a {@link org.apache.marmotta.commons.sesame.test.base.AbstractRepositoryConnectionMatcher} with a {@link org.apache.marmotta.commons.sesame.test.base.RdfStringMatcher},
+ * to match the provided matcher against an serialized RDF-String.
+ *
+ * @param mimeType the MimeType used to guess the RDFFormat for de-serializing the RDF
+ * @param baseUri the baseUri used for de-serializing the RDF
+ * @param matcher the Matcher to wrap
+ * @see Rio#getParserFormatForMIMEType(String)
+ * @see org.apache.marmotta.commons.sesame.test.base.RdfStringMatcher#wrap(org.openrdf.rio.RDFFormat, String, org.hamcrest.Matcher)
+ */
public static <T extends String, V extends RepositoryConnection> Matcher<T> rdfStringMatches(String mimeType, String baseUri, Matcher<V> matcher) {
final RDFFormat format = Rio.getParserFormatForMIMEType(mimeType);
if (format == null) throw new UnsupportedRDFormatException(mimeType);
- return RdfStringMatcher.wrap(format, baseUri, matcher);
+ return RdfStringMatcher.wrap(format, baseUri, matcher);
}
+ /**
+ * Wrap a {@link org.apache.marmotta.commons.sesame.test.base.AbstractRepositoryConnectionMatcher} with a {@link org.apache.marmotta.commons.sesame.test.base.RdfStringMatcher},
+ * to match the provided matcher against an serialized RDF-String.
+ *
+ * @param mimeType the MimeType used to guess the RDFFormat for de-serializing the RDF
+ * @param baseUri the baseUri used for de-serializing the RDF
+ * @param matcher1 the Matcher to wrap
+ * @param matcher2 the Matcher to wrap
+ * @see Rio#getParserFormatForMIMEType(String)
+ * @see org.apache.marmotta.commons.sesame.test.base.RdfStringMatcher#wrap(org.openrdf.rio.RDFFormat, String, org.hamcrest.Matcher)
+ */
public static <T extends String, V extends RepositoryConnection> Matcher<T> rdfStringMatches(String mimeType, String baseUri, Matcher<V> matcher1, Matcher<V> matcher2) {
final RDFFormat format = Rio.getParserFormatForMIMEType(mimeType);
if (format == null) throw new UnsupportedRDFormatException(mimeType);
- return RdfStringMatcher.wrap(format, baseUri, CoreMatchers.allOf(matcher1, matcher2));
+ return RdfStringMatcher.wrap(format, baseUri, CoreMatchers.allOf(matcher1, matcher2));
}
+ /**
+ * Wrap a {@link org.apache.marmotta.commons.sesame.test.base.AbstractRepositoryConnectionMatcher} with a {@link org.apache.marmotta.commons.sesame.test.base.RdfStringMatcher},
+ * to match the provided matcher against an serialized RDF-String.
+ *
+ * @param mimeType the MimeType used to guess the RDFFormat for de-serializing the RDF
+ * @param baseUri the baseUri used for de-serializing the RDF
+ * @param matchers the Matchers to wrap
+ * @see Rio#getParserFormatForMIMEType(String)
+ * @see org.apache.marmotta.commons.sesame.test.base.RdfStringMatcher#wrap(org.openrdf.rio.RDFFormat, String, org.hamcrest.Matcher)
+ */
@SafeVarargs
public static <T extends String, V extends RepositoryConnection> Matcher<T> rdfStringMatches(String mimeType, String baseUri, Matcher<V>... matchers) {
final RDFFormat format = Rio.getParserFormatForMIMEType(mimeType);
if (format == null) throw new UnsupportedRDFormatException(mimeType);
- return RdfStringMatcher.wrap(format, baseUri, CoreMatchers.allOf(matchers));
+ return RdfStringMatcher.wrap(format, baseUri, CoreMatchers.allOf(matchers));
}
private SesameMatchers() {
http://git-wip-us.apache.org/repos/asf/marmotta/blob/2ed1887b/commons/marmotta-sesame-tools/marmotta-sesame-matchers/src/main/java/org/apache/marmotta/commons/sesame/test/base/RdfStringMatcher.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-sesame-matchers/src/main/java/org/apache/marmotta/commons/sesame/test/base/RdfStringMatcher.java b/commons/marmotta-sesame-tools/marmotta-sesame-matchers/src/main/java/org/apache/marmotta/commons/sesame/test/base/RdfStringMatcher.java
index 93dde30..2608ff9 100644
--- a/commons/marmotta-sesame-tools/marmotta-sesame-matchers/src/main/java/org/apache/marmotta/commons/sesame/test/base/RdfStringMatcher.java
+++ b/commons/marmotta-sesame-tools/marmotta-sesame-matchers/src/main/java/org/apache/marmotta/commons/sesame/test/base/RdfStringMatcher.java
@@ -28,7 +28,7 @@ import org.openrdf.sail.memory.MemoryStore;
import java.io.StringReader;
/**
- * Match an RDF String (various Formats)
+ * Match against an RDF String (in various Formats)
*/
public class RdfStringMatcher<T extends String> extends SesameMatcher<T> implements Matcher<T> {
@@ -82,6 +82,15 @@ public class RdfStringMatcher<T extends String> extends SesameMatcher<T> impleme
description.appendText(format.getName()).appendText(" String ").appendDescriptionOf(delegate);
}
+ /**
+ * Wrap an instance of an AbstractRepositoryConnectionMatcher to match it against an RDF-String.
+ *
+ * @param format the RDFFormat of the String
+ * @param baseUri the baseUri for de-serializing the String
+ * @param delegate the AbstractRepositoryConnectionMatcher to wrap.
+ *
+ * @see org.apache.marmotta.commons.sesame.test.base.AbstractRepositoryConnectionMatcher
+ */
public static <T extends String> Matcher<T> wrap(RDFFormat format, String baseUri, Matcher<? extends RepositoryConnection> delegate) {
return new RdfStringMatcher<T>(format, baseUri, delegate);
}
http://git-wip-us.apache.org/repos/asf/marmotta/blob/2ed1887b/commons/marmotta-sesame-tools/marmotta-sesame-matchers/src/main/java/org/apache/marmotta/commons/sesame/test/base/RepositoryMatcher.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-sesame-matchers/src/main/java/org/apache/marmotta/commons/sesame/test/base/RepositoryMatcher.java b/commons/marmotta-sesame-tools/marmotta-sesame-matchers/src/main/java/org/apache/marmotta/commons/sesame/test/base/RepositoryMatcher.java
index 306b58b..1da1cd3 100644
--- a/commons/marmotta-sesame-tools/marmotta-sesame-matchers/src/main/java/org/apache/marmotta/commons/sesame/test/base/RepositoryMatcher.java
+++ b/commons/marmotta-sesame-tools/marmotta-sesame-matchers/src/main/java/org/apache/marmotta/commons/sesame/test/base/RepositoryMatcher.java
@@ -68,6 +68,11 @@ public class RepositoryMatcher<T extends Repository> extends SesameMatcher<T> im
delegate.describeMismatch(item, mismatchDescription);
}
+ /**
+ * Wrap an instance of an {@link AbstractRepositoryConnectionMatcher} to match against an Sesame {@link Repository}.
+ *
+ * @param connectionMatcher the {@link AbstractRepositoryConnectionMatcher} to wrap
+ */
public static <T extends Repository> Matcher<T> wrap(Matcher<? extends RepositoryConnection> connectionMatcher) {
return new RepositoryMatcher<T>(connectionMatcher);
}
http://git-wip-us.apache.org/repos/asf/marmotta/blob/2ed1887b/commons/marmotta-sesame-tools/marmotta-sesame-matchers/src/main/java/org/apache/marmotta/commons/sesame/test/sparql/SparqlAskMatcher.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-sesame-matchers/src/main/java/org/apache/marmotta/commons/sesame/test/sparql/SparqlAskMatcher.java b/commons/marmotta-sesame-tools/marmotta-sesame-matchers/src/main/java/org/apache/marmotta/commons/sesame/test/sparql/SparqlAskMatcher.java
index 0da7f4f..e99f338 100644
--- a/commons/marmotta-sesame-tools/marmotta-sesame-matchers/src/main/java/org/apache/marmotta/commons/sesame/test/sparql/SparqlAskMatcher.java
+++ b/commons/marmotta-sesame-tools/marmotta-sesame-matchers/src/main/java/org/apache/marmotta/commons/sesame/test/sparql/SparqlAskMatcher.java
@@ -46,10 +46,28 @@ public class SparqlAskMatcher<T extends RepositoryConnection> extends SparqlMatc
description.appendText("Query ").appendValue(query).appendText(" to match");
}
+ /**
+ * Create a SparqlAskMatcher that evaluates a SPARQL ASK query against the {@link org.openrdf.repository.RepositoryConnection}
+ * to test.
+ *
+ * @param baseUri The base URI to resolve any relative URIs that are in the query against, can be null if the query does not contain any relative URIs.
+ * @param askQuery the SPARQL ASK query.
+ *
+ * @see org.openrdf.query.BooleanQuery#evaluate()
+ */
public static <T extends RepositoryConnection> Matcher<T> sparqlAsk(String baseUri, String askQuery) {
return new SparqlAskMatcher<T>(baseUri, askQuery);
}
+ /**
+ * Create a SparqlAskMatcher that evaluates a SPARQL ASK query against the {@link org.openrdf.repository.RepositoryConnection}
+ * to test. The baseUri of the SPARQL Query is assumed {@code null}.
+ *
+ * @param askQuery the SPARQL ASK query.
+ *
+ * @see #sparqlAsk(String, String)
+ * @see org.openrdf.query.BooleanQuery#evaluate()
+ */
public static <T extends RepositoryConnection> Matcher<T> sparqlAsk(String askQuery) {
return sparqlAsk(null, askQuery);
}
http://git-wip-us.apache.org/repos/asf/marmotta/blob/2ed1887b/commons/marmotta-sesame-tools/marmotta-sesame-matchers/src/main/java/org/apache/marmotta/commons/sesame/test/sparql/SparqlGraphQueryMatcher.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-sesame-matchers/src/main/java/org/apache/marmotta/commons/sesame/test/sparql/SparqlGraphQueryMatcher.java b/commons/marmotta-sesame-tools/marmotta-sesame-matchers/src/main/java/org/apache/marmotta/commons/sesame/test/sparql/SparqlGraphQueryMatcher.java
index cc356e5..e92309d 100644
--- a/commons/marmotta-sesame-tools/marmotta-sesame-matchers/src/main/java/org/apache/marmotta/commons/sesame/test/sparql/SparqlGraphQueryMatcher.java
+++ b/commons/marmotta-sesame-tools/marmotta-sesame-matchers/src/main/java/org/apache/marmotta/commons/sesame/test/sparql/SparqlGraphQueryMatcher.java
@@ -27,14 +27,16 @@ import org.openrdf.repository.sail.SailRepository;
import org.openrdf.sail.memory.MemoryStore;
/**
- *
+ * Match an {@link org.apache.marmotta.commons.sesame.test.base.AbstractRepositoryConnectionMatcher} against the result
+ * of an SPARQL CONSTRUCT query.
*/
public class SparqlGraphQueryMatcher<T extends RepositoryConnection> extends SparqlMatcher<T> {
- private final Matcher<? extends RepositoryConnection> matcher;
+ private final Matcher<? extends RepositoryConnection>[] matchers;
- protected SparqlGraphQueryMatcher(String baseUri, String query, Matcher<? extends RepositoryConnection> matcher) {
+ @SafeVarargs
+ protected SparqlGraphQueryMatcher(String baseUri, String query, Matcher<? extends RepositoryConnection>... matchers) {
super(baseUri, query);
- this.matcher = matcher;
+ this.matchers = matchers;
}
@Override
@@ -55,9 +57,12 @@ public class SparqlGraphQueryMatcher<T extends RepositoryConnection> extends Spa
}
connection2.commit();
- connection2.begin();
- final boolean result = matcher.matches(connection2);
- connection2.commit();
+ boolean result = true;
+ for (Matcher<? extends RepositoryConnection> matcher: matchers) {
+ connection2.begin();
+ result &= matcher.matches(connection2);
+ connection2.commit();
+ }
return result;
} finally {
connection2.close();
@@ -69,10 +74,38 @@ public class SparqlGraphQueryMatcher<T extends RepositoryConnection> extends Spa
@Override
public void describeTo(Description description) {
- description.appendText(" Graph ").appendValue(query).appendText(" ").appendDescriptionOf(matcher);
+ description.appendText(" Graph ").appendValue(query).appendText(" ");
+ if (matchers.length == 1) {
+ description.appendDescriptionOf(matchers[0]);
+ } else {
+ for (Matcher<? extends RepositoryConnection> matcher : matchers) {
+ description.appendText("\n ").appendDescriptionOf(matcher);
+ }
+ }
}
+ /**
+ * Create a {@link org.apache.marmotta.commons.sesame.test.sparql.SparqlGraphQueryMatcher} that matches the given
+ * {@link org.apache.marmotta.commons.sesame.test.base.AbstractRepositoryConnectionMatcher} against the result of
+ * the given SPARQL CONSTRUCT query.
+ * @param baseUri The base URI to resolve any relative URIs that are in the query against, can be null if the query does not contain any relative URIs.
+ * @param query A SPARQL CONSTRUCT query
+ * @param matcher the AbstractRepositoryConnectionMatcher to match
+ */
public static <T extends RepositoryConnection> Matcher<T> sparqlGraphQuery(String baseUri, String query, Matcher<? extends RepositoryConnection> matcher) {
return new SparqlGraphQueryMatcher<T>(baseUri, query, matcher);
}
+
+ /**
+ * Create a {@link org.apache.marmotta.commons.sesame.test.sparql.SparqlGraphQueryMatcher} that matches the given
+ * {@link org.apache.marmotta.commons.sesame.test.base.AbstractRepositoryConnectionMatcher} against the result of
+ * the given SPARQL CONSTRUCT query.
+ * @param baseUri The base URI to resolve any relative URIs that are in the query against, can be null if the query does not contain any relative URIs.
+ * @param query A SPARQL CONSTRUCT query
+ * @param matchers the AbstractRepositoryConnectionMatcher to match
+ */
+ @SafeVarargs
+ public static <T extends RepositoryConnection> Matcher<T> sparqlGraphQuery(String baseUri, String query, Matcher<? extends RepositoryConnection>... matchers) {
+ return new SparqlGraphQueryMatcher<T>(baseUri, query, matchers);
+ }
}