Skip to content

Commit dec66c1

Browse files
committed
Merge remote-tracking branch 'origin/issues/#848-lucene-flex'
- Ref #848 Signed-off-by: Jacek Grzebyta <grzebyta.dev@gmail.com>
2 parents 4a7eca7 + bb472e6 commit dec66c1

537 files changed

Lines changed: 4430 additions & 452 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.travis.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ script: mvn verify
55
branches:
66
only:
77
- master
8+
- develop
89
- /^releases.*$/
910
env:
1011
- MAVEN_OPTS=-Xmx1024M

compliance/rio/src/test/java/org/eclipse/rdf4j/rio/rdfjson/RDFJSONParserCustomTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public class RDFJSONParserCustomTest {
2424
public void testSupportedSettings()
2525
throws Exception
2626
{
27-
assertEquals(17, Rio.createParser(RDFFormat.RDFJSON).getSupportedSettings().size());
27+
assertEquals(18, Rio.createParser(RDFFormat.RDFJSON).getSupportedSettings().size());
2828
}
2929

3030
}

compliance/rio/src/test/java/org/eclipse/rdf4j/rio/rdfxml/RDFXMLParserCustomTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,6 @@ public void testParseCommentAtStart()
223223
public void testSupportedSettings()
224224
throws Exception
225225
{
226-
assertEquals(21, Rio.createParser(RDFFormat.RDFXML).getSupportedSettings().size());
226+
assertEquals(22, Rio.createParser(RDFFormat.RDFXML).getSupportedSettings().size());
227227
}
228228
}

compliance/rio/src/test/java/org/eclipse/rdf4j/rio/trig/TriGParserCustomTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ public void testBadPname02()
226226
public void testSupportedSettings()
227227
throws Exception
228228
{
229-
assertEquals(12, Rio.createParser(RDFFormat.TRIG).getSupportedSettings().size());
229+
assertEquals(13, Rio.createParser(RDFFormat.TRIG).getSupportedSettings().size());
230230
}
231231

232232
}

compliance/rio/src/test/java/org/eclipse/rdf4j/rio/turtle/CustomTurtleParserTest.java

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,25 @@
77
*******************************************************************************/
88
package org.eclipse.rdf4j.rio.turtle;
99

10-
import static org.junit.Assert.*;
10+
import static org.junit.Assert.assertEquals;
11+
import static org.junit.Assert.assertFalse;
12+
import static org.junit.Assert.assertTrue;
13+
import static org.junit.Assert.fail;
1114

1215
import java.io.StringReader;
1316
import java.io.StringWriter;
1417
import java.util.Collections;
18+
import java.util.function.Consumer;
1519

1620
import org.eclipse.rdf4j.model.IRI;
1721
import org.eclipse.rdf4j.model.Literal;
1822
import org.eclipse.rdf4j.model.Model;
1923
import org.eclipse.rdf4j.model.Namespace;
24+
import org.eclipse.rdf4j.model.Value;
2025
import org.eclipse.rdf4j.model.ValueFactory;
2126
import org.eclipse.rdf4j.model.impl.LinkedHashModel;
2227
import org.eclipse.rdf4j.model.impl.NamespaceImpl;
28+
import org.eclipse.rdf4j.model.impl.SimpleValueFactory;
2329
import org.eclipse.rdf4j.model.impl.ValueFactoryImpl;
2430
import org.eclipse.rdf4j.model.util.Models;
2531
import org.eclipse.rdf4j.model.vocabulary.RDF;
@@ -206,7 +212,7 @@ public void testLiteralWithNewlines()
206212
public void testSupportedSettings()
207213
throws Exception
208214
{
209-
assertEquals(12, parser.getSupportedSettings().size());
215+
assertEquals(13, parser.getSupportedSettings().size());
210216
}
211217

212218
@Test
@@ -507,4 +513,24 @@ public void testParsingNamespacesWithOverride()
507513
assertTrue(model.contains(vf.createIRI("urn:a"), vf.createIRI("urn:not_skos:broader"),
508514
vf.createIRI("urn:b")));
509515
}
516+
517+
@Test
518+
public void test780IRISpace()
519+
throws Exception
520+
{
521+
String ttl = "_:b25978837 a <http://purl.bioontology.org/ontology/UATC/\\u0020SERINE\\u0020\\u0020> .";
522+
try {
523+
Rio.parse(new StringReader(ttl), "", RDFFormat.TURTLE);
524+
fail();
525+
}
526+
catch (RDFParseException e) {
527+
// Invalid IRI
528+
}
529+
Model model = Rio.parse(new StringReader(ttl), "", RDFFormat.TURTLE,
530+
new ParserConfig().set(BasicParserSettings.VERIFY_URI_SYNTAX, false),
531+
SimpleValueFactory.getInstance(), new ParseErrorLogger());
532+
assertEquals(1, model.size());
533+
model.filter(null, RDF.TYPE, null).objects().forEach(obj -> assertEquals(
534+
"http://purl.bioontology.org/ontology/UATC/%20SERINE%20%20", obj.stringValue()));
535+
}
510536
}

compliance/rio/src/test/java/org/eclipse/rdf4j/rio/turtle/TurtleParserTest.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,10 @@
77
*******************************************************************************/
88
package org.eclipse.rdf4j.rio.turtle;
99

10-
import junit.framework.Test;
11-
1210
import org.eclipse.rdf4j.rio.RDFParser;
13-
import org.eclipse.rdf4j.rio.helpers.TurtleParserSettings;
1411
import org.eclipse.rdf4j.rio.ntriples.NTriplesParser;
15-
import org.eclipse.rdf4j.rio.turtle.TurtleParser;
16-
import org.eclipse.rdf4j.rio.turtle.TurtleParserTestCase;
12+
13+
import junit.framework.Test;
1714

1815
/**
1916
* JUnit test for the Turtle parser that uses the tests that are available

compliance/store/src/test/java/org/eclipse/rdf4j/repository/sparql/SPARQLServiceEvaluationTest.java

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,21 @@
2626
import org.eclipse.rdf4j.query.QueryLanguage;
2727
import org.eclipse.rdf4j.query.TupleQuery;
2828
import org.eclipse.rdf4j.query.TupleQueryResult;
29+
import org.eclipse.rdf4j.query.algebra.evaluation.EvaluationStrategy;
30+
import org.eclipse.rdf4j.query.algebra.evaluation.federation.FederatedServiceResolverImpl;
31+
import org.eclipse.rdf4j.query.algebra.evaluation.impl.StrictEvaluationStrategyFactory;
2932
import org.eclipse.rdf4j.repository.Repository;
3033
import org.eclipse.rdf4j.repository.RepositoryConnection;
3134
import org.eclipse.rdf4j.repository.RepositoryException;
3235
import org.eclipse.rdf4j.repository.http.HTTPMemServer;
3336
import org.eclipse.rdf4j.repository.http.HTTPRepository;
3437
import org.eclipse.rdf4j.repository.sail.SailRepository;
35-
import org.eclipse.rdf4j.rio.RDFFormat;
3638
import org.eclipse.rdf4j.rio.RDFParseException;
3739
import org.eclipse.rdf4j.rio.Rio;
40+
import org.eclipse.rdf4j.sail.Sail;
3841
import org.eclipse.rdf4j.sail.memory.MemoryStore;
42+
import org.eclipse.rdf4j.sail.memory.config.MemoryStoreConfig;
43+
import org.eclipse.rdf4j.sail.memory.config.MemoryStoreFactory;
3944
import org.junit.After;
4045
import org.junit.AfterClass;
4146
import org.junit.Before;
@@ -100,6 +105,12 @@ public void setUp()
100105
localRepository = new SailRepository(new MemoryStore());
101106
localRepository.initialize();
102107

108+
prepareLocalRepository();
109+
}
110+
111+
private void prepareLocalRepository()
112+
throws IOException
113+
{
103114
loadDataSet(localRepository, "/testdata-query/defaultgraph.ttl");
104115

105116
f = localRepository.getValueFactory();
@@ -199,4 +210,23 @@ else if (alice.equals(x)) {
199210
conn.close();
200211
}
201212
}
213+
214+
/**
215+
* The provided FederatedServiceResolver should finds it way to the {@link EvaluationStrategy}
216+
*/
217+
@Test
218+
public void testRepositoryConfigurationSetup()
219+
throws Exception
220+
{
221+
tearDown();
222+
MemoryStoreFactory factory = new MemoryStoreFactory();
223+
MemoryStoreConfig config = new MemoryStoreConfig();
224+
config.setEvaluationStrategyFactoryClassName(StrictEvaluationStrategyFactory.class.getName());
225+
Sail sail = factory.getSail(config);
226+
localRepository = new SailRepository(sail);
227+
localRepository.setFederatedServiceResolver(new FederatedServiceResolverImpl());
228+
localRepository.initialize();
229+
prepareLocalRepository();
230+
testSimpleServiceQuery();
231+
}
202232
}

core/config/pom.xml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,12 @@
3232
<scope>test</scope>
3333
</dependency>
3434
</dependencies>
35-
35+
<build>
36+
<plugins>
37+
<plugin>
38+
<groupId>org.codehaus.mojo</groupId>
39+
<artifactId>buildnumber-maven-plugin</artifactId>
40+
</plugin>
41+
</plugins>
42+
</build>
3643
</project>

core/config/src/main/java/org/eclipse/rdf4j/RDF4J.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,18 @@
1414
*/
1515
public class RDF4J {
1616

17-
private static final String VERSION = MavenUtil.loadVersion("org.eclipse.rdf4j", "rdf4j-config", "dev");
17+
private static final String VERSION = loadVersion();
1818

1919
public final static String getVersion() {
2020
return VERSION;
2121
}
22+
23+
private static String loadVersion() {
24+
String impl = RDF4J.class.getPackage().getImplementationVersion();
25+
if (impl == null) {
26+
return MavenUtil.loadVersion("org.eclipse.rdf4j", "rdf4j-config", "dev");
27+
} else {
28+
return impl;
29+
}
30+
}
2231
}

core/config/src/main/java/org/eclipse/rdf4j/common/app/AppVersion.java

Lines changed: 40 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,11 @@ public class AppVersion implements Comparable<AppVersion> {
4343
*/
4444
private String modifier;
4545

46+
/**
47+
* The version's build, if any.
48+
*/
49+
private String build;
50+
4651
/**
4752
* Construct an uninitialized AppVersion.
4853
*/
@@ -83,11 +88,16 @@ public AppVersion(int major, int minor, int patch, String modifier) {
8388
* <tt>1.0.1M1-SNAPSHOT</tt>.
8489
*/
8590
public AppVersion(int major, int minor, int patch, int milestone, String modifier) {
91+
this(major, minor, patch, milestone, modifier, null);
92+
}
93+
94+
public AppVersion(int major, int minor, int patch, int milestone, String modifier, String build) {
8695
this.major = major;
8796
this.minor = minor;
8897
this.patch = patch;
8998
this.milestone = milestone;
9099
this.modifier = modifier;
100+
this.build = build;
91101
}
92102

93103
/**
@@ -264,6 +274,7 @@ public static AppVersion parse(String versionString) {
264274
int patchSeparator = versionString.indexOf('.', minorSeparator + 1);
265275
int milestoneSeparator = versionString.indexOf('M', Math.max(minorSeparator, patchSeparator));
266276
int modifierSeparator = versionString.indexOf('-', Math.max(minorSeparator, milestoneSeparator));
277+
int buildSeparator = versionString.indexOf('+', Math.max(Math.max(minorSeparator, milestoneSeparator), modifierSeparator));
267278

268279
if (minorSeparator == -1) {
269280
throw new NumberFormatException("Illegal version string: " + versionString);
@@ -272,21 +283,35 @@ public static AppVersion parse(String versionString) {
272283
final boolean hasPatch = patchSeparator > -1;
273284
final boolean hasMilestone = milestoneSeparator > -1;
274285
final boolean hasModifier = modifierSeparator > -1;
286+
final boolean hasBuild = buildSeparator > -1;
275287

276288
String major = versionString.substring(0, minorSeparator);
277289
String minor = null;
278290
String patch = null;
279291
String milestone = null;
280292
String modifier = null;
293+
String build = null;
294+
295+
if (hasBuild) {
296+
build = versionString.substring(buildSeparator + 1);
297+
}
281298

282299
if (hasModifier) {
283-
modifier = versionString.substring(modifierSeparator + 1);
300+
if (hasBuild) {
301+
modifier = versionString.substring(modifierSeparator + 1, buildSeparator);
302+
}
303+
else {
304+
modifier = versionString.substring(modifierSeparator + 1);
305+
}
284306
}
285307

286308
if (hasMilestone) {
287309
if (hasModifier) {
288310
milestone = versionString.substring(milestoneSeparator + 1, modifierSeparator);
289311
}
312+
else if (hasBuild) {
313+
milestone = versionString.substring(milestoneSeparator + 1, buildSeparator);
314+
}
290315
else {
291316
milestone = versionString.substring(milestoneSeparator + 1);
292317
}
@@ -300,6 +325,9 @@ public static AppVersion parse(String versionString) {
300325
else if (hasModifier) {
301326
patch = versionString.substring(patchSeparator + 1, modifierSeparator);
302327
}
328+
else if (hasBuild) {
329+
patch = versionString.substring(patchSeparator + 1, buildSeparator);
330+
}
303331
else {
304332
patch = versionString.substring(patchSeparator + 1);
305333
}
@@ -312,6 +340,9 @@ else if (hasModifier) {
312340
else if (hasModifier) {
313341
minor = versionString.substring(minorSeparator + 1, modifierSeparator);
314342
}
343+
else if (hasBuild) {
344+
minor = versionString.substring(minorSeparator + 1, buildSeparator);
345+
}
315346
else {
316347
minor = versionString.substring(minorSeparator + 1);
317348
}
@@ -322,7 +353,7 @@ else if (hasModifier) {
322353
int minorInt = Integer.parseInt(minor);
323354
int patchInt = patch == null ? -1 : Integer.parseInt(patch);
324355
int milestoneInt = milestone == null ? -1 : Integer.parseInt(milestone);
325-
return new AppVersion(majorInt, minorInt, patchInt, milestoneInt, modifier);
356+
return new AppVersion(majorInt, minorInt, patchInt, milestoneInt, modifier, build);
326357
}
327358

328359
/**
@@ -351,6 +382,13 @@ public String toString() {
351382
sb.append(modifier);
352383
}
353384

385+
if (build != null) {
386+
if (sb.length() > 0) {
387+
sb.append('+');
388+
}
389+
sb.append(build);
390+
}
391+
354392
return sb.toString();
355393
}
356394
}

0 commit comments

Comments
 (0)