ckan2zenodo-library/src/main/java/org/gcube/data/publishing/ckan2zenodo/model/parsing/Mapping.java

78 lines
1.3 KiB
Java
Raw Normal View History

2019-12-10 17:06:52 +01:00
package org.gcube.data.publishing.ckan2zenodo.model.parsing;
2019-12-03 12:50:36 +01:00
import java.util.ArrayList;
2019-12-03 12:50:36 +01:00
import java.util.HashMap;
2019-12-03 17:20:12 +01:00
import java.util.List;
2019-12-03 12:50:36 +01:00
import lombok.Getter;
import lombok.NonNull;
import lombok.RequiredArgsConstructor;
2019-12-03 15:58:35 +01:00
import lombok.Setter;
2019-12-05 11:56:51 +01:00
import lombok.ToString;
2019-12-03 12:50:36 +01:00
@RequiredArgsConstructor
@Getter
2019-12-05 11:56:51 +01:00
@ToString
2019-12-03 12:50:36 +01:00
public class Mapping {
2019-12-03 17:20:12 +01:00
@RequiredArgsConstructor
@Getter
2019-12-05 11:56:51 +01:00
@ToString
2019-12-03 17:20:12 +01:00
public static class Regexp{
public static enum Type{
replace,extract
}
@NonNull
private Type type;
@NonNull
private String target;
@Setter
private String replacement;
}
2019-12-05 11:56:51 +01:00
@Getter
@ToString
public static class Source{
@RequiredArgsConstructor
@Getter
@ToString
public static class Value{
public static enum Type{
jsonPath,constant
}
2020-06-24 18:06:56 +02:00
@Setter
2020-06-24 16:47:01 +02:00
private String split;
@NonNull
private Type type;
@NonNull
private String value;
2019-12-05 11:56:51 +01:00
}
2020-06-24 16:47:01 +02:00
private List<Value> values=new ArrayList<>();
2019-12-05 11:56:51 +01:00
}
2019-12-03 17:20:12 +01:00
2020-06-24 18:06:56 +02:00
@Getter
@ToString
@RequiredArgsConstructor
public static class TargetElement{
@Setter
private Boolean append = false;
@NonNull
private String targetElement;
}
2020-06-24 16:47:01 +02:00
2019-12-03 12:50:36 +01:00
@NonNull
2019-12-05 11:56:51 +01:00
private Source source;
@NonNull
private String targetPath;
2019-12-03 12:50:36 +01:00
@NonNull
2020-06-24 18:06:56 +02:00
private TargetElement targetElement;
2019-12-03 12:50:36 +01:00
@NonNull
private HashMap<String,String> valueMapping;
2019-12-03 17:20:12 +01:00
@NonNull
private List<Regexp> regexp;
2019-12-03 15:58:35 +01:00
2019-12-03 12:50:36 +01:00
}