/******************************************************************************************************************* * * ******************************************************************************************************************/ @Nonnull public static Optional<Value> literalForLong (final Optional<Long> optionalLong) { return optionalLong.map(l -> literalFor(l)); }
/******************************************************************************************************************* * * FIXME: DUPLICATED FROM EmbbededAudioMetadataImporter * ******************************************************************************************************************/ @Nonnull private static IRI recordIriOf (final @Nonnull Metadata metadata, final @Nonnull String recordTitle) { final Optional<Cddb> cddb = metadata.get(CDDB); return BMMO.recordIriFor((cddb.isPresent()) ? createSha1IdNew(cddb.get().getToc()) : createSha1IdNew("RECORD:" + recordTitle)); }
/******************************************************************************************************************* * * ******************************************************************************************************************/ @Nonnull public static <T, X extends RuntimeException> Stream<T> streamOf (final @Nonnull Iteration<T, X> iteration) { return stream(spliteratorUnknownSize(iteratorOf(iteration), 0), false); }
.with(recordIri, BMMO.P_DISK_COUNT, literalForInt(diskCount)) .with(recordIri, BMMO.P_DISK_NUMBER, literalForInt(diskNumber)) .with(trackIri, RDFS.LABEL, literalFor(trackTitle)) .with(trackIri, DC.TITLE, literalFor(trackTitle)) .with(trackIri, BMMO.P_IMPORTED_FROM, BMMO.O_SOURCE_MUSICBRAINZ) .with(trackIri, MO.P_TRACK_NUMBER, literalFor(trackNumber)) .with(trackIri, MO.P_MUSICBRAINZ_GUID, literalFor(track.getId())) .with(trackIri, MO.P_MUSICBRAINZ, musicBrainzIriFor("track", track.getId()))
/******************************************************************************************************************* * * * ******************************************************************************************************************/ private void verifyGlobalModel (final @Nonnull Model model, final @Nonnull String testSetName) throws RDFHandlerException, IOException { final String name = "musicbrainz-" + testSetName + ".n3"; final Path actualFile = TEST_RESULTS.resolve(name); final Path expectedFile = Paths.get("target/test-classes/expected-results").resolve(name); exportToFile(model, actualFile); assertSameContents(expectedFile, actualFile); }
/******************************************************************************************************************* * * ******************************************************************************************************************/ @Nonnull public static IRI uriFor (final @Nonnull Id id) { return uriFor(id.stringValue()); }
@Override @Nonnull public List<E> run() { return streamOf(queryResult) .map(bindingSet -> entityFactory.createEntity(repository, entityClass, bindingSet)) .collect(toList()); } });
exportToFile(model, actualResult); assertSameContents(expectedResult, actualResult); };
/******************************************************************************************************************* * * ******************************************************************************************************************/ @Nonnull public static Optional<Value> literalForFloat (final Optional<Float> optionalFloat) { return optionalFloat.map(f -> literalFor(f)); }
/******************************************************************************************************************* * * ******************************************************************************************************************/ @Nonnull private IRI signalIriFor (final @Nonnull Cddb cddb, final @Nonnegative int trackNumber) { return BMMO.signalIriFor(createSha1IdNew(cddb.getToc() + "/" + trackNumber)); }
/******************************************************************************************************************* * * ******************************************************************************************************************/ @Nonnull public static Optional<Value> literalFor (final Optional<String> optionalString) { return optionalString.map(s -> literalFor(s)); }
/******************************************************************************************************************* * * * ******************************************************************************************************************/ @Nonnull private static IRI trackIriOf (final @Nonnull String id) { return BMMO.trackIriFor(createSha1IdNew(musicBrainzIriFor("track", id).stringValue())); }
/******************************************************************************************************************* * * ******************************************************************************************************************/ @Nonnull public static Optional<Value> literalForInt (final Optional<Integer> optionalInteger) { return optionalInteger.map(i -> literalFor(i)); }
/******************************************************************************************************************* * * * ******************************************************************************************************************/ @Nonnull private static IRI artistIriOf (final @Nonnull String id) { return BMMO.artistIriFor(createSha1IdNew(musicBrainzIriFor("artist", id).stringValue())); }
@Nonnull private MusicArtist createMockArtist() { final Repository repository = mock(Repository.class); final MapBindingSet bindingSet = new MapBindingSet(); final Id artistId = new Id("urn:bluemarine:artist:john_doe"); bindingSet.addBinding("artist", literalFor(artistId)); bindingSet.addBinding("label", literalFor("John Doe")); bindingSet.addBinding("artist_type", literalFor(1)); return new RepositoryMusicArtist(repository, bindingSet); }
/******************************************************************************************************************* * * * ******************************************************************************************************************/ @Nonnull private static IRI performanceIriFor (final @Nonnull String id) { return BMMO.performanceIriFor(createSha1IdNew(musicBrainzIriFor("performance", id).stringValue())); }
@Nonnull private Record createMockRecord() { final Repository repository = mock(Repository.class); final MapBindingSet bindingSet = new MapBindingSet(); final Id recordId = new Id("urn:bluemarine:record:the_record"); bindingSet.addBinding("record", literalFor(recordId)); bindingSet.addBinding("label", literalFor("The record")); return new RepositoryRecord(repository, bindingSet); }
/*************************************************************************************************************** * **************************************************************************************************************/ @Nonnull public Id computeId() { return createSha1IdNew(getRelease().getId() + "+" + getDisc().getId()); }
.with(recordIri, RDFS.LABEL, literalFor(recordTitle)) .with(recordIri, DC.TITLE, literalFor(recordTitle)) .with(recordIri, BMMO.P_IMPORTED_FROM, BMMO.O_SOURCE_MUSICBRAINZ) .with(recordIri, BMMO.P_ALTERNATE_OF, embeddedRecordIri) .with(recordIri, MO.P_MEDIA_TYPE, MO.C_CD) .with(recordIri, MO.P_TRACK_COUNT, literalFor(tracks.size())) .with(recordIri, MO.P_MUSICBRAINZ_GUID, literalFor(releaseId)) .with(recordIri, MO.P_MUSICBRAINZ, musicBrainzIriFor("release", releaseId)) .with(recordIri, MO.P_AMAZON_ASIN, literalFor(rmd.getAsin())) .with(recordIri, MO.P_GTIN, literalFor(rmd.getBarcode()))
.with(performanceIri, RDF.TYPE, MO.C_PERFORMANCE) .with(performanceIri, BMMO.P_IMPORTED_FROM, BMMO.O_SOURCE_MUSICBRAINZ) .with(performanceIri, MO.P_MUSICBRAINZ_GUID, literalFor(recording.getId())) .with(performanceIri, MO.P_RECORDED_AS, signalIri) .with(artistIri, RDFS.LABEL, literalFor(artist.getName())) .with(artistIri, FOAF.NAME, literalFor(artist.getName())) .with(artistIri, BMMO.P_IMPORTED_FROM, BMMO.O_SOURCE_MUSICBRAINZ) .with(artistIri, MO.P_MUSICBRAINZ_GUID, literalFor(artist.getId())) .with(artistIri, MO.P_MUSICBRAINZ, musicBrainzIriFor("artist", artist.getId()))