diff --git a/redaction-service-v1/redaction-service-server-v1/pom.xml b/redaction-service-v1/redaction-service-server-v1/pom.xml index 774c2791..8eb57737 100644 --- a/redaction-service-v1/redaction-service-server-v1/pom.xml +++ b/redaction-service-v1/redaction-service-server-v1/pom.xml @@ -18,10 +18,15 @@ 3.29.2-GA 0.6.3 2.14.2 + 0.6.0 - + + com.knecon.fforesight + tenant-commons + ${tennat-commons.version} + org.springframework.boot spring-boot-starter-aop diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/Application.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/Application.java index 607157e3..5d904706 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/Application.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/Application.java @@ -2,6 +2,7 @@ package com.iqser.red.service.redaction.v1.server; import org.springframework.boot.SpringApplication; import org.springframework.boot.actuate.autoconfigure.security.servlet.ManagementWebSecurityAutoConfiguration; +import org.springframework.boot.autoconfigure.ImportAutoConfiguration; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration; import org.springframework.boot.context.properties.EnableConfigurationProperties; @@ -11,16 +12,15 @@ import org.springframework.context.annotation.Import; import com.iqser.red.service.dictionarymerge.commons.DictionaryMergeService; import com.iqser.red.service.redaction.v1.server.client.RulesClient; -import com.iqser.red.service.redaction.v1.server.multitenancy.AsyncConfig; -import com.iqser.red.service.redaction.v1.server.multitenancy.MultiTenancyMessagingConfiguration; -import com.iqser.red.service.redaction.v1.server.multitenancy.MultiTenancyWebConfiguration; import com.iqser.red.service.redaction.v1.server.settings.RedactionServiceSettings; import com.iqser.red.storage.commons.StorageAutoConfiguration; +import com.knecon.fforesight.tenantcommons.MultiTenancyAutoConfiguration; import io.micrometer.core.aop.TimedAspect; import io.micrometer.core.instrument.MeterRegistry; -@Import({MultiTenancyWebConfiguration.class, AsyncConfig.class, MultiTenancyMessagingConfiguration.class, MetricsConfiguration.class, StorageAutoConfiguration.class}) +@ImportAutoConfiguration({MultiTenancyAutoConfiguration.class}) +@Import({MetricsConfiguration.class, StorageAutoConfiguration.class}) @EnableFeignClients(basePackageClasses = RulesClient.class) @EnableConfigurationProperties(RedactionServiceSettings.class) @SpringBootApplication(exclude = {SecurityAutoConfiguration.class, ManagementWebSecurityAutoConfiguration.class}) diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/client/TenantsClient.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/client/TenantsClient.java deleted file mode 100644 index c5a016c0..00000000 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/client/TenantsClient.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.iqser.red.service.redaction.v1.server.client; - -import org.springframework.cloud.openfeign.FeignClient; - -import com.iqser.red.service.persistence.service.v1.api.internal.resources.TenantsResource; - -@FeignClient(name = "TenantsResource", url = "${persistence-service.url}") -public interface TenantsClient extends TenantsResource { - -} diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/layoutparsing/classification/adapter/ImageServiceResponseAdapter.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/layoutparsing/classification/adapter/ImageServiceResponseAdapter.java index f4eb8b32..9c395a1f 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/layoutparsing/classification/adapter/ImageServiceResponseAdapter.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/layoutparsing/classification/adapter/ImageServiceResponseAdapter.java @@ -76,4 +76,5 @@ public class ImageServiceResponseAdapter { }); } + } diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/layoutparsing/classification/adapter/image/ImageServiceResponse.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/layoutparsing/classification/adapter/image/ImageServiceResponse.java index 8b699e24..8a23e734 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/layoutparsing/classification/adapter/image/ImageServiceResponse.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/layoutparsing/classification/adapter/image/ImageServiceResponse.java @@ -25,4 +25,22 @@ public class ImageServiceResponse { @JsonAlias("data") public void setData(List data) {this.data = data;} + + public List getData() { + + if (this.data == null) { + this.data = new ArrayList<>(); + } + return data; + } + + + public List getDataCV() { + + if (this.dataCV == null) { + this.dataCV = new ArrayList<>(); + } + return dataCV; + } + } diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/multitenancy/AsyncConfig.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/multitenancy/AsyncConfig.java deleted file mode 100644 index 0b6824df..00000000 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/multitenancy/AsyncConfig.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.iqser.red.service.redaction.v1.server.multitenancy; - -import java.util.concurrent.Executor; - -import org.springframework.context.annotation.Configuration; -import org.springframework.scheduling.annotation.AsyncConfigurerSupport; -import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; - -@Configuration -public class AsyncConfig extends AsyncConfigurerSupport { - - @Override - public Executor getAsyncExecutor() { - - ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); - - executor.setCorePoolSize(7); - executor.setMaxPoolSize(42); - executor.setQueueCapacity(11); - executor.setThreadNamePrefix("TenantAwareTaskExecutor-"); - executor.setTaskDecorator(new TenantAwareTaskDecorator()); - executor.initialize(); - - return executor; - } - -} \ No newline at end of file diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/multitenancy/EncryptionDecryptionService.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/multitenancy/EncryptionDecryptionService.java deleted file mode 100644 index c4f9064e..00000000 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/multitenancy/EncryptionDecryptionService.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.iqser.red.service.redaction.v1.server.multitenancy; - -import java.nio.ByteBuffer; -import java.nio.charset.StandardCharsets; -import java.security.SecureRandom; -import java.security.spec.KeySpec; -import java.util.Base64; - -import javax.crypto.Cipher; -import javax.crypto.SecretKey; -import javax.crypto.SecretKeyFactory; -import javax.crypto.spec.GCMParameterSpec; -import javax.crypto.spec.PBEKeySpec; -import javax.crypto.spec.SecretKeySpec; - -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Service; - -import jakarta.annotation.PostConstruct; -import lombok.SneakyThrows; - -@Service -public class EncryptionDecryptionService { - - @Value("${redaction-service.crypto.key:redaction}") - private String key; - - private SecretKey secretKey; - private byte[] iv; - - - @SneakyThrows - @PostConstruct - protected void postConstruct() { - - SecureRandom secureRandom = new SecureRandom(); - iv = new byte[12]; - secureRandom.nextBytes(iv); - secretKey = generateSecretKey(key, iv); - } - - - @SneakyThrows - public String encrypt(String strToEncrypt) { - - return Base64.getEncoder().encodeToString(encrypt(strToEncrypt.getBytes())); - } - - - @SneakyThrows - public String decrypt(String strToDecrypt) { - - byte[] bytes = Base64.getDecoder().decode(strToDecrypt); - return new String(decrypt(bytes), StandardCharsets.UTF_8); - } - - - @SneakyThrows - public byte[] encrypt(byte[] data) { - - Cipher cipher = Cipher.getInstance("AES/GCM/NoPadding"); - GCMParameterSpec parameterSpec = new GCMParameterSpec(128, iv); - cipher.init(Cipher.ENCRYPT_MODE, secretKey, parameterSpec); - byte[] encryptedData = cipher.doFinal(data); - ByteBuffer byteBuffer = ByteBuffer.allocate(4 + iv.length + encryptedData.length); - byteBuffer.putInt(iv.length); - byteBuffer.put(iv); - byteBuffer.put(encryptedData); - return byteBuffer.array(); - } - - - @SneakyThrows - public byte[] decrypt(byte[] encryptedData) { - - ByteBuffer byteBuffer = ByteBuffer.wrap(encryptedData); - int noonceSize = byteBuffer.getInt(); - if (noonceSize < 12 || noonceSize >= 16) { - throw new IllegalArgumentException("Nonce size is incorrect. Make sure that the incoming data is an AES encrypted file."); - } - byte[] iv = new byte[noonceSize]; - byteBuffer.get(iv); - - SecretKey secretKey = generateSecretKey(key, iv); - - byte[] cipherBytes = new byte[byteBuffer.remaining()]; - byteBuffer.get(cipherBytes); - - Cipher cipher = Cipher.getInstance("AES/GCM/NoPadding"); - GCMParameterSpec parameterSpec = new GCMParameterSpec(128, iv); - cipher.init(Cipher.DECRYPT_MODE, secretKey, parameterSpec); - return cipher.doFinal(cipherBytes); - } - - - @SneakyThrows - public SecretKey generateSecretKey(String password, byte[] iv) { - - KeySpec spec = new PBEKeySpec(password.toCharArray(), iv, 65536, 128); // AES-128 - SecretKeyFactory secretKeyFactory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1"); - byte[] key = secretKeyFactory.generateSecret(spec).getEncoded(); - return new SecretKeySpec(key, "AES"); - } - -} diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/multitenancy/ForwardTenantInterceptor.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/multitenancy/ForwardTenantInterceptor.java deleted file mode 100644 index 40f83bc4..00000000 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/multitenancy/ForwardTenantInterceptor.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.iqser.red.service.redaction.v1.server.multitenancy; - -import org.springframework.stereotype.Component; - -import feign.RequestInterceptor; -import feign.RequestTemplate; - -@Component -public class ForwardTenantInterceptor implements RequestInterceptor { - - public static final String TENANT_HEADER_NAME = "X-TENANT-ID"; - - @Override - public void apply(RequestTemplate template) { - template.header(TENANT_HEADER_NAME, TenantContext.getTenantId()); - } -} \ No newline at end of file diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/multitenancy/MultiTenancyMessagingConfiguration.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/multitenancy/MultiTenancyMessagingConfiguration.java deleted file mode 100644 index dd2913e5..00000000 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/multitenancy/MultiTenancyMessagingConfiguration.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.iqser.red.service.redaction.v1.server.multitenancy; - - -import static com.iqser.red.service.redaction.v1.server.multitenancy.ForwardTenantInterceptor.TENANT_HEADER_NAME; - -import org.springframework.amqp.rabbit.config.AbstractRabbitListenerContainerFactory; -import org.springframework.amqp.rabbit.core.RabbitTemplate; -import org.springframework.beans.BeansException; -import org.springframework.beans.factory.config.BeanPostProcessor; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -@Configuration -public class MultiTenancyMessagingConfiguration { - - @Bean - public static BeanPostProcessor multitenancyBeanPostProcessor() { - - return new BeanPostProcessor() { - - @Override - public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException { - - if (bean instanceof RabbitTemplate) { - - ((RabbitTemplate) bean).setBeforePublishPostProcessors(m -> { - m.getMessageProperties().setHeader(TENANT_HEADER_NAME, TenantContext.getTenantId()); - return m; - }); - - } else if (bean instanceof AbstractRabbitListenerContainerFactory) { - - ((AbstractRabbitListenerContainerFactory) bean).setAfterReceivePostProcessors(m -> { - String tenant = m.getMessageProperties().getHeader(TENANT_HEADER_NAME); - - if (tenant != null) { - TenantContext.setTenantId(tenant); - } else { - throw new RuntimeException("No Tenant is set queue message"); - } - return m; - }); - } - return bean; - } - }; - } - -} diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/multitenancy/MultiTenancyWebConfiguration.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/multitenancy/MultiTenancyWebConfiguration.java deleted file mode 100644 index a1683fa8..00000000 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/multitenancy/MultiTenancyWebConfiguration.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.iqser.red.service.redaction.v1.server.multitenancy; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Configuration; -import org.springframework.web.servlet.config.annotation.InterceptorRegistry; - -import com.iqser.red.commons.spring.DefaultWebMvcConfiguration; - -@Configuration -public class MultiTenancyWebConfiguration extends DefaultWebMvcConfiguration { - - private final TenantInterceptor tenantInterceptor; - - - @Autowired - public MultiTenancyWebConfiguration(TenantInterceptor tenantInterceptor) { - - this.tenantInterceptor = tenantInterceptor; - } - - - @Override - public void addInterceptors(InterceptorRegistry registry) { - - registry.addWebRequestInterceptor(tenantInterceptor); - } - -} \ No newline at end of file diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/multitenancy/StorageConnectionProviderImpl.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/multitenancy/StorageConnectionProviderImpl.java deleted file mode 100644 index 5199b13c..00000000 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/multitenancy/StorageConnectionProviderImpl.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.iqser.red.service.redaction.v1.server.multitenancy; - -import org.springframework.stereotype.Service; - -import com.iqser.red.service.redaction.v1.server.client.TenantsClient; -import com.iqser.red.storage.commons.model.AzureStorageConnection; -import com.iqser.red.storage.commons.model.S3StorageConnection; -import com.iqser.red.storage.commons.service.StorageConnectionProvider; - -import lombok.RequiredArgsConstructor; - -@Service -@RequiredArgsConstructor -public class StorageConnectionProviderImpl implements StorageConnectionProvider { - - private final TenantsClient tenantsClient; - private final EncryptionDecryptionService encryptionDecryptionService; - - - @Override - public AzureStorageConnection getAzureStorageConnection(String tenantId) { - - var tenant = tenantsClient.getTenant(tenantId); - return AzureStorageConnection.builder() - .connectionString(encryptionDecryptionService.decrypt(tenant.getAzureStorageConnection().getConnectionString())) - .containerName(tenant.getAzureStorageConnection().getContainerName()) - .build(); - } - - - @Override - public S3StorageConnection getS3StorageConnection(String tenantId) { - - var tenant = tenantsClient.getTenant(tenantId); - return S3StorageConnection.builder() - .key(tenant.getS3StorageConnection().getKey()) - .secret(encryptionDecryptionService.decrypt(tenant.getS3StorageConnection().getSecret())) - .signerType(tenant.getS3StorageConnection().getSignerType()) - .bucketName(tenant.getS3StorageConnection().getBucketName()) - .region(tenant.getS3StorageConnection().getRegion()) - .endpoint(tenant.getS3StorageConnection().getEndpoint()) - .build(); - } - -} diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/multitenancy/TenantAwareTaskDecorator.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/multitenancy/TenantAwareTaskDecorator.java deleted file mode 100644 index 804b5de3..00000000 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/multitenancy/TenantAwareTaskDecorator.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.iqser.red.service.redaction.v1.server.multitenancy; - -import org.springframework.core.task.TaskDecorator; -import org.springframework.lang.NonNull; - -public class TenantAwareTaskDecorator implements TaskDecorator { - - @Override - @NonNull - public Runnable decorate(@NonNull Runnable runnable) { - - String tenantId = TenantContext.getTenantId(); - return () -> { - try { - TenantContext.setTenantId(tenantId); - runnable.run(); - } finally { - TenantContext.setTenantId(null); - } - }; - } - -} \ No newline at end of file diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/multitenancy/TenantContext.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/multitenancy/TenantContext.java deleted file mode 100644 index 5ef701ff..00000000 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/multitenancy/TenantContext.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.iqser.red.service.redaction.v1.server.multitenancy; - -import lombok.extern.slf4j.Slf4j; - -@Slf4j -public final class TenantContext { - - private static InheritableThreadLocal currentTenant = new InheritableThreadLocal<>(); - - - public static void setTenantId(String tenantId) { - - log.debug("Setting tenantId to " + tenantId); - currentTenant.set(tenantId); - } - - - public static String getTenantId() { - - return currentTenant.get(); - } - - - public static void clear() { - - currentTenant.remove(); - } - -} \ No newline at end of file diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/multitenancy/TenantInterceptor.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/multitenancy/TenantInterceptor.java deleted file mode 100644 index 6d5e7b67..00000000 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/multitenancy/TenantInterceptor.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.iqser.red.service.redaction.v1.server.multitenancy; - -import org.springframework.stereotype.Component; -import org.springframework.ui.ModelMap; -import org.springframework.web.context.request.WebRequest; -import org.springframework.web.context.request.WebRequestInterceptor; - -@Component -public class TenantInterceptor implements WebRequestInterceptor { - - public static final String TENANT_HEADER_NAME = "X-TENANT-ID"; - - - @Override - public void preHandle(WebRequest request) { - - if (request.getHeader(TENANT_HEADER_NAME) != null) { - TenantContext.setTenantId(request.getHeader(TENANT_HEADER_NAME)); - } - } - - - @Override - public void postHandle(WebRequest request, ModelMap model) { - - TenantContext.clear(); - } - - - @Override - public void afterCompletion(WebRequest request, Exception ex) { - - } - -} \ No newline at end of file diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/queue/RedactionMessageReceiver.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/queue/RedactionMessageReceiver.java index 34b947f9..66de13e6 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/queue/RedactionMessageReceiver.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/queue/RedactionMessageReceiver.java @@ -6,6 +6,7 @@ import static com.iqser.red.service.redaction.v1.server.queue.MessagingConfigura import static com.iqser.red.service.redaction.v1.server.queue.MessagingConfiguration.X_ERROR_INFO_HEADER; import static com.iqser.red.service.redaction.v1.server.queue.MessagingConfiguration.X_ERROR_INFO_TIMESTAMP_HEADER; +import java.io.IOException; import java.nio.charset.StandardCharsets; import java.time.OffsetDateTime; import java.time.temporal.ChronoUnit; @@ -110,9 +111,9 @@ public class RedactionMessageReceiver { @RabbitHandler @RabbitListener(queues = REDACTION_DQL) - public void receiveAnalyzeRequestDQL(Message in) throws JsonProcessingException { + public void receiveAnalyzeRequestDQL(Message in) throws IOException { - var analyzeRequest = objectMapper.readValue(new String(in.getBody(), StandardCharsets.UTF_8), AnalyzeRequest.class); + var analyzeRequest = objectMapper.readValue(in.getBody(), AnalyzeRequest.class); log.info("Failed to process analyze request: {}", analyzeRequest); String errorCause = in.getMessageProperties().getHeader(X_ERROR_INFO_HEADER); OffsetDateTime timestamp = in.getMessageProperties().getHeader(X_ERROR_INFO_TIMESTAMP_HEADER); diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/DictionaryService.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/DictionaryService.java index 40634bdf..3e27a9b7 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/DictionaryService.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/DictionaryService.java @@ -24,7 +24,6 @@ import com.iqser.red.service.dictionarymerge.commons.DictionaryEntryModel; import com.iqser.red.service.dictionarymerge.commons.DictionaryMergeService; import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.configuration.Colors; import com.iqser.red.service.redaction.v1.server.client.DictionaryClient; -import com.iqser.red.service.redaction.v1.server.multitenancy.TenantContext; import com.iqser.red.service.redaction.v1.server.redaction.model.dictionary.Dictionary; import com.iqser.red.service.redaction.v1.server.redaction.model.dictionary.DictionaryEntries; import com.iqser.red.service.redaction.v1.server.redaction.model.dictionary.DictionaryIncrement; @@ -34,6 +33,7 @@ import com.iqser.red.service.redaction.v1.server.redaction.model.dictionary.Dict import com.iqser.red.service.redaction.v1.server.redaction.model.dictionary.DictionaryVersion; import com.iqser.red.service.redaction.v1.server.redaction.model.dictionary.TenantDictionary; import com.iqser.red.service.redaction.v1.server.settings.RedactionServiceSettings; +import com.knecon.fforesight.tenantcommons.TenantContext; import feign.FeignException; import io.micrometer.core.annotation.Timed; diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/DroolsExecutionService.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/DroolsExecutionService.java index df9d68d4..0b4b2f2a 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/DroolsExecutionService.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/DroolsExecutionService.java @@ -23,6 +23,7 @@ import com.iqser.red.service.persistence.service.v1.api.shared.model.FileAttribu import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations.ManualRedactions; import com.iqser.red.service.redaction.v1.server.client.RulesClient; import com.iqser.red.service.redaction.v1.server.exception.RulesValidationException; +import com.knecon.fforesight.tenantcommons.TenantContext; import com.iqser.red.service.redaction.v1.server.layoutparsing.document.graph.nodes.Document; import com.iqser.red.service.redaction.v1.server.layoutparsing.document.graph.nodes.SemanticNode; import com.iqser.red.service.redaction.v1.server.layoutparsing.document.services.EntityCreationService; diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/storage/RedactionStorageService.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/storage/RedactionStorageService.java index 535f9b1e..dba81456 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/storage/RedactionStorageService.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/storage/RedactionStorageService.java @@ -11,9 +11,9 @@ import com.iqser.red.service.persistence.service.v1.api.shared.model.redactionlo import com.iqser.red.service.redaction.v1.server.client.model.NerEntitiesModel; import com.iqser.red.service.redaction.v1.server.exception.NotFoundException; import com.iqser.red.service.redaction.v1.server.layoutparsing.document.data.DocumentData; -import com.iqser.red.service.redaction.v1.server.multitenancy.TenantContext; import com.iqser.red.storage.commons.exception.StorageObjectDoesNotExist; import com.iqser.red.storage.commons.service.StorageService; +import com.knecon.fforesight.tenantcommons.TenantContext; import io.micrometer.core.annotation.Timed; import lombok.Getter; diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/resources/application-dev.yaml b/redaction-service-v1/redaction-service-server-v1/src/main/resources/application-dev.yaml index 789bcf1f..48bcff2c 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/resources/application-dev.yaml +++ b/redaction-service-v1/redaction-service-server-v1/src/main/resources/application-dev.yaml @@ -2,6 +2,7 @@ server: port: 8083 persistence-service.url: "http://localhost:8085" +tenant-user-management-service.url: "http://localhost:8091/internal" storage: bucket-name: 'redaction' diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/resources/application.yml b/redaction-service-v1/redaction-service-server-v1/src/main/resources/application.yml index 4d8de8e9..15934a68 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/resources/application.yml +++ b/redaction-service-v1/redaction-service-server-v1/src/main/resources/application.yml @@ -4,6 +4,8 @@ info: persistence-service.url: "http://persistence-service-v1:8080" image-service.url: "http://image-service-v1:8080" entity-recognition-service.url: "http://entity-recognition-service-v1:8080" +tenant-user-management-service.url: "http://tenant-user-management-service:8080/internal" +fforesight.tenants.remote: true server: port: 8080 diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/AbstractRedactionIntegrationTest.java b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/AbstractRedactionIntegrationTest.java index 6ab56b02..0ba5be71 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/AbstractRedactionIntegrationTest.java +++ b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/AbstractRedactionIntegrationTest.java @@ -35,13 +35,14 @@ import com.iqser.red.service.redaction.v1.server.client.DictionaryClient; import com.iqser.red.service.redaction.v1.server.client.LegalBasisClient; import com.iqser.red.service.redaction.v1.server.client.RulesClient; import com.iqser.red.service.redaction.v1.server.controller.RedactionController; -import com.iqser.red.service.redaction.v1.server.multitenancy.TenantContext; import com.iqser.red.service.redaction.v1.server.redaction.service.AnalyzeService; import com.iqser.red.service.redaction.v1.server.redaction.service.ManualRedactionSurroundingTextService; import com.iqser.red.service.redaction.v1.server.redaction.utils.ResourceLoader; import com.iqser.red.service.redaction.v1.server.redaction.utils.TextNormalizationUtilities; import com.iqser.red.service.redaction.v1.server.storage.RedactionStorageService; import com.iqser.red.storage.commons.service.StorageService; +import com.knecon.fforesight.tenantcommons.TenantContext; +import com.knecon.fforesight.tenantcommons.TenantsClient; import lombok.SneakyThrows; @@ -120,6 +121,9 @@ public abstract class AbstractRedactionIntegrationTest { @MockBean protected LegalBasisClient legalBasisClient; + @MockBean + private TenantsClient tenantsClient; + protected final Map> dictionary = new HashMap<>(); protected final Map> dossierDictionary = new HashMap<>(); protected final Map> falsePositive = new HashMap<>(); diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/DictionaryServiceTest.java b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/DictionaryServiceTest.java index 62fae085..f2eac69f 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/DictionaryServiceTest.java +++ b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/DictionaryServiceTest.java @@ -15,6 +15,7 @@ import java.util.stream.Stream; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.kie.api.runtime.KieContainer; +import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration; @@ -32,16 +33,23 @@ import com.iqser.red.service.dictionarymerge.commons.DictionaryEntryModel; import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.configuration.Colors; import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.type.Type; import com.iqser.red.service.redaction.v1.server.client.DictionaryClient; -import com.iqser.red.service.redaction.v1.server.multitenancy.TenantContext; import com.iqser.red.service.redaction.v1.server.redaction.model.dictionary.DictionaryVersion; import com.iqser.red.service.redaction.v1.server.redaction.service.DictionaryService; import com.iqser.red.storage.commons.service.StorageService; +import com.knecon.fforesight.tenantcommons.TenantContext; +import com.knecon.fforesight.tenantcommons.TenantsClient; @ExtendWith(SpringExtension.class) @SpringBootTest(classes = Application.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @Import(RedactionIntegrationTest.RedactionIntegrationTestConfiguration.class) public class DictionaryServiceTest { + @MockBean + private RabbitTemplate rabbitTemplate; + + @MockBean + private TenantsClient tenantsClient; + @MockBean protected KieContainer kieContainer; diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/DocumineFloraTest.java b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/DocumineFloraTest.java index 1e32b39b..b8922b0a 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/DocumineFloraTest.java +++ b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/DocumineFloraTest.java @@ -27,10 +27,10 @@ import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemp import com.iqser.red.service.redaction.v1.model.StructureAnalyzeRequest; import com.iqser.red.service.redaction.v1.server.annotate.AnnotateRequest; import com.iqser.red.service.redaction.v1.server.annotate.AnnotateResponse; -import com.iqser.red.service.redaction.v1.server.multitenancy.TenantContext; import com.iqser.red.service.redaction.v1.server.redaction.utils.OsUtils; import com.iqser.red.storage.commons.StorageAutoConfiguration; import com.iqser.red.storage.commons.service.StorageService; +import com.knecon.fforesight.tenantcommons.TenantContext; @ExtendWith(SpringExtension.class) @SpringBootTest(classes = Application.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/HeadlinesGoldStandardIntegrationTest.java b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/HeadlinesGoldStandardIntegrationTest.java index 42f0337a..66d2da03 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/HeadlinesGoldStandardIntegrationTest.java +++ b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/HeadlinesGoldStandardIntegrationTest.java @@ -16,6 +16,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration; import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; @@ -33,11 +34,12 @@ import com.iqser.red.service.persistence.service.v1.api.shared.model.redactionlo import com.iqser.red.service.redaction.v1.model.StructureAnalyzeRequest; import com.iqser.red.service.redaction.v1.server.layoutparsing.document.data.mapper.DocumentGraphMapper; import com.iqser.red.service.redaction.v1.server.layoutparsing.document.graph.nodes.SemanticNode; -import com.iqser.red.service.redaction.v1.server.multitenancy.TenantContext; import com.iqser.red.service.redaction.v1.server.redaction.service.AnalyzeService; import com.iqser.red.service.redaction.v1.server.storage.RedactionStorageService; import com.iqser.red.storage.commons.StorageAutoConfiguration; import com.iqser.red.storage.commons.service.StorageService; +import com.knecon.fforesight.tenantcommons.TenantContext; +import com.knecon.fforesight.tenantcommons.TenantsClient; import lombok.AllArgsConstructor; import lombok.Data; @@ -50,6 +52,9 @@ import lombok.ToString; @Import(HeadlinesGoldStandardIntegrationTest.RedactionIntegrationTestConfiguration.class) public class HeadlinesGoldStandardIntegrationTest { + @MockBean + private TenantsClient tenantsClient; + @Autowired private AnalyzeService analyzeService; diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/RedactionIntegrationTest.java b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/RedactionIntegrationTest.java index 9d388fb6..eec86bb3 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/RedactionIntegrationTest.java +++ b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/RedactionIntegrationTest.java @@ -75,11 +75,11 @@ import com.iqser.red.service.redaction.v1.server.layoutparsing.document.graph.en import com.iqser.red.service.redaction.v1.server.layoutparsing.document.graph.nodes.Document; import com.iqser.red.service.redaction.v1.server.layoutparsing.document.graph.nodes.Section; import com.iqser.red.service.redaction.v1.server.layoutparsing.document.services.EntityCreationService; -import com.iqser.red.service.redaction.v1.server.multitenancy.TenantContext; import com.iqser.red.service.redaction.v1.server.redaction.utils.OsUtils; import com.iqser.red.service.redaction.v1.server.storage.RedactionStorageService; import com.iqser.red.storage.commons.StorageAutoConfiguration; import com.iqser.red.storage.commons.service.StorageService; +import com.knecon.fforesight.tenantcommons.TenantContext; import lombok.SneakyThrows; diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/RedactionIntegrationV2Test.java b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/RedactionIntegrationV2Test.java index dd9ebccb..3b656fdf 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/RedactionIntegrationV2Test.java +++ b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/RedactionIntegrationV2Test.java @@ -25,9 +25,9 @@ import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemp import com.iqser.red.service.persistence.service.v1.api.shared.model.redactionlog.Engine; import com.iqser.red.service.persistence.service.v1.api.shared.model.redactionlog.RedactionLogEntry; import com.iqser.red.service.redaction.v1.model.StructureAnalyzeRequest; -import com.iqser.red.service.redaction.v1.server.multitenancy.TenantContext; import com.iqser.red.storage.commons.StorageAutoConfiguration; import com.iqser.red.storage.commons.service.StorageService; +import com.knecon.fforesight.tenantcommons.TenantContext; import lombok.SneakyThrows; diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/RulesTest.java b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/RulesTest.java index 52e9731e..a1f81376 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/RulesTest.java +++ b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/RulesTest.java @@ -77,14 +77,15 @@ import com.iqser.red.service.redaction.v1.server.client.DictionaryClient; import com.iqser.red.service.redaction.v1.server.client.LegalBasisClient; import com.iqser.red.service.redaction.v1.server.client.RulesClient; import com.iqser.red.service.redaction.v1.server.controller.RedactionController; -import com.iqser.red.service.redaction.v1.server.multitenancy.TenantContext; -import com.iqser.red.service.redaction.v1.server.redaction.service.AnalyzeService; import com.iqser.red.service.redaction.v1.server.redaction.service.ManualRedactionSurroundingTextService; +import com.iqser.red.service.redaction.v1.server.redaction.service.AnalyzeService; import com.iqser.red.service.redaction.v1.server.redaction.utils.ResourceLoader; import com.iqser.red.service.redaction.v1.server.redaction.utils.TextNormalizationUtilities; import com.iqser.red.service.redaction.v1.server.storage.RedactionStorageService; import com.iqser.red.storage.commons.StorageAutoConfiguration; import com.iqser.red.storage.commons.service.StorageService; +import com.knecon.fforesight.tenantcommons.TenantContext; +import com.knecon.fforesight.tenantcommons.TenantsClient; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; @@ -245,6 +246,8 @@ public class RulesTest { private RabbitTemplate rabbitTemplate; @MockBean private LegalBasisClient legalBasisClient; + @MockBean + private TenantsClient tenantsClient; @BeforeEach diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/document/graph/DocumentMappingIntegrationTest.java b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/document/graph/DocumentMappingIntegrationTest.java index 529cdca7..c02ec70f 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/document/graph/DocumentMappingIntegrationTest.java +++ b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/document/graph/DocumentMappingIntegrationTest.java @@ -15,7 +15,7 @@ import com.iqser.red.service.redaction.v1.server.layoutparsing.document.data.map import com.iqser.red.service.redaction.v1.server.layoutparsing.document.graph.nodes.Document; import com.iqser.red.service.redaction.v1.server.layoutparsing.document.graph.nodes.NodeType; import com.iqser.red.service.redaction.v1.server.layoutparsing.document.graph.nodes.Table; -import com.iqser.red.service.redaction.v1.server.multitenancy.TenantContext; +import com.knecon.fforesight.tenantcommons.TenantContext; import lombok.SneakyThrows; diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/document/graph/MigrationPocTest.java b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/document/graph/MigrationPocTest.java index ab4db75c..b8e5327d 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/document/graph/MigrationPocTest.java +++ b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/document/graph/MigrationPocTest.java @@ -31,8 +31,8 @@ import com.iqser.red.service.redaction.v1.server.layoutparsing.document.data.Doc import com.iqser.red.service.redaction.v1.server.layoutparsing.document.data.mapper.DocumentGraphMapper; import com.iqser.red.service.redaction.v1.server.layoutparsing.document.graph.entity.RedactionEntity; import com.iqser.red.service.redaction.v1.server.layoutparsing.document.graph.nodes.Document; -import com.iqser.red.service.redaction.v1.server.multitenancy.TenantContext; import com.iqser.red.service.redaction.v1.server.redaction.service.RedactionLogCreatorService; +import com.knecon.fforesight.tenantcommons.TenantContext; import lombok.SneakyThrows; diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/document/services/DocumentPerformanceIntegrationTest.java b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/document/services/DocumentPerformanceIntegrationTest.java index 6615208c..ce65e99a 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/document/services/DocumentPerformanceIntegrationTest.java +++ b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/document/services/DocumentPerformanceIntegrationTest.java @@ -41,13 +41,13 @@ import com.iqser.red.service.redaction.v1.server.layoutparsing.document.graph.no import com.iqser.red.service.redaction.v1.server.layoutparsing.document.graph.textblock.TextBlock; import com.iqser.red.service.redaction.v1.server.layoutparsing.document.services.EntityCreationService; import com.iqser.red.service.redaction.v1.server.layoutparsing.document.utils.PdfVisualisationUtility; -import com.iqser.red.service.redaction.v1.server.multitenancy.TenantContext; import com.iqser.red.service.redaction.v1.server.redaction.adapter.NerEntities; import com.iqser.red.service.redaction.v1.server.redaction.model.dictionary.Dictionary; import com.iqser.red.service.redaction.v1.server.redaction.model.dictionary.DictionaryModel; import com.iqser.red.service.redaction.v1.server.redaction.model.dictionary.SearchImplementation; import com.iqser.red.service.redaction.v1.server.redaction.service.DictionaryService; import com.iqser.red.service.redaction.v1.server.redaction.service.DroolsExecutionService; +import com.knecon.fforesight.tenantcommons.TenantContext; import lombok.SneakyThrows; diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/realdata/AnalyseFileRealDataIntegrationTest.java b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/realdata/AnalyseFileRealDataIntegrationTest.java index d954a071..d4a96779 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/realdata/AnalyseFileRealDataIntegrationTest.java +++ b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/realdata/AnalyseFileRealDataIntegrationTest.java @@ -5,7 +5,9 @@ import java.util.List; import java.util.Set; import org.junit.jupiter.api.Test; +import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.core.io.ClassPathResource; import com.fasterxml.jackson.databind.ObjectMapper; diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/realdata/LiveDataIntegrationTest.java b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/realdata/LiveDataIntegrationTest.java index a2cf1697..92b965b9 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/realdata/LiveDataIntegrationTest.java +++ b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/realdata/LiveDataIntegrationTest.java @@ -17,6 +17,7 @@ import org.apache.commons.io.IOUtils; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; +import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration; @@ -47,13 +48,14 @@ import com.iqser.red.service.redaction.v1.server.client.FileStatusProcessingUpda import com.iqser.red.service.redaction.v1.server.client.LegalBasisClient; import com.iqser.red.service.redaction.v1.server.client.RulesClient; import com.iqser.red.service.redaction.v1.server.layoutparsing.classification.adapter.TableServiceResponseAdapter; -import com.iqser.red.service.redaction.v1.server.multitenancy.TenantContext; import com.iqser.red.service.redaction.v1.server.queue.RedactionMessageReceiver; import com.iqser.red.service.redaction.v1.server.redaction.service.DictionaryService; import com.iqser.red.service.redaction.v1.server.settings.RedactionServiceSettings; import com.iqser.red.service.redaction.v1.server.storage.RedactionStorageService; import com.iqser.red.storage.commons.StorageAutoConfiguration; import com.iqser.red.storage.commons.service.StorageService; +import com.knecon.fforesight.tenantcommons.TenantContext; +import com.knecon.fforesight.tenantcommons.TenantsClient; import io.micrometer.prometheus.PrometheusMeterRegistry; import lombok.SneakyThrows; @@ -68,6 +70,12 @@ public class LiveDataIntegrationTest { protected static String EFSA_SANITISATION_GFL_V1 = "dictionaries/EFSA_sanitisation_GFL_v1/"; + @MockBean + private RabbitTemplate rabbitTemplate; + + @MockBean + private TenantsClient tenantsClient; + @MockBean protected DictionaryClient dictionaryClient; diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/segmentation/PdfSegmentationServiceTest.java b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/segmentation/PdfSegmentationServiceTest.java index 0bd8492a..0dbed963 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/segmentation/PdfSegmentationServiceTest.java +++ b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/segmentation/PdfSegmentationServiceTest.java @@ -47,10 +47,11 @@ import com.iqser.red.service.redaction.v1.server.layoutparsing.classification.se import com.iqser.red.service.redaction.v1.server.layoutparsing.classification.service.RulingCleaningService; import com.iqser.red.service.redaction.v1.server.layoutparsing.classification.service.TableExtractionService; import com.iqser.red.service.redaction.v1.server.layoutparsing.document.graph.nodes.ImageType; -import com.iqser.red.service.redaction.v1.server.multitenancy.TenantContext; import com.iqser.red.service.redaction.v1.server.storage.RedactionStorageService; import com.iqser.red.storage.commons.StorageAutoConfiguration; import com.iqser.red.storage.commons.service.StorageService; +import com.knecon.fforesight.tenantcommons.TenantContext; +import com.knecon.fforesight.tenantcommons.TenantsClient; import lombok.SneakyThrows; @@ -59,6 +60,9 @@ import lombok.SneakyThrows; @Import(PdfSegmentationServiceTest.TestConfiguration.class) public class PdfSegmentationServiceTest { + @MockBean + private TenantsClient tenantsClient; + @Autowired private PdfSegmentationService pdfSegmentationService; diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/15 - Pretilachlor - Acute Oral Toxicity (Up and Down Procedure) - Rat_Page18.json b/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/15 - Pretilachlor - Acute Oral Toxicity (Up and Down Procedure) - Rat_Page18.json new file mode 100644 index 00000000..6debf845 --- /dev/null +++ b/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/15 - Pretilachlor - Acute Oral Toxicity (Up and Down Procedure) - Rat_Page18.json @@ -0,0 +1 @@ +{"analysisVersion":1,"analysisNumber":0,"redactionLogEntry":[{"id":"c78bdc3af6d0cdee90f6944e433adc93","type":"PII","value":"Page","reason":"Personal information found","matchedRule":19,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"","color":[0.4,0.8,1.0],"positions":[{"topLeft":{"x":84.24396,"y":138.47998},"width":-13.883972,"height":-23.327972,"page":1}],"sectionNumber":12,"textBefore":"Report Number: 10/204-001P ","textAfter":" 18 of","comments":[],"startOffset":27,"endOffset":31,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.528113+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false}],"legalBasis":[],"dictionaryVersion":0,"dossierDictionaryVersion":0,"rulesVersion":0,"legalBasisVersion":0} \ No newline at end of file diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/19 Chlorothalonil RAR 08 Volume 3CA B 6b metabolites Oct 2017_Page161.json b/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/19 Chlorothalonil RAR 08 Volume 3CA B 6b metabolites Oct 2017_Page161.json new file mode 100644 index 00000000..eada9641 --- /dev/null +++ b/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/19 Chlorothalonil RAR 08 Volume 3CA B 6b metabolites Oct 2017_Page161.json @@ -0,0 +1 @@ +{"analysisVersion":1,"analysisNumber":0,"redactionLogEntry":[{"id":"124059e9f98670592c240501b1d704e4","type":"vertebrate","value":"mouse","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Header","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":287.61575,"y":660.06},"width":32.29431,"height":-10.979996,"page":1}],"sectionNumber":9,"textBefore":null,"textAfter":null,"comments":[],"startOffset":409,"endOffset":414,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.017511+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"f5483ea13bb98467ce89a1c79911983d","type":"vertebrate","value":"mouse","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Text in table","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":295.678,"y":548.33997},"width":30.015472,"height":-10.980011,"page":1}],"sectionNumber":6,"textBefore":null,"textAfter":null,"comments":[],"startOffset":120,"endOffset":125,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.017516+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"ad84401316e6a84ffdcfdbfd75e50036","type":"no_redaction_indicator","value":"in vitro","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Header","color":[0.74509805,0.52156866,1.0],"positions":[{"topLeft":{"x":144.71265,"y":660.06},"width":33.32315,"height":-10.979996,"page":1}],"sectionNumber":9,"textBefore":null,"textAfter":null,"comments":[],"startOffset":377,"endOffset":385,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.017516+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"3a7687c40ba5e9874442ce5fa9e28052","type":"hint_only","value":"purity","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Footer","color":[0.67058825,0.7529412,0.76862746],"positions":[{"topLeft":{"x":408.20657,"y":220.14001},"width":24.538483,"height":-10.97998,"page":1}],"sectionNumber":10,"textBefore":null,"textAfter":null,"comments":[],"startOffset":1164,"endOffset":1170,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.017516+03:00"}],"manualChanges":[],"engines":["RULE"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":false,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"d6e94f5e49d91d4bbb5ce584b5ad533c","type":"no_redaction_indicator","value":"in vitro","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Header","color":[0.74509805,0.52156866,1.0],"positions":[{"topLeft":{"x":288.72,"y":736.5},"width":29.533417,"height":-10.980003,"page":1}],"sectionNumber":9,"textBefore":null,"textAfter":null,"comments":[],"startOffset":204,"endOffset":212,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.017517+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"0b0296b922293f8753d0f652e5e2a41e","type":"vertebrate","value":"mouse","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Footer","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":490.51706,"y":340.86},"width":30.13504,"height":-10.97998,"page":1}],"sectionNumber":10,"textBefore":null,"textAfter":null,"comments":[],"startOffset":503,"endOffset":508,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.017517+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"0064c92b4f002cf0c95973f1b894d4db","type":"CBI_address","value":"Harlan Cytotest Cell Research GmbH (Harlan CCR), In den Leppsteinswiesen 19, 64380 Rossdorf, Germany","reason":"Address found for non vertebrate study","matchedRule":3,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Text in table","color":[0.8,0.8,0.8],"positions":[{"topLeft":{"x":448.42264,"y":548.33997},"width":69.000946,"height":-10.980011,"page":1},{"topLeft":{"x":140.64,"y":531.06},"width":366.44556,"height":-10.980011,"page":1},{"topLeft":{"x":140.64,"y":513.9},"width":41.21649,"height":-10.980011,"page":1}],"sectionNumber":6,"textBefore":"Lymphoma L5178Y Cells. ","textAfter":". Laboratory Report","comments":[],"startOffset":149,"endOffset":249,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.017517+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"5108e35c4688c9ae122fd04e21eb93cf","type":"vertebrate","value":"mammalian","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Footer","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":172.56,"y":461.69998},"width":51.613724,"height":-10.980011,"page":1}],"sectionNumber":10,"textBefore":null,"textAfter":null,"comments":[],"startOffset":25,"endOffset":34,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.017518+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"13f9277609b05b6babe2823c78957e51","type":"CBI_author","value":"Sokolowski A.","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":208.91383,"y":565.62},"width":62.282883,"height":-10.980011,"page":1}],"sectionNumber":6,"textBefore":"Report: K-CA 5.8.1/34 ","textAfter":" (2015h), SYN548738","comments":[],"startOffset":22,"endOffset":35,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.017518+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"7857352ab80a23c07e207ff3359f7eb1","type":"no_redaction_indicator","value":"in vitro","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Footer","color":[0.74509805,0.52156866,1.0],"positions":[{"topLeft":{"x":138.0,"y":461.69998},"width":31.694717,"height":-10.980011,"page":1}],"sectionNumber":10,"textBefore":null,"textAfter":null,"comments":[],"startOffset":16,"endOffset":24,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.017518+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"35cc47e3809dcadaebc7e92b9c3d3e52","type":"no_redaction_indicator","value":"in vitro","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Header","color":[0.74509805,0.52156866,1.0],"positions":[{"topLeft":{"x":98.63568,"y":753.54},"width":29.41388,"height":-10.980003,"page":1}],"sectionNumber":9,"textBefore":null,"textAfter":null,"comments":[],"startOffset":67,"endOffset":75,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.017519+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false}],"legalBasis":[],"dictionaryVersion":0,"dossierDictionaryVersion":0,"rulesVersion":0,"legalBasisVersion":0} \ No newline at end of file diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/19 Chlorothalonil RAR 08 Volume 3CA B 6b metabolites Oct 2017_Page35.json b/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/19 Chlorothalonil RAR 08 Volume 3CA B 6b metabolites Oct 2017_Page35.json new file mode 100644 index 00000000..06c1e245 --- /dev/null +++ b/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/19 Chlorothalonil RAR 08 Volume 3CA B 6b metabolites Oct 2017_Page35.json @@ -0,0 +1 @@ +{"analysisVersion":1,"analysisNumber":0,"redactionLogEntry":[{"id":"4b5114bf8883583e53a2675b435c8e0a","type":"vertebrate","value":"rats","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Header","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":158.76,"y":736.38},"width":16.619995,"height":-10.980003,"page":1}],"sectionNumber":10,"textBefore":null,"textAfter":null,"comments":[],"startOffset":268,"endOffset":272,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.596087+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"67c051ec2dd3399fb3847e6d64047d8e","type":"vertebrate","value":"rats","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Header","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":95.4,"y":667.38},"width":16.620003,"height":-10.979996,"page":1}],"sectionNumber":10,"textBefore":null,"textAfter":null,"comments":[],"startOffset":645,"endOffset":649,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.596091+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"62c9eadb75e17b63ac460e01e5f24cdc","type":"vertebrate","value":"rats","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Header","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":386.00974,"y":615.66},"width":16.628235,"height":-10.979996,"page":1}],"sectionNumber":10,"textBefore":null,"textAfter":null,"comments":[],"startOffset":1010,"endOffset":1014,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.596092+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"db219b7d2a23e09848b28c700fc71d2e","type":"vertebrate","value":"rats","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Header","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":150.36,"y":701.82},"width":16.619995,"height":-10.979996,"page":1}],"sectionNumber":10,"textBefore":null,"textAfter":null,"comments":[],"startOffset":458,"endOffset":462,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.596092+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"54f7396a5d68fe26d838794a4131835e","type":"vertebrate","value":"rats","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Header","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":283.2,"y":667.38},"width":16.619995,"height":-10.979996,"page":1}],"sectionNumber":10,"textBefore":null,"textAfter":null,"comments":[],"startOffset":688,"endOffset":692,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.596092+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"d0dbaaf15fed87c573f17204ef03a9d8","type":"vertebrate","value":"rats","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Header","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":147.59306,"y":598.38},"width":16.62822,"height":-10.980011,"page":1}],"sectionNumber":10,"textBefore":null,"textAfter":null,"comments":[],"startOffset":1059,"endOffset":1063,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.596093+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false}],"legalBasis":[],"dictionaryVersion":0,"dossierDictionaryVersion":0,"rulesVersion":0,"legalBasisVersion":0} \ No newline at end of file diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/24 - SYN549522 - Acute Oral Toxicity - Rats_Page17.json b/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/24 - SYN549522 - Acute Oral Toxicity - Rats_Page17.json new file mode 100644 index 00000000..dbfe86a5 --- /dev/null +++ b/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/24 - SYN549522 - Acute Oral Toxicity - Rats_Page17.json @@ -0,0 +1 @@ +{"analysisVersion":1,"analysisNumber":0,"redactionLogEntry":[{"id":"8bb0efbea56407b7d8929ab00736df9e","type":"PII","value":"Page","reason":"Personal information found","matchedRule":19,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Footer","color":[0.4,0.8,1.0],"positions":[{"topLeft":{"x":477.10004,"y":50.84796},"width":23.196014,"height":-13.944031,"page":1}],"sectionNumber":10,"textBefore":"Report Number: 51726 ","textAfter":" 17 of","comments":[],"startOffset":21,"endOffset":25,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:39.846863+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false}],"legalBasis":[],"dictionaryVersion":0,"dossierDictionaryVersion":0,"rulesVersion":0,"legalBasisVersion":0} \ No newline at end of file diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/27 A8637C - EU AIR3 - MCP Section 1 - Identity of the plant protection product_Page6.json b/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/27 A8637C - EU AIR3 - MCP Section 1 - Identity of the plant protection product_Page6.json new file mode 100644 index 00000000..348b914d --- /dev/null +++ b/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/27 A8637C - EU AIR3 - MCP Section 1 - Identity of the plant protection product_Page6.json @@ -0,0 +1 @@ +{"analysisVersion":1,"analysisNumber":0,"redactionLogEntry":[],"legalBasis":[],"dictionaryVersion":0,"dossierDictionaryVersion":0,"rulesVersion":0,"legalBasisVersion":0} \ No newline at end of file diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/28 A8637C - EU AIR3 - MCP Section 10 - Ecotoxicological studies on the plant protection product_Page23.json b/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/28 A8637C - EU AIR3 - MCP Section 10 - Ecotoxicological studies on the plant protection product_Page23.json new file mode 100644 index 00000000..74f523fc --- /dev/null +++ b/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/28 A8637C - EU AIR3 - MCP Section 10 - Ecotoxicological studies on the plant protection product_Page23.json @@ -0,0 +1 @@ +{"analysisVersion":1,"analysisNumber":0,"redactionLogEntry":[{"id":"47a2a480279d63415a9ee94222a4834d","type":"vertebrate","value":"mammals","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":336.8069,"y":730.0},"width":42.844543,"height":-11.520004,"page":1}],"sectionNumber":1,"textBefore":null,"textAfter":null,"comments":[],"startOffset":169,"endOffset":176,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.181692+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"179145c0f1a01100fc643575ed951211","type":"vertebrate","value":"oncorhynchus mykiss","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Table 10.2-1: Aquatic vertebrate toxicity data for A8637C and cyprodinil","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":78.48,"y":474.58},"width":78.73203,"height":-10.5,"page":1}],"sectionNumber":5,"textBefore":null,"textAfter":null,"comments":[],"startOffset":15,"endOffset":34,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.181697+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"0a94cbd46d88e106b7868a6a7796e23a","type":"vertebrate","value":"birds","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":293.41513,"y":730.0},"width":22.019989,"height":-11.520004,"page":1}],"sectionNumber":1,"textBefore":null,"textAfter":null,"comments":[],"startOffset":159,"endOffset":164,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.181697+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"017d5c06b455926558cd93805376eae0","type":"CBI_author","value":"Boeri et al.","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Table 10.2-2: Aquatic invertebrate data for A8637C and cyprodinil","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":461.16,"y":187.06},"width":40.79602,"height":-10.5,"page":1}],"sectionNumber":15,"textBefore":null,"textAfter":" (1995) CGA219417/046","comments":[],"startOffset":72,"endOffset":84,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.181697+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"100c5c8ef44e554b5837b6e617120ead","type":"CBI_author","value":"Peither","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Table 10.2-2: Aquatic invertebrate data for A8637C and cyprodinil","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":468.0,"y":111.46002},"width":27.011993,"height":-10.5,"page":1}],"sectionNumber":18,"textBefore":null,"textAfter":" (2000) CGA219417/099","comments":[],"startOffset":77,"endOffset":84,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.181698+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"a7023d65201eb3409ead593168e978ca","type":"CBI_author","value":"Zhao","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Table 10.2-1: Aquatic vertebrate toxicity data for A8637C and cyprodinil","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":473.16,"y":434.26},"width":19.526978,"height":-10.5,"page":1}],"sectionNumber":7,"textBefore":null,"textAfter":" (2009) CGA219417_1163","comments":[],"startOffset":72,"endOffset":76,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.181698+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"deba291aefc3215e99a3fb8f11d4aef7","type":"CBI_author","value":"Ward","reason":"Author found","matchedRule":14,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Table 10.2-1: Aquatic vertebrate toxicity data for A8637C and cyprodinil","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":462.6,"y":394.3},"width":20.519989,"height":-10.5,"page":1}],"sectionNumber":9,"textBefore":null,"textAfter":" et al.","comments":[],"startOffset":79,"endOffset":83,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.181698+03:00"}],"manualChanges":[],"engines":["DICTIONARY","RULE"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"c48f9292ef20eb3f66987c8a6afd00a3","type":"vertebrate","value":"amphibians","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":323.2665,"y":742.60004},"width":50.770416,"height":-11.519997,"page":1}],"sectionNumber":1,"textBefore":null,"textAfter":null,"comments":[],"startOffset":60,"endOffset":70,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.181699+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"3803f3d2d3f2e3c23abe3d80a2552944","type":"vertebrate","value":"cyprinodon variegatus","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Table 10.2-1: Aquatic vertebrate toxicity data for A8637C and cyprodinil","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":76.203995,"y":449.38},"width":83.390045,"height":-10.5,"page":1}],"sectionNumber":6,"textBefore":null,"textAfter":null,"comments":[],"startOffset":19,"endOffset":40,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.181699+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"83900e533dc36d4530351702580c69fc","type":"CBI_author","value":"Minderhout","reason":"Author found","matchedRule":14,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Table 10.2-1: Aquatic vertebrate toxicity data for A8637C and cyprodinil","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":463.68,"y":369.1},"width":44.532043,"height":-10.5,"page":1}],"sectionNumber":10,"textBefore":null,"textAfter":" et al.","comments":[],"startOffset":83,"endOffset":93,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.181699+03:00"}],"manualChanges":[],"engines":["DICTIONARY","RULE"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"b0ea10077bffadcefef3d3cf2b153f22","type":"vertebrate","value":"reptile","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":183.7459,"y":717.28},"width":28.135178,"height":-11.520004,"page":1}],"sectionNumber":1,"textBefore":null,"textAfter":null,"comments":[],"startOffset":237,"endOffset":244,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.181699+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"491b69ffa10e12b16f4bcd0c73f07235","type":"CBI_author","value":"Rufli","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Table 10.2-1: Aquatic vertebrate toxicity data for A8637C and cyprodinil","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":473.4,"y":484.66},"width":19.044006,"height":-10.5,"page":1}],"sectionNumber":5,"textBefore":null,"textAfter":" (1996) CGA219417/071","comments":[],"startOffset":83,"endOffset":88,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.1817+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"3b556deba9c9404f6c5bf3abd5eccbd3","type":"vertebrate","value":"sheepshead minnow","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Table 10.2-1: Aquatic vertebrate toxicity data for A8637C and cyprodinil","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":80.64,"y":459.7},"width":74.272995,"height":-10.5,"page":1}],"sectionNumber":6,"textBefore":null,"textAfter":null,"comments":[],"startOffset":0,"endOffset":17,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.1817+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"b3251e02711cab34897991d9f96ad2d9","type":"CBI_author","value":"Wallace","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Table 10.2-2: Aquatic invertebrate data for A8637C and cyprodinil","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":466.56,"y":212.26001},"width":30.014984,"height":-10.5,"page":1}],"sectionNumber":14,"textBefore":null,"textAfter":" (2001) CGA219417/103","comments":[],"startOffset":63,"endOffset":70,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.1817+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"09a6401b40bdccdd25ffe03fc55b9a76","type":"vertebrate","value":"reptiles","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":395.4087,"y":742.60004},"width":32.396698,"height":-11.519997,"page":1}],"sectionNumber":1,"textBefore":null,"textAfter":null,"comments":[],"startOffset":75,"endOffset":83,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.181701+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"56b927e9e2392425f3b228ffddd629f4","type":"vertebrate","value":"pimephales promelas","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Table 10.2-1: Aquatic vertebrate toxicity data for A8637C and cyprodinil","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":78.84,"y":384.22},"width":78.01201,"height":-10.5,"page":1}],"sectionNumber":9,"textBefore":null,"textAfter":null,"comments":[],"startOffset":16,"endOffset":35,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.181701+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"4d77ab7d11c5d41e41b026849e51bf8e","type":"CBI_author","value":"Peither","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Table 10.2-2: Aquatic invertebrate data for A8637C and cyprodinil","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":468.0,"y":136.66003},"width":27.011993,"height":-10.5,"page":1}],"sectionNumber":17,"textBefore":null,"textAfter":" (2000) CGA219417/099","comments":[],"startOffset":72,"endOffset":79,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.181701+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"b8b95c809b61b40b12b4276d54c0454c","type":"CBI_author","value":"Peither","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Table 10.2-2: Aquatic invertebrate data for A8637C and cyprodinil","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":468.0,"y":85.17999},"width":27.011993,"height":-10.5,"page":1}],"sectionNumber":19,"textBefore":null,"textAfter":" (2000","comments":[],"startOffset":67,"endOffset":74,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.181701+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"89c25cfdb58028e7f4a4a679b8adafd0","type":"CBI_author","value":"Peither","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Table 10.2-2: Aquatic invertebrate data for A8637C and cyprodinil","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":468.0,"y":161.85999},"width":27.011993,"height":-10.5,"page":1}],"sectionNumber":16,"textBefore":null,"textAfter":" (2000) CGA219417/099","comments":[],"startOffset":75,"endOffset":82,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.181702+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"02b87fd1e266c21caa1c27d9ea78eab0","type":"vertebrate","value":"fathead minnow","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Table 10.2-1: Aquatic vertebrate toxicity data for A8637C and cyprodinil","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":87.72,"y":394.54},"width":60.375977,"height":-10.5,"page":1}],"sectionNumber":9,"textBefore":null,"textAfter":null,"comments":[],"startOffset":0,"endOffset":14,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.181702+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"c80eed9f72219efc932e319af339292c","type":"vertebrate","value":"rainbow trout","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Table 10.2-1: Aquatic vertebrate toxicity data for A8637C and cyprodinil","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":91.92,"y":484.9},"width":51.834015,"height":-10.5,"page":1}],"sectionNumber":5,"textBefore":null,"textAfter":null,"comments":[],"startOffset":0,"endOffset":13,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.181704+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"2a1abde398a79d1731275ee245802cca","type":"CBI_author","value":"Ward","reason":"Author found","matchedRule":14,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Table 10.2-1: Aquatic vertebrate toxicity data for A8637C and cyprodinil","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":462.6,"y":459.46},"width":20.514008,"height":-10.5,"page":1}],"sectionNumber":6,"textBefore":null,"textAfter":" et al.","comments":[],"startOffset":94,"endOffset":98,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.181704+03:00"}],"manualChanges":[],"engines":["DICTIONARY","RULE"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"77286363cc450af682e4344d94643cdb","type":"vertebrate","value":"tadpoles","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Table 10.2-1: Aquatic vertebrate toxicity data for A8637C and cyprodinil","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":131.04,"y":429.34},"width":30.024994,"height":-10.5,"page":1}],"sectionNumber":7,"textBefore":null,"textAfter":null,"comments":[],"startOffset":15,"endOffset":23,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.181704+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"bd828be23cbd1e68e1205f75690ae00e","type":"vertebrate","value":"amphibians","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Relevant Literature on Other Terrestrial Vertebrate Wildlife (reptiles and amphibians)","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":422.6248,"y":692.44},"width":55.078156,"height":-11.520004,"page":1}],"sectionNumber":2,"textBefore":null,"textAfter":null,"comments":[],"startOffset":75,"endOffset":85,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.181705+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"4871502ac48ca83b88178052e52ac1c9","type":"vertebrate","value":"amphibian","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":115.8413,"y":717.28},"width":46.514854,"height":-11.520004,"page":1}],"sectionNumber":1,"textBefore":null,"textAfter":null,"comments":[],"startOffset":223,"endOffset":232,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.181705+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"576e77ad0ac139eca2f838066d3af1e3","type":"vertebrate","value":"xenopus laevis","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Table 10.2-1: Aquatic vertebrate toxicity data for A8637C and cyprodinil","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":74.52,"y":429.34},"width":54.243004,"height":-10.5,"page":1}],"sectionNumber":7,"textBefore":null,"textAfter":null,"comments":[],"startOffset":0,"endOffset":14,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.181705+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"7eb4be833b749f3ff31c066a3801a51f","type":"vertebrate","value":"sheepshead minnow","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Table 10.2-1: Aquatic vertebrate toxicity data for A8637C and cyprodinil","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":80.64,"y":358.9},"width":74.41702,"height":-10.5,"page":1}],"sectionNumber":10,"textBefore":null,"textAfter":null,"comments":[],"startOffset":0,"endOffset":17,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.181706+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"06b9198e46897e32d06e66e3e4b75f40","type":"vertebrate","value":"reptiles","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Relevant Literature on Other Terrestrial Vertebrate Wildlife (reptiles and amphibians)","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":364.5636,"y":692.44},"width":34.8407,"height":-11.520004,"page":1}],"sectionNumber":2,"textBefore":null,"textAfter":null,"comments":[],"startOffset":62,"endOffset":70,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.181706+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false}],"legalBasis":[],"dictionaryVersion":0,"dossierDictionaryVersion":0,"rulesVersion":0,"legalBasisVersion":0} \ No newline at end of file diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/30 - Dicamba - Acute Oral Toxicity - Rats_Page5.json b/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/30 - Dicamba - Acute Oral Toxicity - Rats_Page5.json new file mode 100644 index 00000000..c46ec42c --- /dev/null +++ b/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/30 - Dicamba - Acute Oral Toxicity - Rats_Page5.json @@ -0,0 +1 @@ +{"analysisVersion":1,"analysisNumber":0,"redactionLogEntry":[{"id":"ebd54f87fa1a8cb1da1610222d6bdecc","type":"PII","value":"Page","reason":"Personal information found","matchedRule":19,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Footer","color":[0.4,0.8,1.0],"positions":[{"topLeft":{"x":477.1,"y":48.35797},"width":23.195984,"height":-11.4539795,"page":1}],"sectionNumber":8,"textBefore":"Report Number: 41087 ","textAfter":" 5 of","comments":[],"startOffset":21,"endOffset":25,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.519452+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"243fcf32e12af9128359a89d4e04e9a8","type":"CBI_address","value":"Product Safety Labs","reason":"Address found for non vertebrate study","matchedRule":3,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"","color":[0.8,0.8,0.8],"positions":[{"topLeft":{"x":111.624,"y":676.75397},"width":97.24799,"height":-11.453995,"page":1}],"sectionNumber":7,"textBefore":"ASSURANCE STATEMENT The ","textAfter":"’ Quality Assurance","comments":[],"startOffset":32,"endOffset":51,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.519456+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"71e4194df126fb383d3f1e29166ff177","type":"CBI_address","value":"Product Safety Labs","reason":"Address found for non vertebrate study","matchedRule":3,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"","color":[0.8,0.8,0.8],"positions":[{"topLeft":{"x":92.0,"y":307.0431},"width":96.024994,"height":-13.043121,"page":1}],"sectionNumber":9,"textBefore":"Quality Assurance Auditor ","textAfter":null,"comments":[],"startOffset":58,"endOffset":77,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.519457+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false}],"legalBasis":[],"dictionaryVersion":0,"dossierDictionaryVersion":0,"rulesVersion":0,"legalBasisVersion":0} \ No newline at end of file diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/47 Cyprodinil - EU AIR3 - MCA Section 5 Supplement - Toxicological and metabolism studies on the active substance_Page30.json b/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/47 Cyprodinil - EU AIR3 - MCA Section 5 Supplement - Toxicological and metabolism studies on the active substance_Page30.json new file mode 100644 index 00000000..348b914d --- /dev/null +++ b/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/47 Cyprodinil - EU AIR3 - MCA Section 5 Supplement - Toxicological and metabolism studies on the active substance_Page30.json @@ -0,0 +1 @@ +{"analysisVersion":1,"analysisNumber":0,"redactionLogEntry":[],"legalBasis":[],"dictionaryVersion":0,"dossierDictionaryVersion":0,"rulesVersion":0,"legalBasisVersion":0} \ No newline at end of file diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/49 Cyprodinil - EU AIR3 - MCA Section 8 Supplement - Ecotoxicological studies on the active substance_Page61.json b/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/49 Cyprodinil - EU AIR3 - MCA Section 8 Supplement - Ecotoxicological studies on the active substance_Page61.json new file mode 100644 index 00000000..55dac753 --- /dev/null +++ b/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/49 Cyprodinil - EU AIR3 - MCA Section 8 Supplement - Ecotoxicological studies on the active substance_Page61.json @@ -0,0 +1 @@ +{"analysisVersion":1,"analysisNumber":0,"redactionLogEntry":[{"id":"9526a0e351925f6dd820ebb1dc249e1a","type":"vertebrate","value":"fish","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":70.9,"y":466.48398},"width":16.488998,"height":-13.282013,"page":1}],"sectionNumber":21,"textBefore":null,"textAfter":null,"comments":[],"startOffset":106,"endOffset":110,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.759347+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"9c0ba267d41e778de9baf1b873dfb9ca","type":"vertebrate","value":"carp","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":334.87698,"y":316.752},"width":21.110016,"height":-13.150024,"page":1}],"sectionNumber":23,"textBefore":null,"textAfter":null,"comments":[],"startOffset":56,"endOffset":60,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.759352+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"a8b9eb90b95dde474e935a50e3bffd88","type":"vertebrate","value":"fish","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Text in table","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":481.46198,"y":296.289},"width":13.994995,"height":-11.958008,"page":1}],"sectionNumber":24,"textBefore":null,"textAfter":null,"comments":[],"startOffset":132,"endOffset":136,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.759353+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"1e53bed41bf27cbd52fb577867ba5a34","type":"vertebrate","value":"fish","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":231.61401,"y":365.94098},"width":16.488983,"height":-13.282013,"page":1}],"sectionNumber":22,"textBefore":null,"textAfter":null,"comments":[],"startOffset":132,"endOffset":136,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.759354+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false}],"legalBasis":[],"dictionaryVersion":0,"dossierDictionaryVersion":0,"rulesVersion":0,"legalBasisVersion":0} \ No newline at end of file diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/52 Fludioxonil_RAR_07_Volume_3CA_B-5_2018-02-21_Page174.json b/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/52 Fludioxonil_RAR_07_Volume_3CA_B-5_2018-02-21_Page174.json new file mode 100644 index 00000000..966615d6 --- /dev/null +++ b/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/52 Fludioxonil_RAR_07_Volume_3CA_B-5_2018-02-21_Page174.json @@ -0,0 +1 @@ +{"analysisVersion":1,"analysisNumber":0,"redactionLogEntry":[{"id":"e75cbfa3e6e72956ace538f84c4a4562","type":"CBI_author","value":"Lakaschus S","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":133.82,"y":89.766785},"width":50.177765,"height":-10.526794,"page":1}],"sectionNumber":7,"textBefore":null,"textAfter":".","comments":[],"startOffset":15,"endOffset":26,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:39.933049+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"a20403eac17823f85207a4bf2a5216e9","type":"CBI_address","value":"Dr. Specht & Partner Chem. Laboratorien GmbH, Hamburg, Germany","reason":"Address found for non vertebrate study","matchedRule":3,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Text in table","color":[0.8,0.8,0.8],"positions":[{"topLeft":{"x":241.58,"y":147.86679},"width":199.51036,"height":-10.526825,"page":1},{"topLeft":{"x":241.58,"y":136.3468},"width":79.899216,"height":-10.526825,"page":1}],"sectionNumber":6,"textBefore":"AG, Basel, Switzerland ","textAfter":" Report No","comments":[],"startOffset":295,"endOffset":357,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:39.933054+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"be6105d76d99bf3a02f85c1dea638f5c","type":"CBI_author","value":"Mair P","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":145.22,"y":494.38678},"width":27.459717,"height":-10.526817,"page":1}],"sectionNumber":3,"textBefore":null,"textAfter":".","comments":[],"startOffset":44,"endOffset":50,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:39.933054+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"b05bf0e31df4b8e1d722413733905526","type":"CBI_address","value":"Dr. Specht & Partner Chem. Laboratorien GmbH, Hamburg, Germany","reason":"Address found for non vertebrate study","matchedRule":3,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Text in table","color":[0.8,0.8,0.8],"positions":[{"topLeft":{"x":241.58,"y":263.3368},"width":199.38213,"height":-10.526825,"page":1},{"topLeft":{"x":241.58,"y":251.81677},"width":79.899216,"height":-10.526825,"page":1}],"sectionNumber":5,"textBefore":"AG, Basel, Switzerland ","textAfter":" Report No","comments":[],"startOffset":240,"endOffset":302,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:39.933055+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"5e2ea742be67bd4550d2820b1505a6ff","type":"CBI_author","value":"Steinhauer","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":133.58,"y":205.3468},"width":42.638763,"height":-10.526825,"page":1}],"sectionNumber":6,"textBefore":null,"textAfter":" S.","comments":[],"startOffset":44,"endOffset":54,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:39.933055+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"06b75c1e946ee730d89219ebf818cbc0","type":"CBI_address","value":"Ciba-Geigy Ltd., Basel, Switzerland","reason":"Address found for non vertebrate study","matchedRule":3,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Text in table","color":[0.8,0.8,0.8],"positions":[{"topLeft":{"x":241.58,"y":448.4268},"width":145.365,"height":-10.526825,"page":1}],"sectionNumber":3,"textBefore":"AG, Basel, Switzerland ","textAfter":" Report No","comments":[],"startOffset":247,"endOffset":282,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:39.933055+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"e00a8eeb2e3e0dfe47954e5b3ee0c790","type":"CBI_author","value":"Tribolet R.","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":138.26,"y":401.8368},"width":43.89003,"height":-10.526825,"page":1}],"sectionNumber":4,"textBefore":null,"textAfter":null,"comments":[],"startOffset":62,"endOffset":73,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:39.933056+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"b7ecdc44933bf0063e91d4221f572c8b","type":"CBI_author","value":"Pelz","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":146.3,"y":309.29678},"width":17.240768,"height":-10.526825,"page":1}],"sectionNumber":5,"textBefore":null,"textAfter":" S.","comments":[],"startOffset":44,"endOffset":48,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:39.933056+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"0b5e5d5da261d5e57f61cbe7963326a8","type":"CBI_address","value":"Novartis Crop Protection AG, Basel, Switzerland","reason":"Address found for non vertebrate study","matchedRule":3,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Text in table","color":[0.8,0.8,0.8],"positions":[{"topLeft":{"x":241.58,"y":459.82678},"width":197.34904,"height":-10.526825,"page":1}],"sectionNumber":3,"textBefore":"treated specimen (tomato) ","textAfter":" Ciba-Geigy Ltd.,","comments":[],"startOffset":199,"endOffset":246,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:39.933056+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false}],"legalBasis":[],"dictionaryVersion":0,"dossierDictionaryVersion":0,"rulesVersion":0,"legalBasisVersion":0} \ No newline at end of file diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/52 Fludioxonil_RAR_07_Volume_3CA_B-5_2018-02-21_Page175.json b/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/52 Fludioxonil_RAR_07_Volume_3CA_B-5_2018-02-21_Page175.json new file mode 100644 index 00000000..3283f5fc --- /dev/null +++ b/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/52 Fludioxonil_RAR_07_Volume_3CA_B-5_2018-02-21_Page175.json @@ -0,0 +1 @@ +{"analysisVersion":1,"analysisNumber":0,"redactionLogEntry":[{"id":"49595eb5e88b1671a2b3abdb70b0d512","type":"CBI_address","value":"Dr. Specht & Partner Chem. Laboratorien GmbH, Hamburg, Germany","reason":"Address found for non vertebrate study","matchedRule":3,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Text in table","color":[0.8,0.8,0.8],"positions":[{"topLeft":{"x":241.58,"y":471.82678},"width":219.19972,"height":-10.526825,"page":1},{"topLeft":{"x":241.58,"y":460.4268},"width":79.899216,"height":-10.526825,"page":1}],"sectionNumber":2,"textBefore":"AG, Basel, Switzerland ","textAfter":" Method/Validation No.","comments":[],"startOffset":189,"endOffset":251,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.408149+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"2673c8a6f55419d66c546d1ae7c09698","type":"CBI_address","value":"PTRL Europe, Ulm, Germany","reason":"Address found for non vertebrate study","matchedRule":3,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Text in table","color":[0.8,0.8,0.8],"positions":[{"topLeft":{"x":241.58,"y":263.81677},"width":120.635666,"height":-10.526825,"page":1}],"sectionNumber":4,"textBefore":"by LC-MS/MS Syngenta ","textAfter":" Report No","comments":[],"startOffset":171,"endOffset":196,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.408154+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"3415632c4a5c8bb583506119c27b50d1","type":"CBI_author","value":"Vienneau","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":135.02,"y":113.30679},"width":38.206543,"height":-10.526825,"page":1}],"sectionNumber":6,"textBefore":null,"textAfter":" K.","comments":[],"startOffset":27,"endOffset":35,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.408154+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"0c5d5bb9ec19370dc3257f85e2cb2309","type":"CBI_address","value":"Institut Fresenius, Taunusstein, Germany","reason":"Address found for non vertebrate study","matchedRule":3,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Text in table","color":[0.8,0.8,0.8],"positions":[{"topLeft":{"x":241.58,"y":367.8768},"width":164.5594,"height":-10.526825,"page":1}],"sectionNumber":3,"textBefore":"AG, Basel, Switzerland ","textAfter":" Method/Validation No.","comments":[],"startOffset":251,"endOffset":291,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.408157+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"7d16791fc0f4563f3a35d31c5f6f8319","type":"CBI_author","value":"Richter S.","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":140.3,"y":298.3768},"width":39.919678,"height":-10.526825,"page":1}],"sectionNumber":4,"textBefore":"Class T., ","textAfter":null,"comments":[],"startOffset":23,"endOffset":33,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.408158+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"6ec30f6babd8a845ca0edae42b607292","type":"CBI_author","value":"Reichert N","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":137.18,"y":413.8368},"width":43.43112,"height":-10.526825,"page":1}],"sectionNumber":3,"textBefore":null,"textAfter":".","comments":[],"startOffset":44,"endOffset":54,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.408158+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"f6155f185e66218f4def32f54148a932","type":"CBI_author","value":"Class T.","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":142.58,"y":309.8968},"width":32.828156,"height":-10.526825,"page":1}],"sectionNumber":4,"textBefore":null,"textAfter":", Richter S.","comments":[],"startOffset":13,"endOffset":21,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.408158+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"531daff1a9e0f6f5915a2b01a302cd1b","type":"CBI_author","value":"Homazava","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":131.54,"y":217.3768},"width":42.56903,"height":-10.526825,"page":1}],"sectionNumber":5,"textBefore":null,"textAfter":" N., Robinson","comments":[],"startOffset":13,"endOffset":21,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.408159+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"f7e706cb0e6b0113e4334d64bdc9efb8","type":"CBI_author","value":"Robinson N.","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":135.02,"y":205.82678},"width":50.447403,"height":-10.526825,"page":1}],"sectionNumber":5,"textBefore":"Homazava N., ","textAfter":null,"comments":[],"startOffset":26,"endOffset":37,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.408159+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"c688fa40c41d579867c8752dd434ce82","type":"CBI_address","value":"Syngenta Innovative Environmental Services, Witterswil, Switzerland","reason":"Address found for non vertebrate study","matchedRule":3,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Text in table","color":[0.8,0.8,0.8],"positions":[{"topLeft":{"x":241.58,"y":182.7868},"width":37.051285,"height":-10.526825,"page":1},{"topLeft":{"x":241.58,"y":171.38678},"width":190.58223,"height":-10.526825,"page":1},{"topLeft":{"x":241.58,"y":159.86679},"width":47.559067,"height":-10.526825,"page":1}],"sectionNumber":5,"textBefore":"Matrices by LC-MS/MS ","textAfter":" Report No","comments":[],"startOffset":189,"endOffset":256,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.408159+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false}],"legalBasis":[],"dictionaryVersion":0,"dossierDictionaryVersion":0,"rulesVersion":0,"legalBasisVersion":0} \ No newline at end of file diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/56 Fludioxonil_RAR_12_Volume_3CA_B-7_2018-02-21_Page170.json b/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/56 Fludioxonil_RAR_12_Volume_3CA_B-7_2018-02-21_Page170.json new file mode 100644 index 00000000..f08b2b9f --- /dev/null +++ b/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/56 Fludioxonil_RAR_12_Volume_3CA_B-7_2018-02-21_Page170.json @@ -0,0 +1 @@ +{"analysisVersion":1,"analysisNumber":0,"redactionLogEntry":[{"id":"0cb37cfcddadbd5f21be0c6d20c67f10","type":"CBI_address","value":"Syngenta, Jealott’s Hill International Research Centre, Bracknell, United Kingdom","reason":"Address found for non vertebrate study","matchedRule":3,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Text in table","color":[0.8,0.8,0.8],"positions":[{"topLeft":{"x":328.11975,"y":718.18677},"width":186.16266,"height":-10.526825,"page":1},{"topLeft":{"x":140.66,"y":706.7868},"width":143.15887,"height":-10.526825,"page":1}],"sectionNumber":1,"textBefore":"apples in Switzerland. ","textAfter":". Syngenta Report","comments":[],"startOffset":140,"endOffset":221,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.098265+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"de5f84fbd56cce42f4656a9f479da2ad","type":"CBI_author","value":"Solé","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":204.65,"y":729.7068},"width":17.738754,"height":-10.526825,"page":1}],"sectionNumber":1,"textBefore":"Report: KCA 6.5.3/02. ","textAfter":" C. (2004),","comments":[],"startOffset":22,"endOffset":26,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.098269+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false}],"legalBasis":[],"dictionaryVersion":0,"dossierDictionaryVersion":0,"rulesVersion":0,"legalBasisVersion":0} \ No newline at end of file diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/77 Pirimicarb_RAR_08_Volume_3CA_B-6_2017-12-04_Page11.json b/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/77 Pirimicarb_RAR_08_Volume_3CA_B-6_2017-12-04_Page11.json new file mode 100644 index 00000000..c8c5e1bf --- /dev/null +++ b/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/77 Pirimicarb_RAR_08_Volume_3CA_B-6_2017-12-04_Page11.json @@ -0,0 +1 @@ +{"analysisVersion":1,"analysisNumber":0,"redactionLogEntry":[{"id":"f8fb9c78f0a4957e4e42bd675e13a525","type":"vertebrate","value":"rats","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Conclusions","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":110.85374,"y":485.4768},"width":14.412125,"height":-10.526825,"page":1}],"sectionNumber":25,"textBefore":null,"textAfter":null,"comments":[],"startOffset":460,"endOffset":464,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.278126+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"0ac86c6513c37384f3859154b650b940","type":"CBI_address","value":"Central Toxicology Laboratory","reason":"Address found for non vertebrate study","matchedRule":3,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Table in: Conclusions","color":[0.8,0.8,0.8],"positions":[{"topLeft":{"x":189.74,"y":340.4968},"width":124.84865,"height":-10.526825,"page":1}],"sectionNumber":17,"textBefore":null,"textAfter":", Alderley park,","comments":[],"startOffset":14,"endOffset":43,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.278131+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"fe796af45c23fc0e91ec3926c78c7144","type":"hint_only","value":"Purity","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Table in: Conclusions","color":[0.67058825,0.7529412,0.76862746],"positions":[{"topLeft":{"x":494.711,"y":268.25684},"width":24.501587,"height":-10.526794,"page":1}],"sectionNumber":22,"textBefore":null,"textAfter":null,"comments":[],"startOffset":86,"endOffset":92,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.278131+03:00"}],"manualChanges":[],"engines":["RULE"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":false,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"bee91d9f899d018e2ac9c9c47ebb92f4","type":"vertebrate","value":"rat","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Table in: Conclusions","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":340.28552,"y":376.51678},"width":13.924103,"height":-10.526825,"page":1}],"sectionNumber":14,"textBefore":null,"textAfter":null,"comments":[],"startOffset":43,"endOffset":46,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.278132+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"25545aac4ed1f918ce481a2706354b22","type":"vertebrate","value":"rats","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Materials and Methods","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":509.95877,"y":186.7768},"width":14.41214,"height":-10.526794,"page":1}],"sectionNumber":26,"textBefore":null,"textAfter":null,"comments":[],"startOffset":120,"endOffset":124,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.278132+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"9ad8fbb04d902f58e5e0ce48a2bb3a67","type":"CBI_author","value":"Gledhill AJ","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Table in: Conclusions","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":189.74,"y":364.4968},"width":46.21437,"height":-10.526825,"page":1}],"sectionNumber":15,"textBefore":null,"textAfter":" (1998","comments":[],"startOffset":10,"endOffset":21,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.278132+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"83c0c748ebbe946f4781b40c4427ebce","type":"vertebrate","value":"rat","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Materials and Methods","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":436.08453,"y":186.7768},"width":10.537689,"height":-10.526794,"page":1}],"sectionNumber":26,"textBefore":null,"textAfter":null,"comments":[],"startOffset":104,"endOffset":107,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.278133+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"c9ded03248ee9ef1d93d45a96fbb1b0d","type":"redaction_indicator","value":"in vivo","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Materials and Methods","color":[0.7921569,1.0,0.52156866],"positions":[{"topLeft":{"x":91.464,"y":186.7818},"width":29.292374,"height":-10.531799,"page":1}],"sectionNumber":26,"textBefore":null,"textAfter":null,"comments":[],"startOffset":26,"endOffset":33,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.278133+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false}],"legalBasis":[],"dictionaryVersion":0,"dossierDictionaryVersion":0,"rulesVersion":0,"legalBasisVersion":0} \ No newline at end of file diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/81 Pirimicarb_RAR_20_Volume_3CP_A10788A (_Pirimor_)_B-9_2017-12-04_Page54.json b/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/81 Pirimicarb_RAR_20_Volume_3CP_A10788A (_Pirimor_)_B-9_2017-12-04_Page54.json new file mode 100644 index 00000000..ce03a235 --- /dev/null +++ b/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/81 Pirimicarb_RAR_20_Volume_3CP_A10788A (_Pirimor_)_B-9_2017-12-04_Page54.json @@ -0,0 +1 @@ +{"analysisVersion":1,"analysisNumber":0,"redactionLogEntry":[{"id":"a1cc47e3608f5353c4ed748c957f1fa1","type":"vertebrate","value":"quail","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Text in table","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":76.344,"y":236.69678},"width":22.081337,"height":-10.526794,"page":1}],"sectionNumber":27,"textBefore":null,"textAfter":null,"comments":[],"startOffset":0,"endOffset":5,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.361207+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"780603e0084f2226d5d18a4700ab3154","type":"vertebrate","value":"bird","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":365.04898,"y":513.80774},"width":17.741272,"height":-11.01767,"page":1}],"sectionNumber":18,"textBefore":null,"textAfter":null,"comments":[],"startOffset":59,"endOffset":63,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.361211+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"6eabc8d359ee12e599da3539f15a6c2e","type":"vertebrate","value":"hen","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Text in table","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":76.344,"y":577.9068},"width":16.593369,"height":-10.526825,"page":1}],"sectionNumber":13,"textBefore":null,"textAfter":null,"comments":[],"startOffset":0,"endOffset":3,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.361212+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"74c55489f8565fad4b2d6a4f410fa839","type":"vertebrate","value":"pigeon","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Text in table","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":99.36156,"y":613.4268},"width":27.160934,"height":-10.526825,"page":1}],"sectionNumber":11,"textBefore":null,"textAfter":null,"comments":[],"startOffset":6,"endOffset":12,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.361212+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false}],"legalBasis":[],"dictionaryVersion":0,"dossierDictionaryVersion":0,"rulesVersion":0,"legalBasisVersion":0} \ No newline at end of file diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/85 Pydiflumetofen_DAR_08_Volume_3CA_B-6_2017-07-26_Page134.json b/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/85 Pydiflumetofen_DAR_08_Volume_3CA_B-6_2017-07-26_Page134.json new file mode 100644 index 00000000..338dc870 --- /dev/null +++ b/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/85 Pydiflumetofen_DAR_08_Volume_3CA_B-6_2017-07-26_Page134.json @@ -0,0 +1 @@ +{"analysisVersion":1,"analysisNumber":0,"redactionLogEntry":[{"id":"1c121d1c34095ac0378a3422cdd3ff18","type":"vertebrate","value":"rabbits","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":297.34894,"y":337.41937},"width":36.796326,"height":-10.929382,"page":1}],"sectionNumber":23,"textBefore":null,"textAfter":null,"comments":[],"startOffset":130,"endOffset":137,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.443045+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"9eca9c7227e2dd7ce01c723e7c236af8","type":"vertebrate","value":"rabbits","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":283.28253,"y":712.9494},"width":36.674896,"height":-10.929367,"page":1}],"sectionNumber":2,"textBefore":null,"textAfter":null,"comments":[],"startOffset":129,"endOffset":136,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.44305+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false}],"legalBasis":[],"dictionaryVersion":0,"dossierDictionaryVersion":0,"rulesVersion":0,"legalBasisVersion":0} \ No newline at end of file diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/95 Trinexapac-ethyl_RAR_08_Volume_3CA_B-6_2018-01-10_Page532.json b/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/95 Trinexapac-ethyl_RAR_08_Volume_3CA_B-6_2018-01-10_Page532.json new file mode 100644 index 00000000..87b66cd8 --- /dev/null +++ b/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/95 Trinexapac-ethyl_RAR_08_Volume_3CA_B-6_2018-01-10_Page532.json @@ -0,0 +1 @@ +{"analysisVersion":1,"analysisNumber":0,"redactionLogEntry":[{"id":"43909679b9d2da1408c8915cfa979b30","type":"CBI_author","value":"Chau, R.Y","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":94.104,"y":349.94418},"width":34.10566,"height":-9.654175,"page":1}],"sectionNumber":7,"textBefore":null,"textAfter":". McCormick, G.C.","comments":[],"startOffset":13,"endOffset":22,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.339622+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"a36515f7bd9d12a1e2c8dc05482bbc43","type":"CBI_author","value":"Chau, R.Y","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":94.104,"y":276.02417},"width":34.10566,"height":-9.654175,"page":1}],"sectionNumber":8,"textBefore":null,"textAfter":". McCormick, G.C.","comments":[],"startOffset":13,"endOffset":22,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.339627+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"e1587a8d6ec45c8fec55c6975fa1e81e","type":"CBI_author","value":"Huber, K.","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":94.104,"y":137.39417},"width":31.725838,"height":-9.654175,"page":1}],"sectionNumber":10,"textBefore":null,"textAfter":"R.","comments":[],"startOffset":13,"endOffset":22,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.339627+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"692d559fb9558dbf56647cd7bb5b6a18","type":"CBI_address","value":"Ciba-Geigy Corp.","reason":"Address found for non vertebrate study","matchedRule":3,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Text in table","color":[0.8,0.8,0.8],"positions":[{"topLeft":{"x":186.26,"y":331.46417},"width":57.322113,"height":-9.654175,"page":1}],"sectionNumber":7,"textBefore":"study in rats. ","textAfter":", Summit, United","comments":[],"startOffset":108,"endOffset":124,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.339627+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"88f9e37d284c11a31a5fb80074300d41","type":"CBI_address","value":"Covance Laboratories, North Yorkshire, United Kingdom","reason":"Address found for non vertebrate study","matchedRule":3,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Text in table","color":[0.8,0.8,0.8],"positions":[{"topLeft":{"x":186.26,"y":596.2342},"width":152.88051,"height":-9.654175,"page":1},{"topLeft":{"x":186.26,"y":586.9942},"width":30.230438,"height":-9.654175,"page":1}],"sectionNumber":4,"textBefore":"the Guinea pig ","textAfter":" Study Report","comments":[],"startOffset":94,"endOffset":147,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.339628+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"f516782ebee457d244144441b42636da","type":"CBI_author","value":"Chau, R.Y","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":94.104,"y":211.34418},"width":34.10566,"height":-9.654175,"page":1}],"sectionNumber":9,"textBefore":null,"textAfter":". Kirchner, F.R.","comments":[],"startOffset":13,"endOffset":22,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.339628+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"4df1c45db041b358bfe6478f6cda0ef3","type":"vertebrate","value":"dogs","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Text in table","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":186.26,"y":202.10419},"width":15.1232605,"height":-9.654175,"page":1}],"sectionNumber":9,"textBefore":null,"textAfter":null,"comments":[],"startOffset":101,"endOffset":105,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.339628+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"8a17eb9ebbd0837948f756919e25f6a3","type":"vertebrate","value":"rats","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Text in table","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":213.94174,"y":414.64417},"width":11.513306,"height":-9.654175,"page":1}],"sectionNumber":6,"textBefore":null,"textAfter":null,"comments":[],"startOffset":83,"endOffset":87,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.339629+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"707065778b86f0e156c4f8b6dcc18f3b","type":"CBI_author","value":"Schneider, M.","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":94.104,"y":762.45416},"width":45.16871,"height":-9.654182,"page":1}],"sectionNumber":2,"textBefore":null,"textAfter":null,"comments":[],"startOffset":13,"endOffset":26,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.339629+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"e79834c3a5e891b50d0990614f26db04","type":"vertebrate","value":"rats","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Text in table","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":186.26,"y":340.70416},"width":11.633896,"height":-9.654175,"page":1}],"sectionNumber":7,"textBefore":null,"textAfter":null,"comments":[],"startOffset":102,"endOffset":106,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.339629+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"483ad2f9471ef312543c232574ba1b96","type":"vertebrate","value":"guinea pig","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Text in table","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":198.119,"y":605.4742},"width":35.30368,"height":-9.654175,"page":1}],"sectionNumber":4,"textBefore":null,"textAfter":null,"comments":[],"startOffset":83,"endOffset":93,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.339629+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"0424c74b93efe681595b75d952087f4c","type":"CBI_author","value":"Schneider, M.","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":94.104,"y":688.51416},"width":45.16871,"height":-9.654175,"page":1}],"sectionNumber":3,"textBefore":null,"textAfter":null,"comments":[],"startOffset":13,"endOffset":26,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.33963+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"c10f35356e212275d0bb748de0aa5806","type":"CBI_address","value":"Ciba-Geigy Corp.","reason":"Address found for non vertebrate study","matchedRule":3,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Text in table","color":[0.8,0.8,0.8],"positions":[{"topLeft":{"x":186.26,"y":266.78418},"width":57.322113,"height":-9.654175,"page":1}],"sectionNumber":8,"textBefore":"study in dogs ","textAfter":", Summit, United","comments":[],"startOffset":89,"endOffset":105,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.33963+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"00e64c6b4a37bb55d781ac6fc0d0afda","type":"CBI_author","value":"Gehrke H.","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":94.104,"y":522.2842},"width":33.29364,"height":-9.654175,"page":1}],"sectionNumber":5,"textBefore":null,"textAfter":null,"comments":[],"startOffset":15,"endOffset":24,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.33963+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"c29a23a2941b7197016a5dca7563f98c","type":"CBI_address","value":"Ciba-Geigy Ltd., Stein, Switzerland","reason":"Address found for non vertebrate study","matchedRule":3,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Text in table","color":[0.8,0.8,0.8],"positions":[{"topLeft":{"x":186.26,"y":670.1542},"width":115.05727,"height":-9.654175,"page":1}],"sectionNumber":3,"textBefore":"in the rabbit. ","textAfter":" Study Report","comments":[],"startOffset":98,"endOffset":133,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.339631+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"736f88cb0d8cd82235e8b2b436e7770f","type":"CBI_address","value":"Ciba-Geigy Ltd., Stein, Switzerland","reason":"Address found for non vertebrate study","matchedRule":3,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Text in table","color":[0.8,0.8,0.8],"positions":[{"topLeft":{"x":186.26,"y":405.40417},"width":115.05727,"height":-9.654175,"page":1}],"sectionNumber":6,"textBefore":"in rats (Gavage). ","textAfter":" Study Report","comments":[],"startOffset":98,"endOffset":133,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.339631+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"b5cee178bea39a518b85497643858c81","type":"vertebrate","value":"rabbits","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Text in table","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":186.26,"y":128.15417},"width":21.828629,"height":-9.654175,"page":1}],"sectionNumber":10,"textBefore":null,"textAfter":null,"comments":[],"startOffset":75,"endOffset":82,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.339631+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"9924dd109cc51a371469ea187013fbeb","type":"CBI_address","value":"Ciba-Geigy Ltd., Stein, Switzerland","reason":"Address found for non vertebrate study","matchedRule":3,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Text in table","color":[0.8,0.8,0.8],"positions":[{"topLeft":{"x":186.26,"y":743.95416},"width":115.05727,"height":-9.654182,"page":1}],"sectionNumber":2,"textBefore":"in the rabbit. ","textAfter":" Study Report","comments":[],"startOffset":101,"endOffset":136,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.339631+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"2eb60ce29def5b9dddbba18425949b64","type":"CBI_author","value":"Arthur","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":94.104,"y":192.8642},"width":21.362282,"height":-9.654175,"page":1}],"sectionNumber":9,"textBefore":"R.Y. Kirchner, F.R. ","textAfter":", A.T.","comments":[],"startOffset":39,"endOffset":45,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.339632+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"8fff851c982ffeefa258914d1cf19fdf","type":"CBI_author","value":"Arthur","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":94.104,"y":322.34418},"width":21.362282,"height":-9.654175,"page":1}],"sectionNumber":7,"textBefore":"R.Y. McCormick, G.C. ","textAfter":", A.T.","comments":[],"startOffset":40,"endOffset":46,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.339633+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"b27885aea158123179a451d9045e08a2","type":"vertebrate","value":"dogs","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Text in table","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":269.3396,"y":276.02417},"width":15.12323,"height":-9.654175,"page":1}],"sectionNumber":8,"textBefore":null,"textAfter":null,"comments":[],"startOffset":84,"endOffset":88,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.339633+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"b5afb64ead19ca46d7278654c201b148","type":"CBI_author","value":"Kirchner","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":94.104,"y":202.10419},"width":28.437485,"height":-9.654175,"page":1}],"sectionNumber":9,"textBefore":"Chau, R.Y. ","textAfter":", F.R. Arthur,","comments":[],"startOffset":24,"endOffset":32,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.339633+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"e367ac5d9c8775eea244c54c9dd05ec5","type":"no_redaction_indicator","value":"in vitro","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Text in table","color":[0.74509805,0.52156866,1.0],"positions":[{"topLeft":{"x":260.57,"y":525.2842},"width":32.063446,"height":-9.654175,"page":1}],"sectionNumber":5,"textBefore":null,"textAfter":null,"comments":[],"startOffset":49,"endOffset":57,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.339634+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"20254687bda67ab37bf1bfeec1c54117","type":"vertebrate","value":"rabbit","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Text in table","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":225.68819,"y":679.2742},"width":18.548294,"height":-9.654175,"page":1}],"sectionNumber":3,"textBefore":null,"textAfter":null,"comments":[],"startOffset":90,"endOffset":96,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.339634+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"d4362eee4bb60832d84cd7fdaa40af56","type":"CBI_address","value":"Ciba-Geigy Corp.","reason":"Address found for non vertebrate study","matchedRule":3,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Text in table","color":[0.8,0.8,0.8],"positions":[{"topLeft":{"x":186.26,"y":192.8642},"width":57.322113,"height":-9.654175,"page":1}],"sectionNumber":9,"textBefore":"study in dogs. ","textAfter":", Summit, United","comments":[],"startOffset":107,"endOffset":123,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.339634+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"ef1f4022967ba94a508b7a4b3e3d0d31","type":"CBI_author","value":"Ruddock","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":94.104,"y":614.5942},"width":28.968094,"height":-9.654175,"page":1}],"sectionNumber":4,"textBefore":null,"textAfter":", W.D.","comments":[],"startOffset":13,"endOffset":20,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.339635+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"027204432b088e1e8ec6ad2ab22c49c6","type":"CBI_author","value":"Arthur","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":94.104,"y":248.4242},"width":21.362282,"height":-9.654175,"page":1}],"sectionNumber":8,"textBefore":"R.Y. McCormick, G.C. ","textAfter":", A.T.","comments":[],"startOffset":40,"endOffset":46,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.339635+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"af317319bdc3e7f766a248b0342dcedd","type":"vertebrate","value":"rabbit","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Text in table","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":288.0384,"y":753.19415},"width":18.660797,"height":-9.654182,"page":1}],"sectionNumber":2,"textBefore":null,"textAfter":null,"comments":[],"startOffset":93,"endOffset":99,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.339635+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"c456dd6094b2b60930a783367a3da867","type":"CBI_address","value":"Ciba-Geigy Corp.","reason":"Address found for non vertebrate study","matchedRule":3,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Text in table","color":[0.8,0.8,0.8],"positions":[{"topLeft":{"x":186.26,"y":119.03418},"width":57.322113,"height":-9.654175,"page":1}],"sectionNumber":10,"textBefore":"study in rabbits. ","textAfter":", Summit, United","comments":[],"startOffset":84,"endOffset":100,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.339635+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false}],"legalBasis":[],"dictionaryVersion":0,"dossierDictionaryVersion":0,"rulesVersion":0,"legalBasisVersion":0} \ No newline at end of file diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/A20622A izRMS (CZ) fRR Part B9_Page185.json b/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/A20622A izRMS (CZ) fRR Part B9_Page185.json new file mode 100644 index 00000000..50f20692 --- /dev/null +++ b/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/A20622A izRMS (CZ) fRR Part B9_Page185.json @@ -0,0 +1 @@ +{"analysisVersion":1,"analysisNumber":0,"redactionLogEntry":[{"id":"692ccb191520fe917921aeb625feb0ca","type":"PII","value":"Page","reason":"Personal information found","matchedRule":19,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"","color":[0.4,0.8,1.0],"positions":[{"topLeft":{"x":725.28,"y":559.2068},"width":19.412048,"height":-10.526821,"page":1}],"sectionNumber":20,"textBefore":"A20622A ","textAfter":" 185 /439","comments":[],"startOffset":8,"endOffset":12,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.174033+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"c16ca3e8e054eaaeae1899c3e64b52de","type":"CBI_author","value":"Martin KH","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":135.38,"y":395.8368},"width":43.983337,"height":-10.526825,"page":1}],"sectionNumber":2,"textBefore":null,"textAfter":null,"comments":[],"startOffset":32,"endOffset":41,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.174038+03:00"}],"manualChanges":[],"engines":["DICTIONARY","RULE"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"d89141b31c5a48a54066248715b84aa7","type":"CBI_author","value":"Roig, J.","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":135.38,"y":256.8568},"width":30.776398,"height":-10.526825,"page":1}],"sectionNumber":17,"textBefore":null,"textAfter":null,"comments":[],"startOffset":16,"endOffset":24,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.174039+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"c98b6dfb54f64340b05da7b0291496ac","type":"CBI_author","value":"Bryden M","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":135.38,"y":430.3068},"width":40.616882,"height":-10.526825,"page":1}],"sectionNumber":2,"textBefore":null,"textAfter":", Frey LT,","comments":[],"startOffset":0,"endOffset":8,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.174039+03:00"}],"manualChanges":[],"engines":["DICTIONARY","RULE"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"56070a1e930e9c3a7946963064bfe016","type":"CBI_author","value":"Elliott S.","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":135.38,"y":407.2368},"width":35.46753,"height":-10.526825,"page":1}],"sectionNumber":6,"textBefore":"M, Frey LT, ","textAfter":" & Martin","comments":[],"startOffset":19,"endOffset":29,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.174039+03:00"}],"manualChanges":[],"engines":["DICTIONARY","RULE"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"b53f1423ffd85ab47ea07f876c8b4bee","type":"CBI_author","value":"Marini J.","reason":"Author found","matchedRule":10,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":135.38,"y":343.63678},"width":36.05519,"height":-10.526825,"page":1}],"sectionNumber":15,"textBefore":null,"textAfter":null,"comments":[],"startOffset":16,"endOffset":25,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.17404+03:00"}],"manualChanges":[],"engines":["RULE"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":false,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"4ecbeef11593dfec5bc8e8346bed367f","type":"CBI_address","value":"MITOX Consultants Science Park 408, 1098XH Amsterdam, The Netherlands","reason":"Address found for non vertebrate study","matchedRule":3,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Text in table","color":[0.8,0.8,0.8],"positions":[{"topLeft":{"x":220.1,"y":210.89679},"width":314.059,"height":-10.526825,"page":1}],"sectionNumber":17,"textBefore":"Report Number S023AMC. ","textAfter":" GLP Not","comments":[],"startOffset":236,"endOffset":305,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.17404+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"b02ebc91ddb73f91473e5073db876796","type":"vertebrate","value":"pimephales promelas","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Text in table","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":489.49442,"y":343.63678},"width":77.508514,"height":-10.526825,"page":1},{"topLeft":{"x":220.1,"y":332.1168},"width":11.065552,"height":-10.526825,"page":1}],"sectionNumber":16,"textBefore":null,"textAfter":null,"comments":[],"startOffset":106,"endOffset":125,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.17404+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"c035f1d4b3d22ea277f22d793a9b0602","type":"vertebrate","value":"northern bobwhite","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Text in table","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":402.40933,"y":430.3068},"width":77.43912,"height":-10.526825,"page":1}],"sectionNumber":14,"textBefore":null,"textAfter":null,"comments":[],"startOffset":107,"endOffset":124,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.174041+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"d20a9ae12953cf69dd145f0cea692659","type":"CBI_address","value":"Wildlife International A Division of EAG Inc. 8598 Commerce Drive Easton, MD 21601 USA","reason":"Address found for non vertebrate study","matchedRule":3,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Text in table","color":[0.8,0.8,0.8],"positions":[{"topLeft":{"x":220.1,"y":407.2368},"width":329.72592,"height":-10.526825,"page":1},{"topLeft":{"x":220.1,"y":395.8368},"width":47.46936,"height":-10.526825,"page":1}],"sectionNumber":14,"textBefore":"Report Number 528B-457. ","textAfter":" GLP Unpublished","comments":[],"startOffset":150,"endOffset":236,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.174041+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"2bdffdc1d9f56ab86e56e5ba9ad03c02","type":"CBI_author","value":"Bryden M, Frey LT, Elliott S. & Martin KH","reason":"Author found","matchedRule":10,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":135.38,"y":430.3068},"width":43.106888,"height":-10.526825,"page":1},{"topLeft":{"x":135.38,"y":418.7868},"width":35.577118,"height":-10.526825,"page":1},{"topLeft":{"x":135.38,"y":407.2368},"width":45.74626,"height":-10.526825,"page":1},{"topLeft":{"x":135.38,"y":395.8368},"width":43.983337,"height":-10.526825,"page":1}],"sectionNumber":10,"textBefore":null,"textAfter":null,"comments":[],"startOffset":16,"endOffset":57,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.174041+03:00"}],"manualChanges":[],"engines":["RULE"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":false,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"21b995a967c2cb0c71910d913448dbb0","type":"CBI_address","value":"Smithers Viscient, 790 Main Street, Wareham, MA, USA","reason":"Address found for non vertebrate study","matchedRule":3,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Text in table","color":[0.8,0.8,0.8],"positions":[{"topLeft":{"x":220.1,"y":309.07678},"width":230.50446,"height":-10.526825,"page":1}],"sectionNumber":15,"textBefore":"Guideline 850.1500 Syngenta ","textAfter":", 1781.6971 GLP","comments":[],"startOffset":192,"endOffset":244,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.174042+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"a65f0039b0e3ffe35c7dd62a1b08df4c","type":"vertebrate","value":"fathead minnow","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Text in table","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":415.76044,"y":343.63678},"width":67.98706,"height":-10.526825,"page":1}],"sectionNumber":15,"textBefore":null,"textAfter":null,"comments":[],"startOffset":80,"endOffset":94,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.174042+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"926735ab1ce3c854f96372906d6f6de1","type":"CBI_author","value":"Frey LT","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":135.38,"y":418.7868},"width":32.937714,"height":-10.526825,"page":1}],"sectionNumber":2,"textBefore":"Bryden M, ","textAfter":", Elliott S.","comments":[],"startOffset":10,"endOffset":17,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.174042+03:00"}],"manualChanges":[],"engines":["DICTIONARY","RULE"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"a7276d6519d9edff5744461eb45d9170","type":"CBI_author","value":"Marini","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":135.38,"y":343.63678},"width":27.10115,"height":-10.526825,"page":1}],"sectionNumber":16,"textBefore":null,"textAfter":" J.","comments":[],"startOffset":16,"endOffset":22,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.174042+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"e767fc0b74ac458b40a23da8dbd4cf16","type":"CBI_address","value":"Syngenta Ltd Jealott’s Hill Int. Research Centre Bracknell, Berkshire, RG42 6EY, United Kingdom","reason":"Address found for non vertebrate study","matchedRule":3,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Text in table","color":[0.8,0.8,0.8],"positions":[{"topLeft":{"x":220.1,"y":245.33679},"width":329.0388,"height":-10.526825,"page":1},{"topLeft":{"x":220.1,"y":233.9368},"width":67.45911,"height":-10.526825,"page":1}],"sectionNumber":17,"textBefore":"Chronic Feeding Study. ","textAfter":" Report Number","comments":[],"startOffset":117,"endOffset":212,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.174043+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false}],"legalBasis":[],"dictionaryVersion":0,"dossierDictionaryVersion":0,"rulesVersion":0,"legalBasisVersion":0} \ No newline at end of file diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/A20622A izZRMS (CZ) fRR Part B7_Page123.json b/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/A20622A izZRMS (CZ) fRR Part B7_Page123.json new file mode 100644 index 00000000..23fb7499 --- /dev/null +++ b/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/A20622A izZRMS (CZ) fRR Part B7_Page123.json @@ -0,0 +1 @@ +{"analysisVersion":1,"analysisNumber":0,"redactionLogEntry":[{"id":"92415857d41b3bb8da8599c5461040cc","type":"vertebrate","value":"poultry","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":197.72882,"y":634.6777},"width":31.905624,"height":-11.017685,"page":1}],"sectionNumber":5,"textBefore":null,"textAfter":null,"comments":[],"startOffset":368,"endOffset":375,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.830043+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"54d1a14dd65f7cf44fa3d2813f31ca2a","type":"CBI_author","value":"Ryan","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":203.56255,"y":574.8768},"width":20.916,"height":-10.526825,"page":1}],"sectionNumber":3,"textBefore":"K-CA 6.4.1/01. ","textAfter":", J (2006).","comments":[],"startOffset":23,"endOffset":27,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.830047+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"d256d7a77f5efe2159285ba1d8b697a2","type":"vertebrate","value":"livestock","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":285.896,"y":769.058},"width":44.580017,"height":-11.358002,"page":1}],"sectionNumber":5,"textBefore":null,"textAfter":null,"comments":[],"startOffset":33,"endOffset":42,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.830048+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"3485f55573cfbc752065b34b813873ab","type":"hint_only","value":"Purity","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Table in: A2 Reference Materials","color":[0.67058825,0.7529412,0.76862746],"positions":[{"topLeft":{"x":76.704,"y":185.99847},"width":24.398994,"height":-10.018494,"page":1}],"sectionNumber":17,"textBefore":null,"textAfter":null,"comments":[],"startOffset":0,"endOffset":6,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.830048+03:00"}],"manualChanges":[],"engines":["RULE"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":false,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"a1462f65e0aafc6faa1a4757e9194268","type":"dossier_redactions","value":"Difenoconazole","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Table in: MATERIALS AND METHODS","color":[0.8,0.8,0.8],"positions":[{"topLeft":{"x":171.86,"y":369.22052},"width":56.98802,"height":-10.090515,"page":1}],"sectionNumber":6,"textBefore":null,"textAfter":null,"comments":[],"startOffset":12,"endOffset":26,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.830048+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":true,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"1f75624bba2f6d299573cdce66d6fc97","type":"hint_only","value":"Purity","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Table in: A2 Reference Materials","color":[0.67058825,0.7529412,0.76862746],"positions":[{"topLeft":{"x":76.704,"y":104.13849},"width":24.398994,"height":-10.018494,"page":1}],"sectionNumber":22,"textBefore":null,"textAfter":null,"comments":[],"startOffset":0,"endOffset":6,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.830049+03:00"}],"manualChanges":[],"engines":["RULE"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":false,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"3d9b1de6f03d814f4fd1e9bface8f177","type":"CBI_address","value":"Syngenta, Jealott’s Hill International Research Station, UK","reason":"Address found for non vertebrate study","matchedRule":3,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Text in table","color":[0.8,0.8,0.8],"positions":[{"topLeft":{"x":361.06778,"y":563.3568},"width":147.00983,"height":-10.526825,"page":1},{"topLeft":{"x":138.86,"y":551.8368},"width":86.69182,"height":-10.526825,"page":1}],"sectionNumber":3,"textBefore":"to Laying Hens. ","textAfter":". Study dates","comments":[],"startOffset":148,"endOffset":207,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.830049+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"bbb1e9745384fcd5b51dda024a1e64ab","type":"dossier_redactions","value":"Difenoconazole","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Text in table","color":[0.8,0.8,0.8],"positions":[{"topLeft":{"x":267.64517,"y":574.8768},"width":63.076813,"height":-10.526825,"page":1}],"sectionNumber":3,"textBefore":"Ryan, J (2006). ","textAfter":" – Magnitude","comments":[],"startOffset":39,"endOffset":53,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.830049+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":true,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"34f6e55dcf7be6a74df947d413cbe3cf","type":"vertebrate","value":"hens","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":382.46103,"y":659.8777},"width":20.136932,"height":-11.017685,"page":1}],"sectionNumber":5,"textBefore":null,"textAfter":null,"comments":[],"startOffset":198,"endOffset":202,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.83005+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"304e456d88c663ed7f12c9ddb7409321","type":"vertebrate","value":"livestock","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":155.9,"y":717.45795},"width":49.259995,"height":-11.358002,"page":1}],"sectionNumber":5,"textBefore":null,"textAfter":null,"comments":[],"startOffset":109,"endOffset":118,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.83005+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"484c3cdc377fcd3d377bf5029008704b","type":"vertebrate","value":"livestock","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":155.9,"y":743.258},"width":49.259995,"height":-11.358002,"page":1}],"sectionNumber":5,"textBefore":null,"textAfter":null,"comments":[],"startOffset":53,"endOffset":62,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.83005+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"e811b6b7e83767a9099360b57899518e","type":"PII","value":"Page","reason":"Personal information found","matchedRule":19,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Header","color":[0.4,0.8,1.0],"positions":[{"topLeft":{"x":487.3,"y":805.9705},"width":17.541016,"height":-10.0905,"page":1}],"sectionNumber":27,"textBefore":"A20622A ","textAfter":" 123 /152","comments":[],"startOffset":8,"endOffset":12,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.830051+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"7f90ea78bb5f2f0b5570d65f8b54f881","type":"dossier_redactions","value":"Difenoconazole","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Table in: A2 Reference Materials","color":[0.8,0.8,0.8],"positions":[{"topLeft":{"x":171.86,"y":256.87048},"width":56.98802,"height":-10.090515,"page":1}],"sectionNumber":13,"textBefore":null,"textAfter":null,"comments":[],"startOffset":12,"endOffset":26,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.830051+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":true,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"1c4aeed7858e594cc10e7954b9c27ced","type":"hint_only","value":"Purity","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Table in: MATERIALS AND METHODS","color":[0.67058825,0.7529412,0.76862746],"positions":[{"topLeft":{"x":76.704,"y":298.43848},"width":24.398994,"height":-10.018494,"page":1}],"sectionNumber":10,"textBefore":null,"textAfter":null,"comments":[],"startOffset":0,"endOffset":6,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.830052+03:00"}],"manualChanges":[],"engines":["RULE"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":false,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"d53ba8e32a47f2b8874c97a877291fbb","type":"vertebrate","value":"hens","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Text in table","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":335.5303,"y":563.3568},"width":20.547516,"height":-10.526825,"page":1}],"sectionNumber":3,"textBefore":null,"textAfter":null,"comments":[],"startOffset":142,"endOffset":146,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.830053+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false}],"legalBasis":[],"dictionaryVersion":0,"dossierDictionaryVersion":0,"rulesVersion":0,"legalBasisVersion":0} \ No newline at end of file diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/Thiabendazole DAR Addendum for ED_April_2020_Page18.json b/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/Thiabendazole DAR Addendum for ED_April_2020_Page18.json new file mode 100644 index 00000000..810c9b98 --- /dev/null +++ b/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/Thiabendazole DAR Addendum for ED_April_2020_Page18.json @@ -0,0 +1 @@ +{"analysisVersion":1,"analysisNumber":0,"redactionLogEntry":[{"id":"6ef2a2847745a54079ef6068e1e4238a","type":"vertebrate","value":"rat","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":287.4208,"y":406.9768},"width":10.537689,"height":-10.526825,"page":1}],"sectionNumber":12,"textBefore":null,"textAfter":null,"comments":[],"startOffset":193,"endOffset":196,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.020245+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"f0aadac1d4ae661773ea91e7f581d941","type":"no_redaction_indicator","value":"in vitro","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Header","color":[0.74509805,0.52156866,1.0],"positions":[{"topLeft":{"x":231.29,"y":699.74713},"width":30.417862,"height":-10.447144,"page":1}],"sectionNumber":23,"textBefore":null,"textAfter":null,"comments":[],"startOffset":336,"endOffset":344,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.020251+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"3000f08dec53be554e4aa03ce847f624","type":"vertebrate","value":"rat","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Text in table","color":[1.0,0.52156866,0.96862745],"positions":[{"topLeft":{"x":258.87656,"y":641.3977},"width":11.470581,"height":-11.017685,"page":1}],"sectionNumber":3,"textBefore":null,"textAfter":null,"comments":[],"startOffset":80,"endOffset":83,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.020251+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"cbf5d25065d18bcb7a7508584fd6b718","type":"CBI_author","value":"Ayub M and Levell MJ","reason":"Author found","matchedRule":8,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":95.304,"y":587.3677},"width":88.51329,"height":-11.01767,"page":1},{"topLeft":{"x":95.304,"y":574.6477},"width":14.014526,"height":-11.01767,"page":1}],"sectionNumber":4,"textBefore":null,"textAfter":null,"comments":[],"startOffset":0,"endOffset":20,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.020251+03:00"}],"manualChanges":[],"engines":["RULE"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":false,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"f11dfce4af33fc79901345aa6f336152","type":"no_redaction_indicator","value":"in vitro","reason":null,"matchedRule":0,"rectangle":false,"legalBasis":null,"imported":false,"redacted":false,"section":"Header","color":[0.74509805,0.52156866,1.0],"positions":[{"topLeft":{"x":160.7,"y":768.74713},"width":30.65686,"height":-10.447144,"page":1}],"sectionNumber":23,"textBefore":null,"textAfter":null,"comments":[],"startOffset":51,"endOffset":59,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.020252+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":true,"image":false},{"id":"a50dd4f3903824187aa2dd6b2010165a","type":"CBI_author","value":"Karmaus AL et al.","reason":"Author found","matchedRule":8,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":95.304,"y":545.8477},"width":82.921265,"height":-11.01767,"page":1}],"sectionNumber":5,"textBefore":null,"textAfter":null,"comments":[],"startOffset":0,"endOffset":17,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.020252+03:00"}],"manualChanges":[],"engines":["RULE"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":false,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"32e2039c609ff4fd7bbbe63b46cad08f","type":"CBI_author","value":"Ayub M and Levell MJ","reason":"Author found","matchedRule":8,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":95.304,"y":654.1177},"width":88.485565,"height":-11.017685,"page":1},{"topLeft":{"x":95.304,"y":641.3977},"width":14.014526,"height":-11.017685,"page":1}],"sectionNumber":3,"textBefore":null,"textAfter":null,"comments":[],"startOffset":0,"endOffset":20,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:40.020252+03:00"}],"manualChanges":[],"engines":["RULE"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":false,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false}],"legalBasis":[],"dictionaryVersion":0,"dossierDictionaryVersion":0,"rulesVersion":0,"legalBasisVersion":0} \ No newline at end of file diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/VV-931175_Page1.json b/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/VV-931175_Page1.json new file mode 100644 index 00000000..2db1792a --- /dev/null +++ b/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/SinglePages/VV-931175_Page1.json @@ -0,0 +1 @@ +{"analysisVersion":1,"analysisNumber":0,"redactionLogEntry":[{"id":"2e39fc3904499b839d3b082cbd6661ee","type":"CBI_author","value":"Campbell","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":168.10701,"y":342.9605},"width":34.875015,"height":-10.090515,"page":1}],"sectionNumber":6,"textBefore":"Jones R.N, ","textAfter":" A. 1998","comments":[],"startOffset":35,"endOffset":43,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.264236+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"eabdf6a91178e8a437593f4409387441","type":"CBI_author","value":"Earl M","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":373.35202,"y":312.7005},"width":25.164032,"height":-10.090515,"page":1}],"sectionNumber":6,"textBefore":"R.I., Tummon O.J., ","textAfter":". 1998 RAM","comments":[],"startOffset":224,"endOffset":230,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.26424+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"80309da10347d005b1d252316680116f","type":"CBI_author","value":"Earl M","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":373.35202,"y":260.86053},"width":25.164032,"height":-10.090515,"page":1}],"sectionNumber":8,"textBefore":"R.I., Tummon O.J., ","textAfter":". 2000 RAM","comments":[],"startOffset":288,"endOffset":294,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.26424+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"02ee292aee49f43641512fd4e3b371f9","type":"CBI_author","value":"Tummon","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":319.01,"y":260.86053},"width":32.921997,"height":-10.090515,"page":1}],"sectionNumber":7,"textBefore":"VV-124072 Johnson R.I., ","textAfter":" O.J., Earl","comments":[],"startOffset":275,"endOffset":281,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.26424+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"b4aedeebbf45b694ab451a0fbf5901c9","type":"CBI_author","value":"Johnson","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":319.01,"y":374.76053},"width":29.546967,"height":-10.0905,"page":1}],"sectionNumber":6,"textBefore":"Method: RAM 269 ","textAfter":" R.I., Tummon","comments":[],"startOffset":138,"endOffset":145,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.264241+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"6d79a0c2036b2a125f8020dcb15189ca","type":"CBI_author","value":"Earl M","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":373.35202,"y":364.44052},"width":25.164032,"height":-10.0905,"page":1}],"sectionNumber":10,"textBefore":"R.I., Tummon O.J., ","textAfter":". 1995 RJ1864B,","comments":[],"startOffset":218,"endOffset":224,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.264241+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"7d83193e832524a38efbc9cb20aaf7ee","type":"CBI_author","value":"Tummon","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":158.603,"y":132.91052},"width":32.804993,"height":-10.090515,"page":1}],"sectionNumber":10,"textBefore":"Earl M., ","textAfter":" O.J., Barnaud","comments":[],"startOffset":44,"endOffset":50,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.264241+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"60034a588617a6c21aef9e0d520554de","type":"CBI_author","value":"Tummon","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":319.01,"y":364.44052},"width":32.921997,"height":-10.0905,"page":1}],"sectionNumber":8,"textBefore":"269 Johnson R.I., ","textAfter":" O.J., Earl","comments":[],"startOffset":154,"endOffset":160,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.264242+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"82ecb931fe44d92d6c8d8412f72413ea","type":"CBI_author","value":"Tummon","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":319.01,"y":312.7005},"width":32.921997,"height":-10.090515,"page":1}],"sectionNumber":9,"textBefore":"VV-377731 Johnson R.I., ","textAfter":" O.J., Earl","comments":[],"startOffset":255,"endOffset":261,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.264243+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"04228431c631bd1b58febecf24f75aaa","type":"CBI_author","value":"Johnson","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":319.01,"y":323.0205},"width":29.546967,"height":-10.090515,"page":1}],"sectionNumber":8,"textBefore":"1995 RJ1864B, VV-377731 ","textAfter":" R.I., Tummon","comments":[],"startOffset":199,"endOffset":206,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.264243+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"fd079623790d15635abf9d68ace093d9","type":"CBI_author","value":"Robertson","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":170.42,"y":237.94052},"width":36.882004,"height":-10.090485,"page":1}],"sectionNumber":8,"textBefore":"Jones R.N., ","textAfter":" T. 1999","comments":[],"startOffset":36,"endOffset":45,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.264243+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"8da47372f8fbf745801eb494b9882ce3","type":"CBI_author","value":"Earl M","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":126.5,"y":132.91052},"width":25.271988,"height":-10.090515,"page":1}],"sectionNumber":10,"textBefore":null,"textAfter":"., Tummon O.J.,","comments":[],"startOffset":35,"endOffset":41,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.264244+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"fa6333bb3fef17f7d854657c126b4a01","type":"CBI_author","value":"Jones R.","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":126.5,"y":342.9605},"width":30.54602,"height":-10.090515,"page":1}],"sectionNumber":6,"textBefore":null,"textAfter":"N, Campbell A.","comments":[],"startOffset":24,"endOffset":32,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.264244+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"91ffa60db64a1bb0d216e970a2955ca1","type":"CBI_author","value":"Johnson","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":319.01,"y":271.3005},"width":29.546967,"height":-10.090485,"page":1}],"sectionNumber":8,"textBefore":"RAM 269/02, VV-124072 ","textAfter":" R.I., Tummon","comments":[],"startOffset":261,"endOffset":268,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.264244+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"1e0d2939129e8070829561b05071ca33","type":"CBI_author","value":"Jones R.","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":126.5,"y":237.94052},"width":30.54602,"height":-10.090485,"page":1}],"sectionNumber":8,"textBefore":null,"textAfter":"N., Robertson T.","comments":[],"startOffset":24,"endOffset":32,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.264244+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"166ca4a196aa5f26df27247b47fe7c2a","type":"CBI_author","value":"Evans P.","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":126.5,"y":395.5205},"width":31.63501,"height":-10.0905,"page":1}],"sectionNumber":5,"textBefore":null,"textAfter":"G. 2001 TMJ4569B,","comments":[],"startOffset":24,"endOffset":32,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.264245+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"fb685e092282a437f4139b40b4afdc2d","type":"CBI_author","value":"Robinson N.","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":319.01,"y":209.11053},"width":45.54001,"height":-10.090515,"page":1}],"sectionNumber":7,"textBefore":"269/03, VV-123986 Validation: ","textAfter":"J. 2001 TMJ4617B,","comments":[],"startOffset":335,"endOffset":346,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.264245+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"9105623fa0186988794863e5933a1c54","type":"CBI_author","value":"Hall","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":158.603,"y":185.47052},"width":15.444,"height":-10.090515,"page":1}],"sectionNumber":9,"textBefore":"Earl M., ","textAfter":" G. 1995","comments":[],"startOffset":44,"endOffset":48,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.264245+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"79acbb2ac898775d3a3d57072edf7590","type":"CBI_author","value":"Earl M","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":126.5,"y":185.47052},"width":25.271988,"height":-10.090515,"page":1}],"sectionNumber":9,"textBefore":null,"textAfter":"., Hall G.","comments":[],"startOffset":35,"endOffset":41,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.264246+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false},{"id":"528842724b0d3a292425af86b1931460","type":"CBI_author","value":"Jones R.","reason":"Author found","matchedRule":1,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Text in table","color":[1.0,0.88235295,0.5294118],"positions":[{"topLeft":{"x":126.5,"y":290.50052},"width":30.54602,"height":-10.090485,"page":1}],"sectionNumber":7,"textBefore":null,"textAfter":"N., Entwistle K.","comments":[],"startOffset":24,"endOffset":32,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.264246+03:00"}],"manualChanges":[],"engines":["DICTIONARY"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":true,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false}],"legalBasis":[],"dictionaryVersion":0,"dossierDictionaryVersion":0,"rulesVersion":0,"legalBasisVersion":0} \ No newline at end of file diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/new/simplified2.json b/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/new/simplified2.json new file mode 100644 index 00000000..3919b5cb --- /dev/null +++ b/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/files/new/simplified2.json @@ -0,0 +1 @@ +{"analysisVersion":1,"analysisNumber":0,"redactionLogEntry":[{"id":"1ce95cca1f60b72402b89d9fac0fcd38","type":"PII","value":"Dr. Alan Miller","reason":"Author found","matchedRule":27,"rectangle":false,"legalBasis":"Article 39(e)(3) of Regulation (EC) No 178/2002","imported":false,"redacted":true,"section":"Header","color":[0.4,0.8,1.0],"positions":[{"topLeft":{"x":141.62,"y":746.30005},"width":63.601456,"height":-11.519997,"page":1}],"sectionNumber":2,"textBefore":"AUTHOR(S): ","textAfter":" COMPLETION DATE:","comments":[],"startOffset":11,"endOffset":26,"imageHasTransparency":false,"excluded":false,"sourceId":null,"changes":[{"analysisNumber":0,"type":"ADDED","dateTime":"2023-06-01T23:46:41.46219+03:00"}],"manualChanges":[],"engines":["RULE"],"reference":[],"importedRedactionIntersections":[],"recommendation":false,"falsePositive":false,"dictionaryEntry":false,"dossierDictionaryEntry":false,"manuallyRemoved":false,"localManualRedaction":false,"hint":false,"image":false}],"legalBasis":[],"dictionaryVersion":0,"dossierDictionaryVersion":0,"rulesVersion":0,"legalBasisVersion":0} \ No newline at end of file