2019-10-24 11:39:41 +02:00
|
|
|
package eu.dnetlib.dhp.schema.oaf;
|
|
|
|
|
2020-01-30 17:45:28 +01:00
|
|
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
2019-12-13 09:40:02 +01:00
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
|
2019-10-24 11:39:41 +02:00
|
|
|
import java.io.Serializable;
|
|
|
|
|
|
|
|
public class GeoLocation implements Serializable {
|
|
|
|
|
|
|
|
private String point;
|
|
|
|
|
|
|
|
private String box;
|
|
|
|
|
|
|
|
private String place;
|
|
|
|
|
|
|
|
public String getPoint() {
|
|
|
|
return point;
|
|
|
|
}
|
|
|
|
|
2019-10-25 18:10:30 +02:00
|
|
|
public void setPoint(String point) {
|
2019-10-24 11:39:41 +02:00
|
|
|
this.point = point;
|
|
|
|
}
|
|
|
|
|
|
|
|
public String getBox() {
|
|
|
|
return box;
|
|
|
|
}
|
|
|
|
|
2019-10-25 18:10:30 +02:00
|
|
|
public void setBox(String box) {
|
2019-10-24 11:39:41 +02:00
|
|
|
this.box = box;
|
|
|
|
}
|
|
|
|
|
|
|
|
public String getPlace() {
|
|
|
|
return place;
|
|
|
|
}
|
|
|
|
|
2019-10-25 18:10:30 +02:00
|
|
|
public void setPlace(String place) {
|
2019-10-24 11:39:41 +02:00
|
|
|
this.place = place;
|
|
|
|
}
|
2019-12-12 15:18:48 +01:00
|
|
|
|
2020-01-30 17:45:28 +01:00
|
|
|
@JsonIgnore
|
2019-12-13 09:40:02 +01:00
|
|
|
public boolean isBlank() {
|
|
|
|
return StringUtils.isBlank(point) &&
|
|
|
|
StringUtils.isBlank(box) &&
|
|
|
|
StringUtils.isBlank(place);
|
|
|
|
}
|
|
|
|
|
2019-12-12 15:18:48 +01:00
|
|
|
public String toComparableString() {
|
2019-12-13 09:40:02 +01:00
|
|
|
return isBlank()?"":String.format("%s::%s%s", point != null ? point.toLowerCase() : "", box != null ? box.toLowerCase() : "", place != null ? place.toLowerCase() : "");
|
2019-12-12 15:18:48 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public int hashCode() {
|
|
|
|
return toComparableString().hashCode();
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public boolean equals(Object obj) {
|
|
|
|
if (this == obj)
|
|
|
|
return true;
|
|
|
|
if (obj == null)
|
|
|
|
return false;
|
|
|
|
if (getClass() != obj.getClass())
|
|
|
|
return false;
|
|
|
|
|
|
|
|
GeoLocation other = (GeoLocation) obj;
|
|
|
|
|
|
|
|
return toComparableString()
|
|
|
|
.equals(other.toComparableString());
|
|
|
|
}
|
2019-10-24 11:39:41 +02:00
|
|
|
}
|