RED-4753: Reduced size of TEXT File migration
This commit is contained in:
parent
438a2a1ac2
commit
d7c2b73909
@ -1,27 +1,25 @@
|
||||
package com.iqser.red.service.peristence.v1.server.migration;
|
||||
|
||||
import com.iqser.red.service.peristence.v1.server.settings.FileManagementServiceSettings;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.MigrationPersistenceService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.context.event.ApplicationReadyEvent;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.event.EventListener;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import com.iqser.red.service.peristence.v1.server.settings.FileManagementServiceSettings;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.MigrationPersistenceService;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class MigrationStarterService {
|
||||
|
||||
// This should always be the latest migration version (2), but as 3.2.x does not have this, currently it is 1.
|
||||
// After migration to 3.3.x we must fix this.
|
||||
public static final long MIGRATION_SEED_VERSION = 8;
|
||||
|
||||
private final List<Migration> migrations;
|
||||
private final FileManagementServiceSettings settings;
|
||||
private final ApplicationContext ctx;
|
||||
@ -53,7 +51,8 @@ public class MigrationStarterService {
|
||||
private void seedMigration() {
|
||||
|
||||
if (migrationPersistenceService.getLatestProcessedVersion() == null) {
|
||||
migrationPersistenceService.insertMigration("migration start version", MIGRATION_SEED_VERSION);
|
||||
migrations.sort(Comparator.comparing(Migration::getVersion).reversed());
|
||||
migrationPersistenceService.insertMigration("migration start version", migrations.get(0).getVersion());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -0,0 +1,81 @@
|
||||
package com.iqser.red.service.peristence.v1.server.migration.migrations;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.iqser.red.service.peristence.v1.server.migration.Migration;
|
||||
import com.iqser.red.service.peristence.v1.server.migration.migrations.model.reducetext.Text;
|
||||
import com.iqser.red.service.peristence.v1.server.utils.StorageIdUtils;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DossierPersistenceService;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.FileStatusPersistenceService;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileType;
|
||||
import com.iqser.red.storage.commons.exception.StorageObjectDoesNotExist;
|
||||
import com.iqser.red.storage.commons.service.StorageService;
|
||||
|
||||
import lombok.Setter;
|
||||
import lombok.SneakyThrows;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
@Slf4j
|
||||
@Setter
|
||||
@Service
|
||||
public class ReduceTextFileSizeMigration10 extends Migration {
|
||||
|
||||
private static final String NAME = "Reduce TEXT filesize migration";
|
||||
private static final long VERSION = 10;
|
||||
|
||||
@Autowired
|
||||
private DossierPersistenceService dossierPersistenceService;
|
||||
|
||||
@Autowired
|
||||
private FileStatusPersistenceService fileStatusPersistenceService;
|
||||
|
||||
@Autowired
|
||||
private StorageService storageService;
|
||||
|
||||
|
||||
public ReduceTextFileSizeMigration10() {
|
||||
|
||||
super(NAME, VERSION);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void migrate() {
|
||||
|
||||
var dossiers = dossierPersistenceService.findAllDossiers();
|
||||
dossiers.forEach(dossier -> {
|
||||
if (dossier.getHardDeletedTime() == null) {
|
||||
var files = fileStatusPersistenceService.getStatusesForDossier(dossier.getId());
|
||||
log.info("Start migration of dossier {}", dossier.getId());
|
||||
files.forEach(file -> {
|
||||
if (file.getHardDeletedTime() == null) {
|
||||
log.info("Start migration of file {}", file.getId());
|
||||
migrateFile(dossier.getId(), file.getId());
|
||||
log.info("Finished migration of file {}", file.getId());
|
||||
}
|
||||
});
|
||||
log.info("Finished migration of dossier {}", dossier.getId());
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
@SneakyThrows
|
||||
public void migrateFile(String dossierId, String fileId) {
|
||||
|
||||
try {
|
||||
var text = storageService.readJSONObject(StorageIdUtils.getStorageId(dossierId, fileId, FileType.TEXT), Text.class);
|
||||
storageService.storeJSONObject(StorageIdUtils.getStorageId(dossierId, fileId, FileType.TEXT), text);
|
||||
} catch (StorageObjectDoesNotExist e) {
|
||||
log.warn("Text not found for dossier {} and file {}, ignoring....", dossierId, fileId);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -0,0 +1,52 @@
|
||||
package com.iqser.red.service.peristence.v1.server.migration.migrations.model.reducetext;
|
||||
|
||||
import com.dslplatform.json.JsonAttribute;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.iqser.red.service.redaction.v1.model.Rectangle;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public abstract class AbstractTextContainer {
|
||||
|
||||
@JsonIgnore
|
||||
protected float minX;
|
||||
@JsonIgnore
|
||||
protected float maxX;
|
||||
@JsonIgnore
|
||||
protected float minY;
|
||||
@JsonIgnore
|
||||
protected float maxY;
|
||||
@JsonIgnore
|
||||
protected String classification;
|
||||
@JsonIgnore
|
||||
protected int page;
|
||||
|
||||
|
||||
public abstract String getText();
|
||||
|
||||
public boolean contains(AbstractTextContainer other) {
|
||||
return this.minX <= other.minX && this.maxX >= other.maxX && this.minY >= other.minY && this.maxY <= other.maxY;
|
||||
}
|
||||
|
||||
public boolean contains(Rectangle other) {
|
||||
return page == other.getPage() && this.minX <= other.getTopLeft().getX() && this.maxX >= other.getTopLeft().getX() + other.getWidth() && this.minY <= other.getTopLeft().getY() && this.maxY >= other.getTopLeft().getY() + other.getHeight();
|
||||
}
|
||||
|
||||
@JsonIgnore
|
||||
@JsonAttribute(ignore = true)
|
||||
public float getHeight() {
|
||||
return maxY - minY;
|
||||
}
|
||||
|
||||
@JsonIgnore
|
||||
@JsonAttribute(ignore = true)
|
||||
public float getWidth() {
|
||||
return maxX - minX;
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,19 @@
|
||||
package com.iqser.red.service.peristence.v1.server.migration.migrations.model.reducetext;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class CellValue {
|
||||
|
||||
private List<TextBlock> textBlocks = new ArrayList<>();
|
||||
|
||||
private int rowSpanStart;
|
||||
|
||||
}
|
||||
@ -0,0 +1,29 @@
|
||||
package com.iqser.red.service.peristence.v1.server.migration.migrations.model.reducetext;
|
||||
|
||||
import com.dslplatform.json.CompiledJson;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@CompiledJson
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class Image {
|
||||
|
||||
private String type;
|
||||
private RedRectangle2D position;
|
||||
private boolean redaction;
|
||||
private String redactionReason;
|
||||
private String legalBasis;
|
||||
private int matchedRule;
|
||||
private int sectionNumber;
|
||||
private String section;
|
||||
private int page;
|
||||
private boolean ignored;
|
||||
private boolean hasTransparency;
|
||||
|
||||
}
|
||||
@ -0,0 +1,48 @@
|
||||
package com.iqser.red.service.peristence.v1.server.migration.migrations.model.reducetext;
|
||||
|
||||
import com.dslplatform.json.CompiledJson;
|
||||
import com.dslplatform.json.JsonAttribute;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@CompiledJson
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class RedRectangle2D {
|
||||
|
||||
public static final double THRESHOLD = 0.01;
|
||||
|
||||
private double x;
|
||||
private double y;
|
||||
private double width;
|
||||
private double height;
|
||||
|
||||
@JsonIgnore
|
||||
@JsonAttribute(ignore = true)
|
||||
public boolean isEmpty() {
|
||||
return width <= 0.0f || height <= 0.0f;
|
||||
}
|
||||
|
||||
public boolean contains(double x, double y, double w, double h) {
|
||||
if (isEmpty() || w <= 0 || h <= 0) {
|
||||
return false;
|
||||
}
|
||||
double x0 = getX();
|
||||
double y0 = getY();
|
||||
return round(x) >= round(x0) &&
|
||||
round(y) >= round(y0) &&
|
||||
(x + w) - (x0 + getWidth()) <= THRESHOLD &&
|
||||
(y + h) - (y0 + getHeight()) <= THRESHOLD;
|
||||
}
|
||||
|
||||
private double round(double value) {
|
||||
double d = Math.pow(10, 2);
|
||||
return Math.round(value * d) / d;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,120 @@
|
||||
package com.iqser.red.service.peristence.v1.server.migration.migrations.model.reducetext;
|
||||
|
||||
import com.dslplatform.json.CompiledJson;
|
||||
import com.dslplatform.json.JsonAttribute;
|
||||
import com.fasterxml.jackson.annotation.JsonAlias;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@CompiledJson
|
||||
public class RedTextPosition {
|
||||
|
||||
// Same values
|
||||
private String textMatrix;
|
||||
private String unicode;
|
||||
|
||||
// New
|
||||
private float[] position;
|
||||
|
||||
// Moved to position
|
||||
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
|
||||
private float XDirAdj;
|
||||
|
||||
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
|
||||
private float YDirAdj;
|
||||
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
|
||||
@JsonAttribute
|
||||
private float heightDir;
|
||||
@JsonAttribute
|
||||
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
|
||||
private float widthDirAdj;
|
||||
|
||||
// Moved To TextPositionSequence
|
||||
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
|
||||
@JsonAttribute
|
||||
private float pageHeight;
|
||||
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
|
||||
@JsonAttribute
|
||||
private float pageWidth;
|
||||
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
|
||||
@JsonAttribute
|
||||
private float dir;
|
||||
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
|
||||
@JsonAttribute
|
||||
private int rotation;
|
||||
|
||||
// Removed values
|
||||
@JsonIgnore
|
||||
private float y;
|
||||
@JsonIgnore
|
||||
private float width;
|
||||
|
||||
@JsonAttribute()
|
||||
@JsonProperty(access = JsonProperty.Access.READ_ONLY)
|
||||
public float[] getPosition() {
|
||||
|
||||
var position = new float[4];
|
||||
|
||||
position[0] = XDirAdj;
|
||||
position[1] = YDirAdj;
|
||||
position[2] = widthDirAdj;
|
||||
position[3] = heightDir;
|
||||
|
||||
return position;
|
||||
}
|
||||
|
||||
|
||||
@JsonAlias("xdirAdj")
|
||||
@JsonAttribute(alternativeNames = {"xdirAdj"})
|
||||
@JsonProperty
|
||||
public void setXDirAdj(float XDirAdj) {
|
||||
this.XDirAdj = XDirAdj;}
|
||||
|
||||
|
||||
@JsonAlias("ydirAdj")
|
||||
@JsonAttribute(alternativeNames = {"ydirAdj"})
|
||||
@JsonProperty
|
||||
public void setYDirAdj(float YDirAdj) {this.YDirAdj = YDirAdj;}
|
||||
|
||||
|
||||
@JsonIgnore
|
||||
public float getXDirAdj() {return this.XDirAdj;}
|
||||
|
||||
|
||||
@JsonIgnore
|
||||
public float getYDirAdj() {return this.YDirAdj;}
|
||||
|
||||
|
||||
@JsonIgnore
|
||||
public float getWidthDirAdj() {return this.widthDirAdj;}
|
||||
|
||||
|
||||
@JsonIgnore
|
||||
public float getHeightDir() {return this.heightDir;}
|
||||
|
||||
|
||||
@JsonIgnore
|
||||
public float getPageHeight() {return this.pageHeight;}
|
||||
|
||||
|
||||
@JsonIgnore
|
||||
public float getPageWidth() {return this.pageWidth;}
|
||||
|
||||
|
||||
@JsonIgnore
|
||||
public int getRotation() {return this.rotation;}
|
||||
|
||||
|
||||
@JsonIgnore
|
||||
public float getDir() {return this.dir;}
|
||||
|
||||
}
|
||||
@ -0,0 +1,38 @@
|
||||
package com.iqser.red.service.peristence.v1.server.migration.migrations.model.reducetext;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import com.dslplatform.json.CompiledJson;
|
||||
import com.iqser.red.service.redaction.v1.model.SectionArea;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@CompiledJson
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class SectionText {
|
||||
|
||||
private int sectionNumber;
|
||||
private String text;
|
||||
|
||||
private boolean isTable;
|
||||
private String headline;
|
||||
|
||||
private List<SectionArea> sectionAreas = new ArrayList<>();
|
||||
private Set<Image> images = new HashSet<>();
|
||||
|
||||
private List<TextBlock> textBlocks = new ArrayList<>();
|
||||
private Map<String, CellValue> tabularData = new HashMap<>();
|
||||
private List<Integer> cellStarts = new ArrayList<>();
|
||||
|
||||
}
|
||||
@ -0,0 +1,21 @@
|
||||
package com.iqser.red.service.peristence.v1.server.migration.migrations.model.reducetext;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.dslplatform.json.CompiledJson;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@CompiledJson
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class Text {
|
||||
|
||||
private int numberOfPages;
|
||||
private List<SectionText> sectionTexts = new ArrayList<>();
|
||||
|
||||
}
|
||||
@ -0,0 +1,59 @@
|
||||
package com.iqser.red.service.peristence.v1.server.migration.migrations.model.reducetext;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.dslplatform.json.CompiledJson;
|
||||
import com.dslplatform.json.JsonAttribute;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
@Data
|
||||
@CompiledJson
|
||||
@NoArgsConstructor
|
||||
public class TextBlock extends AbstractTextContainer {
|
||||
|
||||
@Builder.Default
|
||||
private List<TextPositionSequence> sequences = new ArrayList<>();
|
||||
|
||||
@JsonIgnore
|
||||
private int rotation;
|
||||
|
||||
@JsonIgnore
|
||||
private String mostPopularWordFont;
|
||||
|
||||
@JsonIgnore
|
||||
private String mostPopularWordStyle;
|
||||
|
||||
@JsonIgnore
|
||||
private float mostPopularWordFontSize;
|
||||
|
||||
@JsonIgnore
|
||||
private float mostPopularWordHeight;
|
||||
|
||||
@JsonIgnore
|
||||
private float mostPopularWordSpaceWidth;
|
||||
|
||||
@JsonIgnore
|
||||
private float highestFontSize;
|
||||
|
||||
@JsonIgnore
|
||||
private String classification;
|
||||
|
||||
|
||||
@Override
|
||||
@JsonIgnore
|
||||
@JsonAttribute(ignore = true)
|
||||
public String getText() {
|
||||
|
||||
return null;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,53 @@
|
||||
package com.iqser.red.service.peristence.v1.server.migration.migrations.model.reducetext;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.dslplatform.json.CompiledJson;
|
||||
import com.dslplatform.json.JsonAttribute;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
@Slf4j
|
||||
@Data
|
||||
@Builder
|
||||
@CompiledJson
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class TextPositionSequence {
|
||||
|
||||
private int page;
|
||||
private List<RedTextPosition> textPositions = new ArrayList<>();
|
||||
|
||||
// Removed
|
||||
@JsonIgnore
|
||||
private float x1;
|
||||
@JsonIgnore
|
||||
private float x2;
|
||||
|
||||
|
||||
// Added
|
||||
private float dir;
|
||||
private int rotation;
|
||||
private float pageHeight;
|
||||
private float pageWidth;
|
||||
|
||||
@JsonAttribute
|
||||
public float getDir() {
|
||||
return textPositions.get(0).getDir();}
|
||||
|
||||
@JsonAttribute
|
||||
public int getRotation() {return textPositions.get(0).getRotation();}
|
||||
|
||||
@JsonAttribute
|
||||
public float getPageHeight() {return textPositions.get(0).getPageHeight();}
|
||||
|
||||
@JsonAttribute
|
||||
public float getPageWidth() {return textPositions.get(0).getPageWidth();}
|
||||
|
||||
}
|
||||
@ -0,0 +1,46 @@
|
||||
package com.iqser.red.service.peristence.v1.server.integration.tests;
|
||||
|
||||
import java.io.FileOutputStream;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest;
|
||||
import com.iqser.red.service.peristence.v1.server.integration.utils.OsUtils;
|
||||
import com.iqser.red.service.peristence.v1.server.migration.migrations.ReduceTextFileSizeMigration10;
|
||||
import com.iqser.red.service.peristence.v1.server.migration.migrations.model.reducetext.Text;
|
||||
import com.iqser.red.service.peristence.v1.server.utils.StorageIdUtils;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileType;
|
||||
|
||||
import lombok.SneakyThrows;
|
||||
|
||||
public class ReduceFileSizeMigrationTest extends AbstractPersistenceServerServiceTest {
|
||||
|
||||
@Autowired
|
||||
private ReduceTextFileSizeMigration10 reduceTextFileSizeMigration10;
|
||||
|
||||
@Autowired
|
||||
private ObjectMapper objectMapper;
|
||||
|
||||
|
||||
@Test
|
||||
@SneakyThrows
|
||||
public void testMapping() {
|
||||
|
||||
ClassPathResource responseJson = new ClassPathResource("files/migration/Text.json");
|
||||
|
||||
storageService.storeObject(StorageIdUtils.getStorageId("dossierId", "fileId", FileType.TEXT), responseJson.getInputStream());
|
||||
|
||||
reduceTextFileSizeMigration10.migrateFile("dossierId", "fileId");
|
||||
|
||||
var text = storageService.readJSONObject(StorageIdUtils.getStorageId("dossierId", "fileId", FileType.TEXT), Text.class);
|
||||
|
||||
try (FileOutputStream fileOutputStream = new FileOutputStream(OsUtils.getTemporaryDirectory() + "/MigratedText.json")) {
|
||||
fileOutputStream.write(objectMapper.writeValueAsBytes(text));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,22 @@
|
||||
package com.iqser.red.service.peristence.v1.server.integration.utils;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
public class OsUtils {
|
||||
|
||||
public static boolean isWindows() {
|
||||
|
||||
return StringUtils.containsIgnoreCase(System.getProperty("os.name"), "Windows");
|
||||
}
|
||||
|
||||
|
||||
public static String getTemporaryDirectory() {
|
||||
|
||||
String tmpdir = System.getProperty("java.io.tmpdir");
|
||||
if (isWindows() && StringUtils.isNotBlank(tmpdir)) {
|
||||
return tmpdir;
|
||||
}
|
||||
return "/tmp";
|
||||
}
|
||||
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1 +0,0 @@
|
||||
[{"category":"LICENSE","recordCount":28},{"category":"DOWNLOAD","recordCount":2},{"category":"AUDIT_LOG","recordCount":2},{"category":"DOSSIER","recordCount":64},{"category":"DOCUMENT","recordCount":40},{"category":"AUDIT","recordCount":2},{"category":"DOSSIER_TEMPLATE","recordCount":1}]
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,548 +0,0 @@
|
||||
[
|
||||
{
|
||||
"type": "false_positive",
|
||||
"hexColor": "#ffffff",
|
||||
"dossierTemplateId": "6d945ebb-604b-4781-a72b-0f07e8ceb3e6",
|
||||
"rank": 1,
|
||||
"description": null,
|
||||
"addToDictionaryAction": false,
|
||||
"label": "False Positive",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": false,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "formula",
|
||||
"hexColor": "#036ffc",
|
||||
"dossierTemplateId": "6d945ebb-604b-4781-a72b-0f07e8ceb3e6",
|
||||
"rank": 1002,
|
||||
"description": "Empty dictionary used to configure formula colors.",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Formula",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": true,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "image",
|
||||
"hexColor": "#bdd6ff",
|
||||
"dossierTemplateId": "6d945ebb-604b-4781-a72b-0f07e8ceb3e6",
|
||||
"rank": 999,
|
||||
"description": "Empty dictionary used to configure image colors.",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Image",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": true,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "logo",
|
||||
"hexColor": "#bdd6ff",
|
||||
"dossierTemplateId": "6d945ebb-604b-4781-a72b-0f07e8ceb3e6",
|
||||
"rank": 1001,
|
||||
"description": "Empty dictionary used to configure logo colors.",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Logo",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": true,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "ocr",
|
||||
"hexColor": "#bdd6ff",
|
||||
"dossierTemplateId": "6d945ebb-604b-4781-a72b-0f07e8ceb3e6",
|
||||
"rank": 1000,
|
||||
"description": "Empty dictionary used to configure ocr colors.",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Ocr",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": true,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "signature",
|
||||
"hexColor": "#bdd6ff",
|
||||
"dossierTemplateId": "6d945ebb-604b-4781-a72b-0f07e8ceb3e6",
|
||||
"rank": 1003,
|
||||
"description": "Empty dictionary used to configure signature colors.",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Signature",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": true,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "dossier_redaction",
|
||||
"hexColor": "#9398a0",
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"rank": 1500,
|
||||
"description": "Entries in this dictionary will only be redacted in this dossier",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Dossier Redaction",
|
||||
"dossierId": "48c10c3e-9831-4165-a80e-6e96ba2c3e98",
|
||||
"hint": false,
|
||||
"caseInsensitive": false,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "dossier_redaction",
|
||||
"hexColor": "#9398a0",
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"rank": 1500,
|
||||
"description": "Entries in this dictionary will only be redacted in this dossier",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Dossier Redaction",
|
||||
"dossierId": "b2c9c4e5-5382-4862-9402-5b619c41a68c",
|
||||
"hint": false,
|
||||
"caseInsensitive": false,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "CBI_address",
|
||||
"hexColor": "#9398a0",
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"rank": 140,
|
||||
"description": "All site names and addresses, and location (e.g. Syngenta, Monthey, GPS Co-ordinates, Mr Smith of … providing the…). Except addresses in published literature and the applicant address.",
|
||||
"addToDictionaryAction": true,
|
||||
"label": "CBI Address",
|
||||
"dossierId": "global",
|
||||
"hint": false,
|
||||
"caseInsensitive": false,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "CBI_author",
|
||||
"hexColor": "#9398a0",
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"rank": 130,
|
||||
"description": "All authors named in the study documentation. Except names in published literature.",
|
||||
"addToDictionaryAction": true,
|
||||
"label": "CBI Author",
|
||||
"dossierId": "global",
|
||||
"hint": false,
|
||||
"caseInsensitive": false,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "PII",
|
||||
"hexColor": "#9398a0",
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"rank": 150,
|
||||
"description": "Not authors but listed in the document: Names, signatures, telephone, email etc.; e.g. Reg Manager, QA Manager",
|
||||
"addToDictionaryAction": true,
|
||||
"label": "PII",
|
||||
"dossierId": "global",
|
||||
"hint": false,
|
||||
"caseInsensitive": false,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "false_positive",
|
||||
"hexColor": "#ffcece",
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"rank": 160,
|
||||
"description": "System managed: Filled automatically by user feedback on false positives",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "False Positive",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": false,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "formula",
|
||||
"hexColor": "#036ffc",
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"rank": 1002,
|
||||
"description": "Empty dictionary used to configure formula colors.",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Formula",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": true,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "hint_only",
|
||||
"hexColor": "#fa98f7",
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"rank": 50,
|
||||
"description": "Entries of this dictionary will be highlighted only",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Hint Only",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": true,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "image",
|
||||
"hexColor": "#bdd6ff",
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"rank": 999,
|
||||
"description": "Empty dictionary used to configure image colors.",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Image",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": true,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "logo",
|
||||
"hexColor": "#9398a0",
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"rank": 1001,
|
||||
"description": "Empty dictionary used to configure logo colors.",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Logo",
|
||||
"dossierId": "global",
|
||||
"hint": false,
|
||||
"caseInsensitive": true,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "must_redact",
|
||||
"hexColor": "#9398a0",
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"rank": 100,
|
||||
"description": "Entries of this dictionary get redacted wherever found.",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Must Redact",
|
||||
"dossierId": "global",
|
||||
"hint": false,
|
||||
"caseInsensitive": true,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "ocr",
|
||||
"hexColor": "#bdd6ff",
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"rank": 1000,
|
||||
"description": "Empty dictionary used to configure ocr colors.",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Ocr",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": true,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "published_information",
|
||||
"hexColor": "#85ebff",
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"rank": 70,
|
||||
"description": "Manual managed list of public journals and papers that need no redaction",
|
||||
"addToDictionaryAction": true,
|
||||
"label": "Published Information",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": false,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "recommendation_CBI_address",
|
||||
"hexColor": "#8df06c",
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"rank": 30,
|
||||
"description": "System managed: Automatically detected recommendations for CBI Address",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Recommendation CBI Address",
|
||||
"dossierId": "global",
|
||||
"hint": false,
|
||||
"caseInsensitive": false,
|
||||
"recommendation": true
|
||||
},
|
||||
{
|
||||
"type": "recommendation_CBI_author",
|
||||
"hexColor": "#8df06c",
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"rank": 40,
|
||||
"description": "System managed: Automatically detected recommendations for CBI Author",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Recommendation CBI Author",
|
||||
"dossierId": "global",
|
||||
"hint": false,
|
||||
"caseInsensitive": false,
|
||||
"recommendation": true
|
||||
},
|
||||
{
|
||||
"type": "signature",
|
||||
"hexColor": "#9398a0",
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"rank": 1003,
|
||||
"description": "Empty dictionary used to configure signature colors.",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Signature",
|
||||
"dossierId": "global",
|
||||
"hint": false,
|
||||
"caseInsensitive": true,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "dossier_redaction",
|
||||
"hexColor": "#9398a0",
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"rank": 1500,
|
||||
"description": "Entries in this dictionary will only be redacted in this dossier",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Dossier Redaction",
|
||||
"dossierId": "d46267c1-bb19-44ca-8c0c-60fb5d5309c5",
|
||||
"hint": false,
|
||||
"caseInsensitive": false,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "CBI_address",
|
||||
"hexColor": "#9398a0",
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"rank": 140,
|
||||
"description": "Laboratory Address: Redaction in combination with vertebrates",
|
||||
"addToDictionaryAction": true,
|
||||
"label": "CBI Address",
|
||||
"dossierId": "global",
|
||||
"hint": false,
|
||||
"caseInsensitive": false,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "CBI_author",
|
||||
"hexColor": "#9398a0",
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"rank": 130,
|
||||
"description": "Study Author: Redaction in combination with vertebrates",
|
||||
"addToDictionaryAction": true,
|
||||
"label": "CBI Author",
|
||||
"dossierId": "global",
|
||||
"hint": false,
|
||||
"caseInsensitive": false,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "CBI_sponsor",
|
||||
"hexColor": "#9398a0",
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"rank": 120,
|
||||
"description": "Batch Sponsor: Redaction in combination with 'batches produced at'",
|
||||
"addToDictionaryAction": true,
|
||||
"label": "CBI Sponsor",
|
||||
"dossierId": "global",
|
||||
"hint": false,
|
||||
"caseInsensitive": false,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "PII",
|
||||
"hexColor": "#9398a0",
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"rank": 150,
|
||||
"description": "Personal Identification Information: Redact name, email, phone, fax, ... of employees",
|
||||
"addToDictionaryAction": true,
|
||||
"label": "PII",
|
||||
"dossierId": "global",
|
||||
"hint": false,
|
||||
"caseInsensitive": false,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "false_positive",
|
||||
"hexColor": "#ffcece",
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"rank": 160,
|
||||
"description": "System managed: Filled automatically by user feedback on false positives",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "False Positive",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": false,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "formula",
|
||||
"hexColor": "#036ffc",
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"rank": 1002,
|
||||
"description": "Empty dictionary used to configure formula colors.",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Formula",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": true,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "hint_only",
|
||||
"hexColor": "#fa98f7",
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"rank": 50,
|
||||
"description": "Entries of this dictionary will be highlighted only",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Hint Only",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": true,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "image",
|
||||
"hexColor": "#bdd6ff",
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"rank": 999,
|
||||
"description": "Empty dictionary used to configure image colors.",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Image",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": true,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "logo",
|
||||
"hexColor": "#9398a0",
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"rank": 1001,
|
||||
"description": "Empty dictionary used to configure logo colors.",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Logo",
|
||||
"dossierId": "global",
|
||||
"hint": false,
|
||||
"caseInsensitive": true,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "must_redact",
|
||||
"hexColor": "#fa98f7",
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"rank": 100,
|
||||
"description": "Forces redaction of CBI Author/Address even if there is no vertebrate",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Must Redact",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": true,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "no_redaction_indicator",
|
||||
"hexColor": "#be85ff",
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"rank": 80,
|
||||
"description": "Prevents redaction of CBI Author/Address although there is a vertebrate, e.g. vertebrate and in vitro is found",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "No Redaction Indicator",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": true,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "ocr",
|
||||
"hexColor": "#bdd6ff",
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"rank": 1000,
|
||||
"description": "Empty dictionary used to configure ocr colors.",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Ocr",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": true,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "published_information",
|
||||
"hexColor": "#85ebff",
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"rank": 70,
|
||||
"description": "Manual managed list of public journals and papers that need no redaction",
|
||||
"addToDictionaryAction": true,
|
||||
"label": "Published Information",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": false,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "recommendation_CBI_address",
|
||||
"hexColor": "#8df06c",
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"rank": 30,
|
||||
"description": "System managed: Automatically detected recommendations for CBI Address",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Recommendation CBI Address",
|
||||
"dossierId": "global",
|
||||
"hint": false,
|
||||
"caseInsensitive": false,
|
||||
"recommendation": true
|
||||
},
|
||||
{
|
||||
"type": "recommendation_CBI_author",
|
||||
"hexColor": "#8df06c",
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"rank": 40,
|
||||
"description": "System managed: Automatically detected recommendations for CBI Author",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Recommendation CBI Author",
|
||||
"dossierId": "global",
|
||||
"hint": false,
|
||||
"caseInsensitive": false,
|
||||
"recommendation": true
|
||||
},
|
||||
{
|
||||
"type": "redaction_indicator",
|
||||
"hexColor": "#ff85f7",
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"rank": 90,
|
||||
"description": "Forces redaction of CBI Author/Address even if there is a 'No Redaction Indicator', e.g. vertebrate, in vitro, and in vivo is found",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Redaction Indicator",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": true,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "signature",
|
||||
"hexColor": "#9398a0",
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"rank": 1003,
|
||||
"description": "Empty dictionary used to configure signature colors.",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Signature",
|
||||
"dossierId": "global",
|
||||
"hint": false,
|
||||
"caseInsensitive": true,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "test_method",
|
||||
"hexColor": "#91fae8",
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"rank": 60,
|
||||
"description": "Manual managed list of Test Methods to disambiguate some CBI Authors like Fisher vs Fisher's Test",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Test Method",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": false,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "vertebrate",
|
||||
"hexColor": "#ff85f7",
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"rank": 110,
|
||||
"description": "List of vertebrates that cause redaction of CBI Author/Address",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Vertebrate",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": true,
|
||||
"recommendation": false
|
||||
}
|
||||
]
|
||||
@ -1 +0,0 @@
|
||||
[{"dossierAttributeId":"2884a75c-9be1-4557-824f-c85e3beca515","value":"Hello World","dossierId":"d46267c1-bb19-44ca-8c0c-60fb5d5309c5"}]
|
||||
@ -1,50 +0,0 @@
|
||||
[
|
||||
{
|
||||
"dossierTemplateId": "6d945ebb-604b-4781-a72b-0f07e8ceb3e6",
|
||||
"name": "Manual Redaction",
|
||||
"description": "Only manual redactions.",
|
||||
"dateAdded": "2021-11-15T13:27:30Z",
|
||||
"dateModified": "2021-11-16T08:15:57Z",
|
||||
"createdBy": "ad4c802c-907b-41f2-8afa-9fa37e29c004",
|
||||
"modifiedBy": "3f928d0d-79af-44b7-9398-294369fe65ac",
|
||||
"validFrom": null,
|
||||
"validTo": null,
|
||||
"downloadFileTypes": [
|
||||
"PREVIEW",
|
||||
"REDACTED"
|
||||
],
|
||||
"deleted": true
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"name": "EFSA sanitisation GFL v1",
|
||||
"description": "Redact all authors, laboratory addresses and other geolocation.",
|
||||
"dateAdded": "2021-11-15T13:26:59Z",
|
||||
"dateModified": "2021-07-19T08:09:27Z",
|
||||
"createdBy": "e3aed6ea-a9e5-4f3f-bde7-6f0fe0c4362c",
|
||||
"modifiedBy": "e3aed6ea-a9e5-4f3f-bde7-6f0fe0c4362c",
|
||||
"validFrom": null,
|
||||
"validTo": null,
|
||||
"downloadFileTypes": [
|
||||
"PREVIEW",
|
||||
"REDACTED"
|
||||
],
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"name": "EFSA sanitisation pre GFL v1",
|
||||
"description": "Redact authors and laboratory addresses in combination with a vertebrate.",
|
||||
"dateAdded": "2021-11-15T13:24:40Z",
|
||||
"dateModified": "2021-11-15T13:27:17Z",
|
||||
"createdBy": "System",
|
||||
"modifiedBy": null,
|
||||
"validFrom": null,
|
||||
"validTo": null,
|
||||
"downloadFileTypes": [
|
||||
"PREVIEW",
|
||||
"REDACTED"
|
||||
],
|
||||
"deleted": false
|
||||
}
|
||||
]
|
||||
@ -1 +0,0 @@
|
||||
[{"dossierId":"48c10c3e-9831-4165-a80e-6e96ba2c3e98","dossierTemplateId":"49156a1f-30cc-412f-8778-eb5bd842d709","dossierName":"Dom2","date":"2021-11-15T13:27:48Z","description":"","status":"ACTIVE","ownerId":"f8960240-9973-42e9-9b0f-ed096ff5a018","memberIds":["f8960240-9973-42e9-9b0f-ed096ff5a018"],"approverIds":["f8960240-9973-42e9-9b0f-ed096ff5a018"],"downloadFileTypes":["PREVIEW","REDACTED"],"reportTypes":[],"dueDate":null,"reportTemplateIds":["e37613cb-e093-49af-ae69-5678148c29b8"],"softDeletedTime":null,"hardDeletedTime":null},{"dossierId":"b2c9c4e5-5382-4862-9402-5b619c41a68c","dossierTemplateId":"49156a1f-30cc-412f-8778-eb5bd842d709","dossierName":"Dom1","date":"2021-11-15T13:27:19Z","description":"","status":"ACTIVE","ownerId":"f8960240-9973-42e9-9b0f-ed096ff5a018","memberIds":["f8960240-9973-42e9-9b0f-ed096ff5a018"],"approverIds":["f8960240-9973-42e9-9b0f-ed096ff5a018"],"downloadFileTypes":["PREVIEW","REDACTED"],"reportTypes":[],"dueDate":null,"reportTemplateIds":["75674b0f-7c70-4903-b30a-2a4aa330b6b1","87553a68-49e7-4bb6-9af7-263dcb81e964","e2eff609-1dbb-4f10-a1a2-de71f03e5875","e37613cb-e093-49af-ae69-5678148c29b8"],"softDeletedTime":null,"hardDeletedTime":null},{"dossierId":"d46267c1-bb19-44ca-8c0c-60fb5d5309c5","dossierTemplateId":"9b7bd575-4566-4408-984f-b26da1d2616e","dossierName":"Dom3","date":"2021-11-15T13:28:31Z","description":"","status":"ACTIVE","ownerId":"f8960240-9973-42e9-9b0f-ed096ff5a018","memberIds":["f8960240-9973-42e9-9b0f-ed096ff5a018"],"approverIds":["f8960240-9973-42e9-9b0f-ed096ff5a018"],"downloadFileTypes":["PREVIEW","REDACTED"],"reportTypes":[],"dueDate":null,"reportTemplateIds":["bb18db9e-2730-403c-90c0-d306aac06284"],"softDeletedTime":null,"hardDeletedTime":null}]
|
||||
@ -1 +0,0 @@
|
||||
[]
|
||||
@ -1,243 +0,0 @@
|
||||
[
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "!BACON",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "#210 South Railway P.O. Box 144 Minto, MB ROK 1MO",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "#93-9017",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "'s-Hertogenbosch, The Netherlands",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "(AMBIS, Inc.",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "(Bray), Wicklow, Ireland",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "(Mobec, Inc.",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "-Nobel-Str. 50, D-40789 Monheim am Rhein",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "/ Agrisearch Italia SRL",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "04827 Gerichshain, Germany",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "06º 04' 32'",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "1 Rue Petits Champs Varennes Sur Loire 49730",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "10/036-001E",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "10/036-002P",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "105-141",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "105-142",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "105-144",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "105A-105",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "105A-106A",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "105A-108",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "105A-10i3",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "105A-119",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "105A-123A",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "105A-1C8",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "105A-l06A",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "107 Morgan Lane Plainsboro, NJ 08536",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "107 Morgan Lane Plainsboro, NJ 08536-3339",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "107 Morgan Lane Plainsboro, New Jersey",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "107 Morgan Lane, Plainsboro, NJ 08536",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "1095 Morris Avenue P.O. Box 3182 Union, NJ 07083-1982",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
}
|
||||
]
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -1,12 +0,0 @@
|
||||
[
|
||||
{
|
||||
"id": "7ea3281320851f12dda397ef35315029",
|
||||
"user": "f8960240-9973-42e9-9b0f-ed096ff5a018",
|
||||
"status": "APPROVED",
|
||||
"legalBasis": "Article 63(2)(a) of Regulation (EC) No 1107/2009 (making reference to Article 39 of Regulation EC No 178/2002)",
|
||||
"requestDate": "2021-11-15T13:33:53Z",
|
||||
"processedDate": null,
|
||||
"softDeletedTime": null,
|
||||
"fileId": "a7985c094cac62118c9b350461902f95"
|
||||
}
|
||||
]
|
||||
@ -1 +0,0 @@
|
||||
[]
|
||||
@ -1,13 +0,0 @@
|
||||
[
|
||||
{
|
||||
"id": "0284267db2bee9fe21fd8aab681664c5",
|
||||
"user": "f8960240-9973-42e9-9b0f-ed096ff5a018",
|
||||
"status": "APPROVED",
|
||||
"legalBasis": "Article 63(2)(a) of Regulation (EC) No 1107/2009 (making reference to Article 39 of Regulation EC No 178/2002)",
|
||||
"section": "",
|
||||
"requestDate": "2021-11-15T13:33:41Z",
|
||||
"processedDate": null,
|
||||
"softDeletedTime": null,
|
||||
"fileId": "a7985c094cac62118c9b350461902f95"
|
||||
}
|
||||
]
|
||||
@ -1,29 +0,0 @@
|
||||
[
|
||||
{
|
||||
"id": "82f1e0aee6c825a0a8519b0f1d812df7",
|
||||
"user": "f8960240-9973-42e9-9b0f-ed096ff5a018",
|
||||
"type": "manual",
|
||||
"value": "Cyprodinil/Dithianon",
|
||||
"reason": "(Regulations (EU) 2016/679 and (EU) 2018/1725 shall apply to the processing of personal data carried out pursuant to this Regulation. Any personal data made public pursuant to Article 38 of this Regulation and this Article shall only be used to ensure the transparency of the risk assessment under this Regulation and shall not be further processed in a manner that is incompatible with these purposes, in accordance with point (b) of Article 5(1) of Regulation (EU) 2016/679 and point (b) of Article 4(1) of Regulation (EU) 2018/1725, as the case may be)",
|
||||
"legalBasis": "Article 39(e)(3) of Regulation (EC) No 178/2002",
|
||||
"section": null,
|
||||
"positions": [
|
||||
{
|
||||
"topLeft": {
|
||||
"x": 259.19,
|
||||
"y": 648.586
|
||||
},
|
||||
"width": 110.832,
|
||||
"height": 16.584,
|
||||
"page": 1
|
||||
}
|
||||
],
|
||||
"status": "APPROVED",
|
||||
"addToDictionary": false,
|
||||
"addToDossierDictionary": false,
|
||||
"requestDate": "2021-11-15T13:33:30Z",
|
||||
"processedDate": "2021-11-15T13:33:30Z",
|
||||
"softDeletedTime": null,
|
||||
"fileId": "a7985c094cac62118c9b350461902f95"
|
||||
}
|
||||
]
|
||||
@ -1,20 +0,0 @@
|
||||
[
|
||||
{
|
||||
"id": "474c3e04-3ab5-4f05-a80d-168f5c348bf6",
|
||||
"date": "2021-11-19T09:32:46Z",
|
||||
"text": "Hi this a comment",
|
||||
"user": "f8960240-9973-42e9-9b0f-ed096ff5a018",
|
||||
"softDeletedTime": null,
|
||||
"fileId": "987b67e62979568205a30d4256ac2a4d",
|
||||
"annotationId": "dc0a1380cbd6fcff2ceb4a1ccec4a252"
|
||||
},
|
||||
{
|
||||
"id": "7ff2936f-68ff-4164-a788-ace1f953bb9c",
|
||||
"date": "2021-11-15T13:33:30Z",
|
||||
"text": "frgrtgrtgtrgtr",
|
||||
"user": "f8960240-9973-42e9-9b0f-ed096ff5a018",
|
||||
"softDeletedTime": null,
|
||||
"fileId": "a7985c094cac62118c9b350461902f95",
|
||||
"annotationId": "82f1e0aee6c825a0a8519b0f1d812df7"
|
||||
}
|
||||
]
|
||||
@ -1,12 +0,0 @@
|
||||
[
|
||||
{
|
||||
"id": "79076b24b707268b3c27874a71494082",
|
||||
"user": "f8960240-9973-42e9-9b0f-ed096ff5a018",
|
||||
"status": "APPROVED",
|
||||
"removeFromDictionary": false,
|
||||
"requestDate": "2021-11-15T13:34:16Z",
|
||||
"processedDate": "2021-11-15T13:34:16Z",
|
||||
"softDeletedTime": null,
|
||||
"fileId": "a7985c094cac62118c9b350461902f95"
|
||||
}
|
||||
]
|
||||
@ -1 +0,0 @@
|
||||
[]
|
||||
@ -1,98 +0,0 @@
|
||||
[
|
||||
{
|
||||
"dossierTemplateId": "6d945ebb-604b-4781-a72b-0f07e8ceb3e6",
|
||||
"templateId": "3faddf0b-5d59-4b2f-b568-458ede09eb9b",
|
||||
"storageId": "6d945ebb-604b-4781-a72b-0f07e8ceb3e6/Justification Appendix A1.docx",
|
||||
"fileName": "Justification Appendix A1.docx",
|
||||
"uploadDate": "2021-11-15T13:27:30Z",
|
||||
"multiFileReport": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "6d945ebb-604b-4781-a72b-0f07e8ceb3e6",
|
||||
"templateId": "6964c53b-005f-4731-82a0-84b30210ab33",
|
||||
"storageId": "6d945ebb-604b-4781-a72b-0f07e8ceb3e6/Excel Report.xlsx",
|
||||
"fileName": "Excel Report.xlsx",
|
||||
"uploadDate": "2021-11-15T13:27:30Z",
|
||||
"multiFileReport": true
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "6d945ebb-604b-4781-a72b-0f07e8ceb3e6",
|
||||
"templateId": "7cc992f1-3e46-48fb-8a75-b5b2f33ebe88",
|
||||
"storageId": "6d945ebb-604b-4781-a72b-0f07e8ceb3e6/Justification Appendix A2.docx",
|
||||
"fileName": "Justification Appendix A2.docx",
|
||||
"uploadDate": "2021-11-15T13:27:30Z",
|
||||
"multiFileReport": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "6d945ebb-604b-4781-a72b-0f07e8ceb3e6",
|
||||
"templateId": "f74130a9-c875-4926-95c1-405d2e272ada",
|
||||
"storageId": "6d945ebb-604b-4781-a72b-0f07e8ceb3e6/Excel Report.xlsx",
|
||||
"fileName": "Excel Report.xlsx",
|
||||
"uploadDate": "2021-11-15T13:27:30Z",
|
||||
"multiFileReport": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"templateId": "75674b0f-7c70-4903-b30a-2a4aa330b6b1",
|
||||
"storageId": "49156a1f-30cc-412f-8778-eb5bd842d709/Excel Report.xlsx",
|
||||
"fileName": "Excel Report.xlsx",
|
||||
"uploadDate": "2021-11-15T13:26:59Z",
|
||||
"multiFileReport": true
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"templateId": "87553a68-49e7-4bb6-9af7-263dcb81e964",
|
||||
"storageId": "49156a1f-30cc-412f-8778-eb5bd842d709/Justification Appendix A1.docx",
|
||||
"fileName": "Justification Appendix A1.docx",
|
||||
"uploadDate": "2021-11-15T13:27:00Z",
|
||||
"multiFileReport": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"templateId": "e2eff609-1dbb-4f10-a1a2-de71f03e5875",
|
||||
"storageId": "49156a1f-30cc-412f-8778-eb5bd842d709/Excel Report.xlsx",
|
||||
"fileName": "Excel Report.xlsx",
|
||||
"uploadDate": "2021-11-15T13:26:59Z",
|
||||
"multiFileReport": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"templateId": "e37613cb-e093-49af-ae69-5678148c29b8",
|
||||
"storageId": "49156a1f-30cc-412f-8778-eb5bd842d709/Justification Appendix A2.docx",
|
||||
"fileName": "Justification Appendix A2.docx",
|
||||
"uploadDate": "2021-11-15T13:27:00Z",
|
||||
"multiFileReport": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"templateId": "14a73f71-65bc-4fb9-8319-c11ba9d97e47",
|
||||
"storageId": "9b7bd575-4566-4408-984f-b26da1d2616e/Justification Appendix A1.docx",
|
||||
"fileName": "Justification Appendix A1.docx",
|
||||
"uploadDate": "2021-11-15T13:27:17Z",
|
||||
"multiFileReport": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"templateId": "345d8544-cd4e-4321-bd3a-8217d9d2f1b3",
|
||||
"storageId": "9b7bd575-4566-4408-984f-b26da1d2616e/Excel Report.xlsx",
|
||||
"fileName": "Excel Report.xlsx",
|
||||
"uploadDate": "2021-11-15T13:27:17Z",
|
||||
"multiFileReport": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"templateId": "5c78a098-6020-4cf9-b610-5b2422f98d29",
|
||||
"storageId": "9b7bd575-4566-4408-984f-b26da1d2616e/Excel Report.xlsx",
|
||||
"fileName": "Excel Report.xlsx",
|
||||
"uploadDate": "2021-11-15T13:27:17Z",
|
||||
"multiFileReport": true
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"templateId": "bb18db9e-2730-403c-90c0-d306aac06284",
|
||||
"storageId": "9b7bd575-4566-4408-984f-b26da1d2616e/Justification Appendix A2.docx",
|
||||
"fileName": "Justification Appendix A2.docx",
|
||||
"uploadDate": "2021-11-15T13:27:18Z",
|
||||
"multiFileReport": false
|
||||
}
|
||||
]
|
||||
@ -1 +0,0 @@
|
||||
[{"dossierTemplateId":"6d945ebb-604b-4781-a72b-0f07e8ceb3e6","dossierId":"global","versionType":0,"version":1},{"dossierTemplateId":"6d945ebb-604b-4781-a72b-0f07e8ceb3e6","dossierId":"global","versionType":1,"version":6},{"dossierTemplateId":"6d945ebb-604b-4781-a72b-0f07e8ceb3e6","dossierId":"global","versionType":2,"version":1},{"dossierTemplateId":"49156a1f-30cc-412f-8778-eb5bd842d709","dossierId":"48c10c3e-9831-4165-a80e-6e96ba2c3e98","versionType":1,"version":1},{"dossierTemplateId":"49156a1f-30cc-412f-8778-eb5bd842d709","dossierId":"b2c9c4e5-5382-4862-9402-5b619c41a68c","versionType":1,"version":1},{"dossierTemplateId":"49156a1f-30cc-412f-8778-eb5bd842d709","dossierId":"global","versionType":0,"version":1},{"dossierTemplateId":"49156a1f-30cc-412f-8778-eb5bd842d709","dossierId":"global","versionType":1,"version":33},{"dossierTemplateId":"49156a1f-30cc-412f-8778-eb5bd842d709","dossierId":"global","versionType":2,"version":1},{"dossierTemplateId":"9b7bd575-4566-4408-984f-b26da1d2616e","dossierId":"d46267c1-bb19-44ca-8c0c-60fb5d5309c5","versionType":1,"version":1},{"dossierTemplateId":"9b7bd575-4566-4408-984f-b26da1d2616e","dossierId":"global","versionType":0,"version":2},{"dossierTemplateId":"9b7bd575-4566-4408-984f-b26da1d2616e","dossierId":"global","versionType":1,"version":58},{"dossierTemplateId":"9b7bd575-4566-4408-984f-b26da1d2616e","dossierId":"global","versionType":2,"version":1}]
|
||||
@ -1 +0,0 @@
|
||||
[{"fileId":"a7985c094cac62118c9b350461902f95","userId":"f8960240-9973-42e9-9b0f-ed096ff5a018","page":1},{"fileId":"a7985c094cac62118c9b350461902f95","userId":"f8960240-9973-42e9-9b0f-ed096ff5a018","page":5},{"fileId":"a7985c094cac62118c9b350461902f95","userId":"f8960240-9973-42e9-9b0f-ed096ff5a018","page":6}]
|
||||
Loading…
x
Reference in New Issue
Block a user