2020-04-27 14:52:31 +02:00
|
|
|
|
2019-04-03 10:53:54 +02:00
|
|
|
package eu.dnetlib.data.mdstore.manager.common.model;
|
2019-03-18 15:30:07 +01:00
|
|
|
|
|
|
|
import java.io.Serializable;
|
2021-01-28 08:24:45 +01:00
|
|
|
import java.util.Date;
|
2021-01-29 13:16:48 +01:00
|
|
|
import java.util.Objects;
|
2019-03-19 13:34:40 +01:00
|
|
|
import java.util.UUID;
|
2020-04-28 11:23:29 +02:00
|
|
|
|
2019-03-18 15:30:07 +01:00
|
|
|
import javax.persistence.Column;
|
|
|
|
import javax.persistence.Entity;
|
|
|
|
import javax.persistence.Id;
|
|
|
|
import javax.persistence.Table;
|
2021-01-28 08:24:45 +01:00
|
|
|
import javax.persistence.Temporal;
|
|
|
|
import javax.persistence.TemporalType;
|
2019-03-18 15:30:07 +01:00
|
|
|
|
|
|
|
@Entity
|
|
|
|
@Table(name = "mdstores")
|
|
|
|
public class MDStore implements Serializable {
|
|
|
|
|
2020-04-27 14:52:31 +02:00
|
|
|
/** */
|
|
|
|
private static final long serialVersionUID = 3160530489149700055L;
|
|
|
|
|
|
|
|
@Id
|
|
|
|
@Column(name = "id")
|
|
|
|
private String id;
|
|
|
|
|
|
|
|
@Column(name = "format")
|
|
|
|
private String format;
|
|
|
|
|
|
|
|
@Column(name = "layout")
|
|
|
|
private String layout;
|
|
|
|
|
|
|
|
@Column(name = "interpretation")
|
|
|
|
private String interpretation;
|
|
|
|
|
|
|
|
@Column(name = "datasource_name")
|
|
|
|
private String datasourceName;
|
|
|
|
|
|
|
|
@Column(name = "datasource_id")
|
|
|
|
private String datasourceId;
|
|
|
|
|
|
|
|
@Column(name = "api_id")
|
|
|
|
private String apiId;
|
|
|
|
|
2021-01-28 08:24:45 +01:00
|
|
|
@Column(name = "hdfs_path")
|
|
|
|
private String hdfsPath;
|
|
|
|
|
|
|
|
@Column(name = "creation_date")
|
|
|
|
@Temporal(TemporalType.TIMESTAMP)
|
|
|
|
private Date creationDate;
|
|
|
|
|
2020-04-27 14:52:31 +02:00
|
|
|
public String getId() {
|
|
|
|
return id;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void setId(final String id) {
|
|
|
|
this.id = id;
|
|
|
|
}
|
|
|
|
|
|
|
|
public String getFormat() {
|
|
|
|
return format;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void setFormat(final String format) {
|
|
|
|
this.format = format;
|
|
|
|
}
|
|
|
|
|
|
|
|
public String getLayout() {
|
|
|
|
return layout;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void setLayout(final String layout) {
|
|
|
|
this.layout = layout;
|
|
|
|
}
|
|
|
|
|
|
|
|
public String getInterpretation() {
|
|
|
|
return interpretation;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void setInterpretation(final String interpretation) {
|
|
|
|
this.interpretation = interpretation;
|
|
|
|
}
|
|
|
|
|
|
|
|
public String getDatasourceName() {
|
|
|
|
return datasourceName;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void setDatasourceName(final String datasourceName) {
|
|
|
|
this.datasourceName = datasourceName;
|
|
|
|
}
|
|
|
|
|
|
|
|
public String getDatasourceId() {
|
|
|
|
return datasourceId;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void setDatasourceId(final String datasourceId) {
|
|
|
|
this.datasourceId = datasourceId;
|
|
|
|
}
|
|
|
|
|
|
|
|
public String getApiId() {
|
|
|
|
return apiId;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void setApiId(final String apiId) {
|
|
|
|
this.apiId = apiId;
|
|
|
|
}
|
|
|
|
|
2021-01-28 08:24:45 +01:00
|
|
|
public String getHdfsPath() {
|
|
|
|
return hdfsPath;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void setHdfsPath(final String hdfsPath) {
|
|
|
|
this.hdfsPath = hdfsPath;
|
|
|
|
}
|
|
|
|
|
|
|
|
public Date getCreationDate() {
|
|
|
|
return creationDate;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void setCreationDate(final Date creationDate) {
|
|
|
|
this.creationDate = creationDate;
|
|
|
|
}
|
|
|
|
|
2020-04-27 14:52:31 +02:00
|
|
|
public static MDStore newInstance(
|
2021-01-28 08:24:45 +01:00
|
|
|
final String format,
|
|
|
|
final String layout,
|
|
|
|
final String interpretation,
|
|
|
|
final String hdfsBasePath) {
|
|
|
|
return newInstance(format, layout, interpretation, null, null, null, hdfsBasePath);
|
2020-04-27 14:52:31 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
public static MDStore newInstance(
|
|
|
|
final String format,
|
|
|
|
final String layout,
|
|
|
|
final String interpretation,
|
|
|
|
final String dsName,
|
|
|
|
final String dsId,
|
2021-01-28 08:24:45 +01:00
|
|
|
final String apiId,
|
|
|
|
final String hdfsBasePath) {
|
|
|
|
|
|
|
|
final String mdId = "md-" + UUID.randomUUID();
|
|
|
|
|
2020-04-27 14:52:31 +02:00
|
|
|
final MDStore md = new MDStore();
|
2021-01-28 08:24:45 +01:00
|
|
|
md.setId(mdId);
|
2020-04-27 14:52:31 +02:00
|
|
|
md.setFormat(format);
|
|
|
|
md.setLayout(layout);
|
|
|
|
md.setInterpretation(interpretation);
|
2021-01-28 08:24:45 +01:00
|
|
|
md.setCreationDate(new Date());
|
2020-04-27 14:52:31 +02:00
|
|
|
md.setDatasourceName(dsName);
|
|
|
|
md.setDatasourceId(dsId);
|
|
|
|
md.setApiId(apiId);
|
2021-01-28 08:24:45 +01:00
|
|
|
md.setHdfsPath(String.format("%s/%s", hdfsBasePath, mdId));
|
|
|
|
|
2020-04-27 14:52:31 +02:00
|
|
|
return md;
|
|
|
|
}
|
2021-01-28 08:24:45 +01:00
|
|
|
|
2021-01-29 13:16:48 +01:00
|
|
|
@Override
|
|
|
|
public String toString() {
|
|
|
|
return String
|
2021-02-03 16:07:49 +01:00
|
|
|
.format(
|
|
|
|
"MDStore [id=%s, format=%s, layout=%s, interpretation=%s, datasourceName=%s, datasourceId=%s, apiId=%s, hdfsPath=%s, creationDate=%s]",
|
|
|
|
id, format, layout, interpretation, datasourceName, datasourceId, apiId, hdfsPath, creationDate);
|
2021-01-29 13:16:48 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public int hashCode() {
|
|
|
|
return Objects.hash(id);
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public boolean equals(final Object obj) {
|
2021-02-03 16:07:49 +01:00
|
|
|
if (this == obj) {
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
if (!(obj instanceof MDStore)) {
|
|
|
|
return false;
|
|
|
|
}
|
2021-01-29 13:16:48 +01:00
|
|
|
final MDStore other = (MDStore) obj;
|
|
|
|
return Objects.equals(id, other.id);
|
|
|
|
}
|
|
|
|
|
2019-03-18 15:30:07 +01:00
|
|
|
}
|