@SuppressWarnings( "unchecked" ) @Override public R build() { final R recipe = (R) new MetadataExtractionRequest(); configure( recipe ); return recipe; }
@Override public MetadataResult getMetadata( final MetadataExtractionRequest recipe ) throws CartoDataException, CartoRequestException { final MetadataResult result = new MetadataResult(); final Set<String> keys = recipe.getKeys(); final ProjectProjector<Map<String, String>> extractor = ( ref, graph ) -> keys == null || keys.isEmpty() ? graph.getMetadata( ref ) : graph.getMetadata( ref, keys ); final ProjectCollector<Map<String, String>> consumer = ( ref, metadata ) -> result.addProject( new MetadataEntry( ref, metadata ) ); resolver.resolveAndExtractSingleGraph( AnyFilter.INSTANCE, recipe, new MatchingProjectFunction<>( recipe, extractor, consumer ) ); return result; }
@Override public MetadataResult getMetadata( final MetadataExtractionRequest recipe ) throws CartoDataException, CartoRequestException { final MetadataResult result = new MetadataResult(); final Set<String> keys = recipe.getKeys(); final ProjectProjector<Map<String, String>> extractor = ( ref, graph ) -> keys == null || keys.isEmpty() ? graph.getMetadata( ref ) : graph.getMetadata( ref, keys ); final ProjectCollector<Map<String, String>> consumer = ( ref, metadata ) -> result.addProject( new MetadataEntry( ref, metadata ) ); resolver.resolveAndExtractSingleGraph( AnyFilter.INSTANCE, recipe, new MatchingProjectFunction<>( recipe, extractor, consumer ) ); return result; }
@SuppressWarnings( "unchecked" ) @Override public R build() { final R recipe = (R) new MetadataExtractionRequest(); configure( recipe ); return recipe; }