You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

32 lines
1.3 KiB
Java

package at.procon.dip.ingestion.adapter;
import at.procon.dip.domain.document.SourceType;
import at.procon.dip.ingestion.dto.ImportedDocumentResult;
import at.procon.dip.ingestion.service.GenericDocumentImportService;
import at.procon.dip.ingestion.spi.DocumentIngestionAdapter;
import at.procon.dip.ingestion.spi.IngestionResult;
import at.procon.dip.ingestion.spi.SourceDescriptor;
import java.util.List;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;
@Component
@RequiredArgsConstructor
public class InlineContentDocumentIngestionAdapter implements DocumentIngestionAdapter {
private final GenericDocumentImportService importService;
@Override
public boolean supports(SourceDescriptor sourceDescriptor) {
return sourceDescriptor.sourceType() == SourceType.REST_UPLOAD
|| sourceDescriptor.sourceType() == SourceType.MANUAL_UPLOAD
|| sourceDescriptor.sourceType() == SourceType.API;
}
@Override
public IngestionResult ingest(SourceDescriptor sourceDescriptor) {
ImportedDocumentResult imported = importService.importDocument(sourceDescriptor);
return new IngestionResult(List.of(imported.document().toCanonicalMetadata()), imported.warnings());
}
}