diff --git a/dmp-backend/core/pom.xml b/dmp-backend/core/pom.xml
index bcd30acdc..ee105de3d 100644
--- a/dmp-backend/core/pom.xml
+++ b/dmp-backend/core/pom.xml
@@ -61,7 +61,7 @@
gr.cite.opendmp
file-transformer-base
- 0.0.11
+ 0.0.12
gr.cite
diff --git a/dmp-backend/core/src/main/java/eu/eudat/model/file/RepositoryFileFormat.java b/dmp-backend/core/src/main/java/eu/eudat/model/file/RepositoryFileFormat.java
index 21779ae1d..4f0c221e0 100644
--- a/dmp-backend/core/src/main/java/eu/eudat/model/file/RepositoryFileFormat.java
+++ b/dmp-backend/core/src/main/java/eu/eudat/model/file/RepositoryFileFormat.java
@@ -1,18 +1,24 @@
package eu.eudat.model.file;
+import eu.eudat.file.transformer.enums.FileTransformerEntityType;
import eu.eudat.file.transformer.models.misc.FileFormat;
+import java.util.List;
+
public class RepositoryFileFormat {
private String format;
private Boolean hasLogo;
private String icon;
private String repositoryId;
- public RepositoryFileFormat(String repositoryId, FileFormat format) {
+ private List entityTypes;
+
+ public RepositoryFileFormat(String repositoryId, FileFormat format, List entityTypes) {
this.repositoryId = repositoryId;
this.format = format.getFormat();
this.hasLogo = format.getHasLogo();
this.icon = format.getIcon();
+ this.entityTypes = entityTypes;
}
public String getFormat() {
@@ -46,4 +52,12 @@ public class RepositoryFileFormat {
public void setRepositoryId(String repositoryId) {
this.repositoryId = repositoryId;
}
+
+ public List getEntityTypes() {
+ return entityTypes;
+ }
+
+ public void setEntityTypes(List entityTypes) {
+ this.entityTypes = entityTypes;
+ }
}
diff --git a/dmp-backend/core/src/main/java/eu/eudat/service/transformer/FileTransformerServiceImpl.java b/dmp-backend/core/src/main/java/eu/eudat/service/transformer/FileTransformerServiceImpl.java
index dc9d10f58..de891407e 100644
--- a/dmp-backend/core/src/main/java/eu/eudat/service/transformer/FileTransformerServiceImpl.java
+++ b/dmp-backend/core/src/main/java/eu/eudat/service/transformer/FileTransformerServiceImpl.java
@@ -91,7 +91,7 @@ public class FileTransformerServiceImpl implements FileTransformerService {
List configurations = this.getAvailableConfigurations();
if(configurations != null){
for (FileTransformerConfiguration configuration : configurations){
- if (configuration != null && configuration.getExportVariants() != null) formats.addAll(configuration.getExportVariants().stream().map(x-> new RepositoryFileFormat(configuration.getFileTransformerId(), x)).toList());
+ if (configuration != null && configuration.getExportVariants() != null) formats.addAll(configuration.getExportVariants().stream().map(x-> new RepositoryFileFormat(configuration.getFileTransformerId(), x, configuration.getExportEntityTypes())).toList());
}
}
return formats;
diff --git a/dmp-frontend/src/app/core/common/enum/file-transformer-entity-type.ts b/dmp-frontend/src/app/core/common/enum/file-transformer-entity-type.ts
new file mode 100644
index 000000000..5330267b0
--- /dev/null
+++ b/dmp-frontend/src/app/core/common/enum/file-transformer-entity-type.ts
@@ -0,0 +1,4 @@
+export enum FileTransformerEntityType {
+ Dmp = 0,
+ Description = 1
+}
diff --git a/dmp-frontend/src/app/core/model/file/file-format.model.ts b/dmp-frontend/src/app/core/model/file/file-format.model.ts
index 5d78198e5..1b3a7188c 100644
--- a/dmp-frontend/src/app/core/model/file/file-format.model.ts
+++ b/dmp-frontend/src/app/core/model/file/file-format.model.ts
@@ -1,6 +1,9 @@
+import { FileTransformerEntityType } from "@app/core/common/enum/file-transformer-entity-type";
+
export interface RepositoryFileFormat {
format: string;
hasLogo: boolean;
icon: string;
repositoryId: string;
+ entityTypes: FileTransformerEntityType[];
}
diff --git a/dmp-frontend/src/app/core/services/file-transformer/file-transformer.service.ts b/dmp-frontend/src/app/core/services/file-transformer/file-transformer.service.ts
index e2a5df34e..2d38d04dc 100644
--- a/dmp-frontend/src/app/core/services/file-transformer/file-transformer.service.ts
+++ b/dmp-frontend/src/app/core/services/file-transformer/file-transformer.service.ts
@@ -8,6 +8,7 @@ import { MatomoService } from '../matomo/matomo-service';
import { FileUtils } from '../utilities/file-utils.service';
import { AuthService } from '../auth/auth.service';
import { RepositoryFileFormat } from '@app/core/model/file/file-format.model';
+import { FileTransformerEntityType } from '@app/core/common/enum/file-transformer-entity-type';
@Injectable()
export class FileTransformerService extends BaseService {
@@ -32,6 +33,13 @@ export class FileTransformerService extends BaseService {
return this._availableFormats;
}
+ public availableFormatsFor(entityType: FileTransformerEntityType) {
+ if (this.availableFormats) {
+ return this.availableFormats.filter(x => x.entityTypes.includes(entityType));
+ }
+ return [];
+ }
+
init() {
this._loading = true;
// console.log('init');
diff --git a/dmp-frontend/src/app/ui/description/editor/description-editor.component.html b/dmp-frontend/src/app/ui/description/editor/description-editor.component.html
index f6b272edd..726e57a89 100644
--- a/dmp-frontend/src/app/ui/description/editor/description-editor.component.html
+++ b/dmp-frontend/src/app/ui/description/editor/description-editor.component.html
@@ -34,7 +34,7 @@
expand_more
-