Search in sources :

Example 36 with DataSet

use of nl.knaw.huygens.timbuctoo.v5.dataset.dto.DataSet in project timbuctoo by HuygensING.

the class RsDocumentBuilder method getSourceDescription.

/**
 * Get the source description document. If <code>user</code> == <code>null</code> the source description will
 * only have links to capability lists of published dataSets. Otherwise the source description will have
 * links to capability lists of published dataSets and the dataSets for which the user has read access.
 *
 * @param user User that requests the document, may be <code>null</code>
 * @return the source description document.
 */
public Urlset getSourceDescription(@Nullable User user) {
    RsMd rsMd = new RsMd(Capability.DESCRIPTION.xmlValue);
    Urlset sourceDescription = new Urlset(rsMd);
    for (DataSet dataSet : dataSetRepository.getDataSetsWithReadAccess(user)) {
        DataSetMetaData dataSetMetaData = dataSet.getMetadata();
        String loc = rsUriHelper.uriForRsDocument(dataSetMetaData, Capability.CAPABILITYLIST);
        String descriptionUrl = rsUriHelper.uriForRsDocument(dataSetMetaData, DESCRIPTION_FILENAME);
        UrlItem item = new UrlItem(loc).withMetadata(new RsMd(Capability.CAPABILITYLIST.xmlValue)).addLink(new RsLn(REL_DESCRIBED_BY, descriptionUrl).withType(DESCRIPTION_TYPE));
        sourceDescription.addItem(item);
    }
    return sourceDescription;
}
Also used : DataSet(nl.knaw.huygens.timbuctoo.v5.dataset.dto.DataSet) RsLn(nl.knaw.huygens.timbuctoo.remote.rs.xml.RsLn) Urlset(nl.knaw.huygens.timbuctoo.remote.rs.xml.Urlset) DataSetMetaData(nl.knaw.huygens.timbuctoo.v5.dataset.dto.DataSetMetaData) UrlItem(nl.knaw.huygens.timbuctoo.remote.rs.xml.UrlItem) RsMd(nl.knaw.huygens.timbuctoo.remote.rs.xml.RsMd)

Example 37 with DataSet

use of nl.knaw.huygens.timbuctoo.v5.dataset.dto.DataSet in project timbuctoo by HuygensING.

the class RsDocumentBuilder method getResourceList.

/**
 * Get the resource list for the dataSet denoted by <code>ownerId</code> and <code>dataSetId</code>.
 * The {@link Optional} is empty if the dataSet is not published and the given <code>user</code> == <code>null</code>
 * or has no read access for the dataSet or the dataSet does not exist.
 *
 * @param user User that requests the list, may be <code>null</code>
 * @param ownerId ownerId
 * @param dataSetId dataSetId
 * @return the resource list for the dataSet denoted by <code>ownerId</code> and <code>dataSetId</code>
 */
public Optional<Urlset> getResourceList(@Nullable User user, String ownerId, String dataSetId) throws IOException {
    Urlset resourceList = null;
    Optional<DataSet> maybeDataSet = dataSetRepository.getDataSet(user, ownerId, dataSetId);
    if (maybeDataSet.isPresent()) {
        DataSetMetaData dataSetMetaData = maybeDataSet.get().getMetadata();
        LogList loglist = maybeDataSet.get().getImportManager().getLogList();
        RsMd rsMd = new RsMd(Capability.RESOURCELIST.xmlValue).withAt(// lastImportDate set on server startup?
        ZonedDateTime.parse(loglist.getLastImportDate()));
        resourceList = new Urlset(rsMd).addLink(new RsLn(REL_UP, rsUriHelper.uriForRsDocument(dataSetMetaData, Capability.CAPABILITYLIST)));
        FileStorage fileStorage = maybeDataSet.get().getFileStorage();
        List<LogEntry> entries = loglist.getEntries();
        entries.sort((e1, e2) -> {
            if (e1.getImportStatus().isPresent() && e2.getImportStatus().isPresent()) {
                return e1.getImportStatus().get().getDate().compareTo(e2.getImportStatus().get().getDate());
            } else if (e1.getImportStatus().isPresent()) {
                return 1;
            } else {
                return -1;
            }
        });
        for (LogEntry logEntry : entries) {
            Optional<String> maybeToken = logEntry.getLogToken();
            if (maybeToken.isPresent()) {
                String loc = rsUriHelper.uriForToken(dataSetMetaData, maybeToken.get());
                Optional<CachedFile> maybeCachedFile = fileStorage.getFile(maybeToken.get());
                if (maybeCachedFile.isPresent()) {
                    UrlItem item = new UrlItem(loc).withMetadata(new RsMd().withType(maybeCachedFile.get().getMimeType().toString()));
                    resourceList.addItem(item);
                }
            }
        }
        rsMd.withCompleted(ZonedDateTime.now(ZoneOffset.UTC));
    }
    return Optional.ofNullable(resourceList);
}
Also used : CachedFile(nl.knaw.huygens.timbuctoo.v5.filestorage.dto.CachedFile) DataSet(nl.knaw.huygens.timbuctoo.v5.dataset.dto.DataSet) RsLn(nl.knaw.huygens.timbuctoo.remote.rs.xml.RsLn) UrlItem(nl.knaw.huygens.timbuctoo.remote.rs.xml.UrlItem) LogList(nl.knaw.huygens.timbuctoo.v5.dataset.dto.LogList) Urlset(nl.knaw.huygens.timbuctoo.remote.rs.xml.Urlset) FileStorage(nl.knaw.huygens.timbuctoo.v5.filestorage.FileStorage) DataSetMetaData(nl.knaw.huygens.timbuctoo.v5.dataset.dto.DataSetMetaData) RsMd(nl.knaw.huygens.timbuctoo.remote.rs.xml.RsMd) LogEntry(nl.knaw.huygens.timbuctoo.v5.dataset.dto.LogEntry)

Example 38 with DataSet

use of nl.knaw.huygens.timbuctoo.v5.dataset.dto.DataSet in project timbuctoo by HuygensING.

the class EntityImageFetcher method get.

@Override
public TypedValue get(DataFetchingEnvironment env) {
    if (env.getSource() instanceof SubjectReference) {
        SubjectReference source = env.getSource();
        DataSet dataSet = source.getDataSet();
        Optional<TypedValue> summaryProperty = summaryPropDataRetriever.createSummaryProperty(source, dataSet);
        if (summaryProperty.isPresent()) {
            return summaryProperty.get();
        }
    }
    return null;
}
Also used : DataSet(nl.knaw.huygens.timbuctoo.v5.dataset.dto.DataSet) SubjectReference(nl.knaw.huygens.timbuctoo.v5.graphql.datafetchers.dto.SubjectReference) TypedValue(nl.knaw.huygens.timbuctoo.v5.graphql.datafetchers.dto.TypedValue)

Example 39 with DataSet

use of nl.knaw.huygens.timbuctoo.v5.dataset.dto.DataSet in project timbuctoo by HuygensING.

the class CollectionMetadataMutation method get.

@Override
public Object get(DataFetchingEnvironment env) {
    DataSet dataSet = MutationHelpers.getDataSet(env, dataSetRepository::getDataSet);
    MutationHelpers.checkAdminPermissions(env, dataSet.getMetadata());
    try {
        String collectionUri = env.getArgument("collectionUri");
        Map data = env.getArgument("metadata");
        final PredicateMutation mutation = new PredicateMutation();
        mutation.entity(collectionUri, getValue(data, "title").map(v -> replace(RDFS_LABEL, value(v))).orElse(null), getValue(data, "archeType").map(v -> replace("http://www.w3.org/2000/01/rdf-schema#subClassOf", subject(v))).orElse(null));
        MutationHelpers.addMutation(dataSet, mutation);
        return new LazyTypeSubjectReference(collectionUri, dataSet);
    } catch (LogStorageFailedException | InterruptedException | ExecutionException e) {
        throw new RuntimeException(e);
    }
}
Also used : PredicateMutation(nl.knaw.huygens.timbuctoo.v5.graphql.mutations.dto.PredicateMutation) DataSet(nl.knaw.huygens.timbuctoo.v5.dataset.dto.DataSet) LazyTypeSubjectReference(nl.knaw.huygens.timbuctoo.v5.graphql.datafetchers.berkeleydb.dto.LazyTypeSubjectReference) LogStorageFailedException(nl.knaw.huygens.timbuctoo.v5.filestorage.exceptions.LogStorageFailedException) ExecutionException(java.util.concurrent.ExecutionException) Map(java.util.Map)

Example 40 with DataSet

use of nl.knaw.huygens.timbuctoo.v5.dataset.dto.DataSet in project timbuctoo by HuygensING.

the class TimbuctooV4 method run.

@Override
public void run(TimbuctooConfiguration configuration, Environment environment) throws Exception {
    // environment.jersey().property(ServerProperties.TRACING, "ALL");
    // // environment.jersey().property(ServerProperties.TRACING_THRESHOLD, "VERBOSE");
    // Make sure we know what version is running
    Properties properties = new Properties();
    InputStream gitproperties = getClass().getClassLoader().getResourceAsStream("git.properties");
    String currentVersion;
    if (gitproperties != null) {
        properties.load(gitproperties);
        currentVersion = properties.getProperty("git.commit.id");
    } else {
        currentVersion = "NO-GIT-PROPERTIES-FOUND";
        LoggerFactory.getLogger(this.getClass()).error("NO-GIT-PROPERTIES-FOUND");
    }
    LoggerFactory.getLogger(this.getClass()).info("Now launching timbuctoo version: " + currentVersion);
    HttpClientBuilder apacheHttpClientBuilder = new HttpClientBuilder(environment).using(configuration.getHttpClientConfiguration());
    CloseableHttpClient httpClient = apacheHttpClientBuilder.build("httpclient");
    // Support services
    SecurityFactory securityConfig = configuration.getSecurityConfiguration().createNewSecurityFactory(httpClient);
    securityConfig.getHealthChecks().forEachRemaining(check -> {
        register(environment, check.getLeft(), new LambdaHealthCheck(check.getRight()));
    });
    // Database migration
    LinkedHashMap<String, DatabaseMigration> migrations = new LinkedHashMap<>();
    migrations.put("fix-dcarkeywords-displayname-migration", new FixDcarKeywordDisplayNameMigration());
    migrations.put("fix-pids-migration", new MakePidsAbsoluteUrls());
    UriHelper uriHelper = configuration.getUriHelper();
    environment.lifecycle().addServerLifecycleListener(new BaseUriDeriver(configuration));
    TinkerPopConfig tinkerPopConfig = configuration.getDatabaseConfiguration();
    final TinkerPopGraphManager graphManager = new TinkerPopGraphManager(tinkerPopConfig, migrations);
    final PersistenceManager persistenceManager = configuration.getPersistenceManagerFactory().build();
    UrlGenerator uriToRedirectToFromPersistentUrls = (coll, id, rev) -> uriHelper.fromResourceUri(SingleEntity.makeUrl(coll, id, rev));
    final UrlGenerator pathWithoutVersionAndRevision = (coll, id, rev) -> URI.create(SingleEntity.makeUrl(coll, id, null).toString().replaceFirst("^/v2.1/", ""));
    final UrlGenerator uriWithoutRev = (coll, id, rev) -> uriHelper.fromResourceUri(SingleEntity.makeUrl(coll, id, null));
    HandleAdder handleAdder = new HandleAdder(persistenceManager, activeMqBundle);
    // TODO make function when TimbuctooActions does not depend on TransactionEnforcer anymore
    TimbuctooActions.TimbuctooActionsFactory timbuctooActionsFactory = new TimbuctooActions.TimbuctooActionsFactoryImpl(securityConfig.getPermissionFetcher(), Clock.systemDefaultZone(), handleAdder, uriToRedirectToFromPersistentUrls, () -> new TinkerPopOperations(graphManager));
    TransactionEnforcer transactionEnforcer = new TransactionEnforcer(timbuctooActionsFactory);
    graphManager.onGraph(g -> new ScaffoldMigrator(graphManager).execute());
    handleAdder.init(transactionEnforcer);
    final Vres vres = new DatabaseConfiguredVres(transactionEnforcer);
    migrations.put("prepare-for-bia-import-migration", new PrepareForBiaImportMigration(vres, graphManager));
    migrations.put("give-existing-relationtypes-rdf-uris", new RelationTypeRdfUriMigration());
    migrations.put("remove-search-results", new RemoveSearchResultsMigration());
    migrations.put("move-indices-to-isLatest-vertex", new MoveIndicesToIsLatestVertexMigration(vres));
    final ResourceSyncService resourceSyncService = new ResourceSyncService(httpClient, new ResourceSyncContext());
    final JsonMetadata jsonMetadata = new JsonMetadata(vres, graphManager);
    final AutocompleteService.AutocompleteServiceFactory autocompleteServiceFactory = new AutocompleteService.AutocompleteServiceFactory(uriWithoutRev);
    environment.lifecycle().manage(graphManager);
    final CrudServiceFactory crudServiceFactory = new CrudServiceFactory(vres, securityConfig.getUserValidator(), pathWithoutVersionAndRevision);
    final Webhooks webhooks = configuration.getWebhooks().getWebHook(environment);
    DataSetRepository dataSetRepository = configuration.getDataSetConfiguration().createRepository(environment.lifecycle().executorService("dataSet").build(), securityConfig.getPermissionFetcher(), configuration.getDatabases(), configuration.getRdfIdHelper(), (combinedId -> {
        try {
            webhooks.dataSetUpdated(combinedId);
        } catch (IOException e) {
            LOG.error("Webhook call failed", e);
        }
    }), configuration.dataSetsArePublicByDefault());
    environment.lifecycle().manage(new DataSetRepositoryManager(dataSetRepository));
    ErrorResponseHelper errorResponseHelper = new ErrorResponseHelper();
    AuthCheck authCheck = new AuthCheck(securityConfig.getUserValidator(), securityConfig.getPermissionFetcher(), dataSetRepository);
    register(environment, new RdfUpload(authCheck));
    register(environment, new TabularUpload(authCheck, dataSetRepository, errorResponseHelper));
    register(environment, new Rml(dataSetRepository, errorResponseHelper, securityConfig.getUserValidator()));
    SerializerWriterRegistry serializerWriterRegistry = new SerializerWriterRegistry(new CsvWriter(), new JsonLdWriter(), new JsonWriter(), new GraphVizWriter());
    final PaginationArgumentsHelper argHelper = new PaginationArgumentsHelper(configuration.getCollectionFilters());
    final GraphQl graphQlEndpoint = new GraphQl(new RootQuery(dataSetRepository, serializerWriterRegistry, configuration.getArchetypesSchema(), new RdfWiringFactory(dataSetRepository, argHelper, configuration.getDefaultSummaryProps()), new DerivedSchemaTypeGenerator(argHelper), environment.getObjectMapper()), serializerWriterRegistry, securityConfig.getUserValidator(), uriHelper, securityConfig.getPermissionFetcher(), dataSetRepository);
    register(environment, graphQlEndpoint);
    if (securityConfig instanceof TwitterSecurityFactory) {
        final TwitterLogin twitterLogin = new TwitterLogin();
        register(environment, twitterLogin);
    }
    register(environment, new JsonLdEditEndpoint(securityConfig.getUserValidator(), securityConfig.getPermissionFetcher(), dataSetRepository, new HttpClientBuilder(environment).build("json-ld")));
    register(environment, new RootEndpoint(uriHelper, configuration.getUserRedirectUrl()));
    if (securityConfig instanceof OldStyleSecurityFactory) {
        register(environment, new Authenticate(((OldStyleSecurityFactory) securityConfig).getLoggedInUsers()));
    }
    register(environment, new Me(securityConfig.getUserValidator()));
    register(environment, new Search(configuration, uriHelper, graphManager));
    register(environment, new Autocomplete(autocompleteServiceFactory, transactionEnforcer));
    register(environment, new Index(securityConfig.getUserValidator(), crudServiceFactory, transactionEnforcer));
    register(environment, new SingleEntity(securityConfig.getUserValidator(), crudServiceFactory, transactionEnforcer));
    register(environment, new SingleEntityNTriple(transactionEnforcer, uriHelper));
    register(environment, new WomenWritersEntityGet(crudServiceFactory, transactionEnforcer));
    register(environment, new LegacySingleEntityRedirect(uriHelper));
    register(environment, new LegacyIndexRedirect(uriHelper));
    register(environment, new Discover(resourceSyncService));
    if (configuration.isAllowGremlinEndpoint()) {
        register(environment, new Gremlin(graphManager));
    }
    register(environment, new Graph(graphManager, vres));
    register(environment, new RelationTypes(graphManager));
    register(environment, new Metadata());
    register(environment, new nl.knaw.huygens.timbuctoo.server.endpoints.v2.system.vres.Metadata(jsonMetadata));
    register(environment, new MyVres(securityConfig.getUserValidator(), securityConfig.getPermissionFetcher(), transactionEnforcer, uriHelper));
    register(environment, new ListVres(uriHelper, transactionEnforcer));
    register(environment, new VreImage(transactionEnforcer));
    final ExecutorService rfdExecutorService = environment.lifecycle().executorService("rdf-import").build();
    register(environment, new ImportRdf(graphManager, vres, rfdExecutorService, transactionEnforcer));
    register(environment, new Import(new ResourceSyncFileLoader(httpClient), authCheck));
    register(environment, new WellKnown());
    RsDocumentBuilder rsDocumentBuilder = new RsDocumentBuilder(dataSetRepository, configuration.getUriHelper());
    register(environment, new RsEndpoint(rsDocumentBuilder, securityConfig.getUserValidator()));
    // Admin resources
    if (securityConfig instanceof OldStyleSecurityFactory) {
        final OldStyleSecurityFactory oldStyleSecurityFactory = (OldStyleSecurityFactory) securityConfig;
        environment.admin().addTask(new UserCreationTask(new LocalUserCreator(oldStyleSecurityFactory.getLoginCreator(), oldStyleSecurityFactory.getUserCreator(), oldStyleSecurityFactory.getVreAuthorizationCreator())));
    }
    environment.admin().addTask(new DatabaseValidationTask(new DatabaseValidator(graphManager, new LabelsAddedToVertexDatabaseCheck(), new InvariantsCheck(vres), new FullTextIndexCheck()), Clock.systemUTC(), 5000));
    environment.admin().addTask(new DbLogCreatorTask(graphManager));
    environment.admin().addTask(new BdbDumpTask(configuration.getDatabases()));
    if (configuration.getDatabaseBackupper().isPresent()) {
        environment.admin().addTask(new StagingBackup(configuration.getDatabaseBackupper().get().create(configuration.getDatabaseConfiguration().getDatabasePath(), configuration.getDatabases().getDatabaseLocation())));
    }
    // register health checks
    // Dropwizard Health checks are used to check whether requests should be routed to this instance
    // For example, checking if neo4j is in a valid state is not a "HealthCheck" because if the database on one instance
    // is in an invalid state, then this applies to all other instances too. So once the database is in an invalid state
    // timbuctoo will be down.
    // 
    // checking whether this instance is part of the neo4j quorum is a good HealthCheck because running a database query
    // on those instances that are not part of the quorum will block forever, while the other instances will respond
    // just fine.
    register(environment, "Neo4j database connection", graphManager);
    // Log all http requests
    register(environment, new LoggingFilter(1024, currentVersion));
    register(environment, new TransactionFilter(graphManager));
    // Allow all CORS requests
    register(environment, new PromiscuousCorsFilter());
    // Add embedded AMQ (if any) to the metrics
    configuration.getLocalAmqJmxPath(HANDLE_QUEUE).ifPresent(rethrowConsumer(jmxPath -> {
        String dwMetricName = name(this.getClass(), "localAmq");
        ObjectName jmxMetricName = new ObjectName(jmxPath);
        environment.metrics().register(dwMetricName + ".enqueueCount", new JmxAttributeGauge(jmxMetricName, "EnqueueCount"));
        environment.metrics().register(dwMetricName + ".dequeueCount", new JmxAttributeGauge(jmxMetricName, "DequeueCount"));
    }));
    setupObjectMapping(environment);
}
Also used : TransactionEnforcer(nl.knaw.huygens.timbuctoo.core.TransactionEnforcer) DataSetRepository(nl.knaw.huygens.timbuctoo.v5.dataset.DataSetRepository) WellKnown(nl.knaw.huygens.timbuctoo.v5.dropwizard.endpoints.WellKnown) ListVres(nl.knaw.huygens.timbuctoo.server.endpoints.v2.system.vres.ListVres) FixDcarKeywordDisplayNameMigration(nl.knaw.huygens.timbuctoo.server.databasemigration.FixDcarKeywordDisplayNameMigration) DbLogCreatorTask(nl.knaw.huygens.timbuctoo.server.tasks.DbLogCreatorTask) RootEndpoint(nl.knaw.huygens.timbuctoo.server.endpoints.RootEndpoint) Index(nl.knaw.huygens.timbuctoo.server.endpoints.v2.domain.Index) DerivedSchemaTypeGenerator(nl.knaw.huygens.timbuctoo.v5.graphql.derivedschema.DerivedSchemaTypeGenerator) RootQuery(nl.knaw.huygens.timbuctoo.v5.graphql.rootquery.RootQuery) LambdaHealthCheck(nl.knaw.huygens.timbuctoo.server.healthchecks.LambdaHealthCheck) DataSetRepositoryManager(nl.knaw.huygens.timbuctoo.v5.dropwizard.DataSetRepositoryManager) LegacyIndexRedirect(nl.knaw.huygens.timbuctoo.server.endpoints.legacy.LegacyIndexRedirect) TinkerPopConfig(nl.knaw.huygens.timbuctoo.database.tinkerpop.TinkerPopConfig) JsonWriter(nl.knaw.huygens.timbuctoo.v5.dropwizard.contenttypes.JsonWriter) Server(org.eclipse.jetty.server.Server) TabularUpload(nl.knaw.huygens.timbuctoo.v5.dropwizard.endpoints.TabularUpload) Autocomplete(nl.knaw.huygens.timbuctoo.server.endpoints.v2.domain.Autocomplete) BdbDumpTask(nl.knaw.huygens.timbuctoo.server.tasks.BdbDumpTask) MoveIndicesToIsLatestVertexMigration(nl.knaw.huygens.timbuctoo.server.databasemigration.MoveIndicesToIsLatestVertexMigration) UserCreationTask(nl.knaw.huygens.timbuctoo.server.tasks.UserCreationTask) DatabaseMigration(nl.knaw.huygens.timbuctoo.server.databasemigration.DatabaseMigration) GraphQl(nl.knaw.huygens.timbuctoo.v5.dropwizard.endpoints.GraphQl) TwitterSecurityFactory(nl.knaw.huygens.timbuctoo.v5.security.twitterexample.TwitterSecurityFactory) LambdaExceptionUtil.rethrowConsumer(nl.knaw.huygens.timbuctoo.util.LambdaExceptionUtil.rethrowConsumer) WomenWritersEntityGet(nl.knaw.huygens.timbuctoo.experimental.womenwriters.WomenWritersEntityGet) FullTextIndexCheck(nl.knaw.huygens.timbuctoo.server.healthchecks.databasechecks.FullTextIndexCheck) RdfWiringFactory(nl.knaw.huygens.timbuctoo.v5.graphql.datafetchers.RdfWiringFactory) Bootstrap(io.dropwizard.setup.Bootstrap) LocalUserCreator(nl.knaw.huygens.timbuctoo.server.security.LocalUserCreator) LegacySingleEntityRedirect(nl.knaw.huygens.timbuctoo.server.endpoints.legacy.LegacySingleEntityRedirect) Gremlin(nl.knaw.huygens.timbuctoo.server.endpoints.v2.Gremlin) UrlGenerator(nl.knaw.huygens.timbuctoo.crud.UrlGenerator) InvariantsCheck(nl.knaw.huygens.timbuctoo.server.healthchecks.databasechecks.InvariantsCheck) LinkedHashMap(java.util.LinkedHashMap) VreImage(nl.knaw.huygens.timbuctoo.server.endpoints.v2.VreImage) ErrorResponseHelper(nl.knaw.huygens.timbuctoo.v5.dropwizard.endpoints.ErrorResponseHelper) JmxAttributeGauge(com.codahale.metrics.JmxAttributeGauge) SubstitutingSourceProvider(io.dropwizard.configuration.SubstitutingSourceProvider) HttpClientBuilder(io.dropwizard.client.HttpClientBuilder) PrepareForBiaImportMigration(nl.knaw.huygens.timbuctoo.server.databasemigration.PrepareForBiaImportMigration) LoggingFilter(nl.knaw.huygens.timbuctoo.logging.LoggingFilter) ResourceSyncService(nl.knaw.huygens.timbuctoo.remote.rs.ResourceSyncService) AuthCheck(nl.knaw.huygens.timbuctoo.v5.dropwizard.endpoints.auth.AuthCheck) Environment(io.dropwizard.setup.Environment) Properties(java.util.Properties) TinkerPopOperations(nl.knaw.huygens.timbuctoo.database.tinkerpop.TinkerPopOperations) Import(nl.knaw.huygens.timbuctoo.server.endpoints.v2.remote.rs.Import) ServerLifecycleListener(io.dropwizard.lifecycle.ServerLifecycleListener) IOException(java.io.IOException) MakePidsAbsoluteUrls(nl.knaw.huygens.timbuctoo.server.databasemigration.MakePidsAbsoluteUrls) TransactionFilter(nl.knaw.huygens.timbuctoo.database.tinkerpop.TransactionFilter) RdfUpload(nl.knaw.huygens.timbuctoo.v5.dropwizard.endpoints.RdfUpload) RelationTypes(nl.knaw.huygens.timbuctoo.server.endpoints.v2.RelationTypes) CrudServiceFactory(nl.knaw.huygens.timbuctoo.crud.CrudServiceFactory) Graph(nl.knaw.huygens.timbuctoo.server.endpoints.v2.Graph) GraphVizWriter(nl.knaw.huygens.timbuctoo.v5.dropwizard.contenttypes.GraphVizWriter) JsonLdEditEndpoint(nl.knaw.huygens.timbuctoo.v5.dropwizard.endpoints.JsonLdEditEndpoint) RsEndpoint(nl.knaw.huygens.timbuctoo.v5.dropwizard.endpoints.RsEndpoint) PaginationArgumentsHelper(nl.knaw.huygens.timbuctoo.v5.graphql.datafetchers.PaginationArgumentsHelper) Webhooks(nl.knaw.huygens.timbuctoo.solr.Webhooks) Me(nl.knaw.huygens.timbuctoo.server.endpoints.v2.system.users.Me) Metadata(nl.knaw.huygens.timbuctoo.server.endpoints.v2.Metadata) LabelsAddedToVertexDatabaseCheck(nl.knaw.huygens.timbuctoo.server.healthchecks.databasechecks.LabelsAddedToVertexDatabaseCheck) LoggerFactory(org.slf4j.LoggerFactory) SecurityFactory(nl.knaw.huygens.timbuctoo.v5.security.SecurityFactory) SimpleModule(com.fasterxml.jackson.databind.module.SimpleModule) FacetValue(nl.knaw.huygens.timbuctoo.search.FacetValue) Rml(nl.knaw.huygens.timbuctoo.v5.dropwizard.endpoints.Rml) SingleEntityNTriple(nl.knaw.huygens.timbuctoo.server.endpoints.v2.domain.SingleEntityNTriple) UriHelper(nl.knaw.huygens.timbuctoo.util.UriHelper) JsonLdWriter(nl.knaw.huygens.timbuctoo.v5.dropwizard.contenttypes.JsonLdWriter) ScaffoldMigrator(nl.knaw.huygens.timbuctoo.server.databasemigration.ScaffoldMigrator) HandleAdder(nl.knaw.huygens.timbuctoo.handle.HandleAdder) OldStyleSecurityFactory(nl.knaw.huygens.timbuctoo.security.OldStyleSecurityFactory) URI(java.net.URI) HANDLE_QUEUE(nl.knaw.huygens.timbuctoo.handle.HandleAdder.HANDLE_QUEUE) Application(io.dropwizard.Application) DatabaseValidator(nl.knaw.huygens.timbuctoo.server.healthchecks.DatabaseValidator) ResourceSyncFileLoader(nl.knaw.huygens.timbuctoo.remote.rs.download.ResourceSyncFileLoader) SerializerWriterRegistry(nl.knaw.huygens.timbuctoo.v5.dropwizard.contenttypes.SerializerWriterRegistry) PersistenceManager(nl.knaw.huygens.persistence.PersistenceManager) JsonMetadata(nl.knaw.huygens.timbuctoo.model.properties.JsonMetadata) ObjectName(javax.management.ObjectName) ImportRdf(nl.knaw.huygens.timbuctoo.server.endpoints.v2.ImportRdf) ActiveMQBundle(com.kjetland.dropwizard.activemq.ActiveMQBundle) InetSocketAddress(java.net.InetSocketAddress) AssetsBundle(io.dropwizard.assets.AssetsBundle) TwitterLogin(nl.knaw.huygens.timbuctoo.v5.security.twitterexample.TwitterLogin) ResourceSyncContext(nl.knaw.huygens.timbuctoo.remote.rs.xml.ResourceSyncContext) DatabaseConfiguredVres(nl.knaw.huygens.timbuctoo.model.vre.vres.DatabaseConfiguredVres) AutocompleteService(nl.knaw.huygens.timbuctoo.search.AutocompleteService) Search(nl.knaw.huygens.timbuctoo.server.endpoints.v2.Search) EnvironmentVariableSubstitutor(io.dropwizard.configuration.EnvironmentVariableSubstitutor) TimbuctooActions(nl.knaw.huygens.timbuctoo.core.TimbuctooActions) RsDocumentBuilder(nl.knaw.huygens.timbuctoo.v5.datastores.rssource.RsDocumentBuilder) StagingBackup(nl.knaw.huygens.timbuctoo.v5.dropwizard.tasks.StagingBackup) ExecutorService(java.util.concurrent.ExecutorService) CloseableHttpClient(org.apache.http.impl.client.CloseableHttpClient) Logger(org.slf4j.Logger) Discover(nl.knaw.huygens.timbuctoo.server.endpoints.v2.remote.rs.Discover) CsvWriter(nl.knaw.huygens.timbuctoo.v5.dropwizard.contenttypes.CsvWriter) HealthCheck(com.codahale.metrics.health.HealthCheck) RemoveSearchResultsMigration(nl.knaw.huygens.timbuctoo.server.databasemigration.RemoveSearchResultsMigration) RelationTypeRdfUriMigration(nl.knaw.huygens.timbuctoo.server.databasemigration.RelationTypeRdfUriMigration) Vres(nl.knaw.huygens.timbuctoo.model.vre.Vres) ServerSocketChannel(java.nio.channels.ServerSocketChannel) MultiPartBundle(io.dropwizard.forms.MultiPartBundle) SingleEntity(nl.knaw.huygens.timbuctoo.server.endpoints.v2.domain.SingleEntity) FacetValueDeserializer(nl.knaw.huygens.timbuctoo.server.mediatypes.v2.search.FacetValueDeserializer) MyVres(nl.knaw.huygens.timbuctoo.server.endpoints.v2.system.users.MyVres) Clock(java.time.Clock) Authenticate(nl.knaw.huygens.timbuctoo.server.endpoints.v2.Authenticate) Connector(org.eclipse.jetty.server.Connector) MetricRegistry.name(com.codahale.metrics.MetricRegistry.name) DatabaseValidationTask(nl.knaw.huygens.timbuctoo.server.tasks.DatabaseValidationTask) InputStream(java.io.InputStream) Import(nl.knaw.huygens.timbuctoo.server.endpoints.v2.remote.rs.Import) GraphQl(nl.knaw.huygens.timbuctoo.v5.dropwizard.endpoints.GraphQl) RemoveSearchResultsMigration(nl.knaw.huygens.timbuctoo.server.databasemigration.RemoveSearchResultsMigration) JsonMetadata(nl.knaw.huygens.timbuctoo.model.properties.JsonMetadata) MakePidsAbsoluteUrls(nl.knaw.huygens.timbuctoo.server.databasemigration.MakePidsAbsoluteUrls) LocalUserCreator(nl.knaw.huygens.timbuctoo.server.security.LocalUserCreator) UriHelper(nl.knaw.huygens.timbuctoo.util.UriHelper) TransactionEnforcer(nl.knaw.huygens.timbuctoo.core.TransactionEnforcer) PrepareForBiaImportMigration(nl.knaw.huygens.timbuctoo.server.databasemigration.PrepareForBiaImportMigration) MoveIndicesToIsLatestVertexMigration(nl.knaw.huygens.timbuctoo.server.databasemigration.MoveIndicesToIsLatestVertexMigration) UrlGenerator(nl.knaw.huygens.timbuctoo.crud.UrlGenerator) SingleEntityNTriple(nl.knaw.huygens.timbuctoo.server.endpoints.v2.domain.SingleEntityNTriple) Discover(nl.knaw.huygens.timbuctoo.server.endpoints.v2.remote.rs.Discover) WellKnown(nl.knaw.huygens.timbuctoo.v5.dropwizard.endpoints.WellKnown) Graph(nl.knaw.huygens.timbuctoo.server.endpoints.v2.Graph) JsonLdWriter(nl.knaw.huygens.timbuctoo.v5.dropwizard.contenttypes.JsonLdWriter) RootEndpoint(nl.knaw.huygens.timbuctoo.server.endpoints.RootEndpoint) OldStyleSecurityFactory(nl.knaw.huygens.timbuctoo.security.OldStyleSecurityFactory) FullTextIndexCheck(nl.knaw.huygens.timbuctoo.server.healthchecks.databasechecks.FullTextIndexCheck) TinkerPopOperations(nl.knaw.huygens.timbuctoo.database.tinkerpop.TinkerPopOperations) SingleEntity(nl.knaw.huygens.timbuctoo.server.endpoints.v2.domain.SingleEntity) ResourceSyncContext(nl.knaw.huygens.timbuctoo.remote.rs.xml.ResourceSyncContext) Metadata(nl.knaw.huygens.timbuctoo.server.endpoints.v2.Metadata) JsonMetadata(nl.knaw.huygens.timbuctoo.model.properties.JsonMetadata) HttpClientBuilder(io.dropwizard.client.HttpClientBuilder) RelationTypeRdfUriMigration(nl.knaw.huygens.timbuctoo.server.databasemigration.RelationTypeRdfUriMigration) TwitterLogin(nl.knaw.huygens.timbuctoo.v5.security.twitterexample.TwitterLogin) DatabaseConfiguredVres(nl.knaw.huygens.timbuctoo.model.vre.vres.DatabaseConfiguredVres) ListVres(nl.knaw.huygens.timbuctoo.server.endpoints.v2.system.vres.ListVres) RsDocumentBuilder(nl.knaw.huygens.timbuctoo.v5.datastores.rssource.RsDocumentBuilder) DatabaseValidationTask(nl.knaw.huygens.timbuctoo.server.tasks.DatabaseValidationTask) InvariantsCheck(nl.knaw.huygens.timbuctoo.server.healthchecks.databasechecks.InvariantsCheck) CloseableHttpClient(org.apache.http.impl.client.CloseableHttpClient) MyVres(nl.knaw.huygens.timbuctoo.server.endpoints.v2.system.users.MyVres) HandleAdder(nl.knaw.huygens.timbuctoo.handle.HandleAdder) DerivedSchemaTypeGenerator(nl.knaw.huygens.timbuctoo.v5.graphql.derivedschema.DerivedSchemaTypeGenerator) IOException(java.io.IOException) ImportRdf(nl.knaw.huygens.timbuctoo.server.endpoints.v2.ImportRdf) DataSetRepositoryManager(nl.knaw.huygens.timbuctoo.v5.dropwizard.DataSetRepositoryManager) VreImage(nl.knaw.huygens.timbuctoo.server.endpoints.v2.VreImage) CrudServiceFactory(nl.knaw.huygens.timbuctoo.crud.CrudServiceFactory) RdfUpload(nl.knaw.huygens.timbuctoo.v5.dropwizard.endpoints.RdfUpload) Rml(nl.knaw.huygens.timbuctoo.v5.dropwizard.endpoints.Rml) StagingBackup(nl.knaw.huygens.timbuctoo.v5.dropwizard.tasks.StagingBackup) Webhooks(nl.knaw.huygens.timbuctoo.solr.Webhooks) TwitterSecurityFactory(nl.knaw.huygens.timbuctoo.v5.security.twitterexample.TwitterSecurityFactory) JsonLdEditEndpoint(nl.knaw.huygens.timbuctoo.v5.dropwizard.endpoints.JsonLdEditEndpoint) LegacyIndexRedirect(nl.knaw.huygens.timbuctoo.server.endpoints.legacy.LegacyIndexRedirect) TwitterSecurityFactory(nl.knaw.huygens.timbuctoo.v5.security.twitterexample.TwitterSecurityFactory) SecurityFactory(nl.knaw.huygens.timbuctoo.v5.security.SecurityFactory) OldStyleSecurityFactory(nl.knaw.huygens.timbuctoo.security.OldStyleSecurityFactory) JmxAttributeGauge(com.codahale.metrics.JmxAttributeGauge) DataSetRepository(nl.knaw.huygens.timbuctoo.v5.dataset.DataSetRepository) Index(nl.knaw.huygens.timbuctoo.server.endpoints.v2.domain.Index) LinkedHashMap(java.util.LinkedHashMap) Authenticate(nl.knaw.huygens.timbuctoo.server.endpoints.v2.Authenticate) PaginationArgumentsHelper(nl.knaw.huygens.timbuctoo.v5.graphql.datafetchers.PaginationArgumentsHelper) Search(nl.knaw.huygens.timbuctoo.server.endpoints.v2.Search) Gremlin(nl.knaw.huygens.timbuctoo.server.endpoints.v2.Gremlin) TinkerPopConfig(nl.knaw.huygens.timbuctoo.database.tinkerpop.TinkerPopConfig) RelationTypes(nl.knaw.huygens.timbuctoo.server.endpoints.v2.RelationTypes) TimbuctooActions(nl.knaw.huygens.timbuctoo.core.TimbuctooActions) ListVres(nl.knaw.huygens.timbuctoo.server.endpoints.v2.system.vres.ListVres) DatabaseConfiguredVres(nl.knaw.huygens.timbuctoo.model.vre.vres.DatabaseConfiguredVres) Vres(nl.knaw.huygens.timbuctoo.model.vre.Vres) MyVres(nl.knaw.huygens.timbuctoo.server.endpoints.v2.system.users.MyVres) UserCreationTask(nl.knaw.huygens.timbuctoo.server.tasks.UserCreationTask) DatabaseValidator(nl.knaw.huygens.timbuctoo.server.healthchecks.DatabaseValidator) PersistenceManager(nl.knaw.huygens.persistence.PersistenceManager) LabelsAddedToVertexDatabaseCheck(nl.knaw.huygens.timbuctoo.server.healthchecks.databasechecks.LabelsAddedToVertexDatabaseCheck) FixDcarKeywordDisplayNameMigration(nl.knaw.huygens.timbuctoo.server.databasemigration.FixDcarKeywordDisplayNameMigration) ErrorResponseHelper(nl.knaw.huygens.timbuctoo.v5.dropwizard.endpoints.ErrorResponseHelper) Me(nl.knaw.huygens.timbuctoo.server.endpoints.v2.system.users.Me) DbLogCreatorTask(nl.knaw.huygens.timbuctoo.server.tasks.DbLogCreatorTask) TransactionFilter(nl.knaw.huygens.timbuctoo.database.tinkerpop.TransactionFilter) LegacySingleEntityRedirect(nl.knaw.huygens.timbuctoo.server.endpoints.legacy.LegacySingleEntityRedirect) LoggingFilter(nl.knaw.huygens.timbuctoo.logging.LoggingFilter) BdbDumpTask(nl.knaw.huygens.timbuctoo.server.tasks.BdbDumpTask) Properties(java.util.Properties) LambdaHealthCheck(nl.knaw.huygens.timbuctoo.server.healthchecks.LambdaHealthCheck) Autocomplete(nl.knaw.huygens.timbuctoo.server.endpoints.v2.domain.Autocomplete) AuthCheck(nl.knaw.huygens.timbuctoo.v5.dropwizard.endpoints.auth.AuthCheck) TabularUpload(nl.knaw.huygens.timbuctoo.v5.dropwizard.endpoints.TabularUpload) SerializerWriterRegistry(nl.knaw.huygens.timbuctoo.v5.dropwizard.contenttypes.SerializerWriterRegistry) DatabaseMigration(nl.knaw.huygens.timbuctoo.server.databasemigration.DatabaseMigration) ResourceSyncService(nl.knaw.huygens.timbuctoo.remote.rs.ResourceSyncService) GraphVizWriter(nl.knaw.huygens.timbuctoo.v5.dropwizard.contenttypes.GraphVizWriter) CsvWriter(nl.knaw.huygens.timbuctoo.v5.dropwizard.contenttypes.CsvWriter) InputStream(java.io.InputStream) RootQuery(nl.knaw.huygens.timbuctoo.v5.graphql.rootquery.RootQuery) ResourceSyncFileLoader(nl.knaw.huygens.timbuctoo.remote.rs.download.ResourceSyncFileLoader) WomenWritersEntityGet(nl.knaw.huygens.timbuctoo.experimental.womenwriters.WomenWritersEntityGet) JsonWriter(nl.knaw.huygens.timbuctoo.v5.dropwizard.contenttypes.JsonWriter) ObjectName(javax.management.ObjectName) RsEndpoint(nl.knaw.huygens.timbuctoo.v5.dropwizard.endpoints.RsEndpoint) AutocompleteService(nl.knaw.huygens.timbuctoo.search.AutocompleteService) ScaffoldMigrator(nl.knaw.huygens.timbuctoo.server.databasemigration.ScaffoldMigrator) RdfWiringFactory(nl.knaw.huygens.timbuctoo.v5.graphql.datafetchers.RdfWiringFactory) ExecutorService(java.util.concurrent.ExecutorService)

Aggregations

DataSet (nl.knaw.huygens.timbuctoo.v5.dataset.dto.DataSet)44 DataSetRepository (nl.knaw.huygens.timbuctoo.v5.dataset.DataSetRepository)12 DataSetMetaData (nl.knaw.huygens.timbuctoo.v5.dataset.dto.DataSetMetaData)12 User (nl.knaw.huygens.timbuctoo.v5.security.dto.User)12 Test (org.junit.Test)12 IOException (java.io.IOException)11 LogStorageFailedException (nl.knaw.huygens.timbuctoo.v5.filestorage.exceptions.LogStorageFailedException)11 Map (java.util.Map)10 GraphQLFieldDefinition (graphql.schema.GraphQLFieldDefinition)7 GraphQLFieldsContainer (graphql.schema.GraphQLFieldsContainer)7 List (java.util.List)7 Optional (java.util.Optional)7 ExecutionException (java.util.concurrent.ExecutionException)7 Logger (org.slf4j.Logger)7 LoggerFactory (org.slf4j.LoggerFactory)7 HashMap (java.util.HashMap)6 Collectors (java.util.stream.Collectors)6 ImportManager (nl.knaw.huygens.timbuctoo.v5.dataset.ImportManager)6 ImportStatus (nl.knaw.huygens.timbuctoo.v5.dataset.ImportStatus)6 DataStoreCreationException (nl.knaw.huygens.timbuctoo.v5.dataset.exceptions.DataStoreCreationException)6