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
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());
|
|
}
|
|
}
|