date mamagement
This commit is contained in:
parent
0596a9666c
commit
31bc085093
|
@ -1,11 +1,8 @@
|
|||
package eu.dnetlib.openaire.community.importer;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Base64;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.function.Function;
|
||||
|
@ -30,6 +27,7 @@ import eu.dnetlib.miscutils.functional.hash.Hashing;
|
|||
import eu.dnetlib.openaire.community.CommunityService;
|
||||
import eu.dnetlib.openaire.community.model.DbOrganization;
|
||||
import eu.dnetlib.openaire.community.repository.DbOrganizationRepository;
|
||||
import eu.dnetlib.openaire.community.utils.CommunityMappingUtils;
|
||||
import eu.dnetlib.openaire.exporter.exceptions.CommunityException;
|
||||
import eu.dnetlib.openaire.exporter.model.community.CommunityClaimType;
|
||||
import eu.dnetlib.openaire.exporter.model.community.CommunityContentprovider;
|
||||
|
@ -49,8 +47,6 @@ import eu.dnetlib.openaire.exporter.model.context.Param;
|
|||
@Service
|
||||
public class CommunityImporterService {
|
||||
|
||||
private final static String pattern = "yyyy-MM-dd'T'hh:mm:ss";
|
||||
|
||||
// common
|
||||
private final static String OPENAIRE_ID = "openaireId";
|
||||
private final static String PIPE_SEPARATOR = "||";
|
||||
|
@ -243,8 +239,8 @@ public class CommunityImporterService {
|
|||
|
||||
details.setId(c.getId());
|
||||
details.setShortName(c.getLabel());
|
||||
details.setLastUpdateDate(convertToLocalDateTime(c.getLastUpdateDate()));
|
||||
details.setCreationDate(convertToLocalDateTime(c.getCreationDate()));
|
||||
details.setLastUpdateDate(CommunityMappingUtils.asLocalDateTime(c.getLastUpdateDate()));
|
||||
details.setCreationDate(CommunityMappingUtils.asLocalDateTime(c.getCreationDate()));
|
||||
details.setQueryId(c.getId() + PIPE_SEPARATOR + c.getLabel());
|
||||
details.setType(CommunityType.valueOf(c.getType()));
|
||||
details.setMembership(CommunityMembershipType.open);
|
||||
|
@ -287,8 +283,7 @@ public class CommunityImporterService {
|
|||
}
|
||||
if (params.containsKey(CPROFILE_CREATIONDATE)) {
|
||||
try {
|
||||
final Date d = org.apache.commons.lang3.time.DateUtils.parseDate(asCsv(params.get(CPROFILE_CREATIONDATE)), pattern);
|
||||
details.setCreationDate(convertToLocalDateTime(d));
|
||||
details.setCreationDate(CommunityMappingUtils.asLocalDateTime(asCsv(params.get(CPROFILE_CREATIONDATE))));
|
||||
} catch (final Exception e) {
|
||||
log.debug("Exception on date format: " + e.getMessage());
|
||||
}
|
||||
|
@ -388,12 +383,6 @@ public class CommunityImporterService {
|
|||
.distinct();
|
||||
}
|
||||
|
||||
private static LocalDateTime convertToLocalDateTime(final Date date) {
|
||||
return date.toInstant()
|
||||
.atZone(ZoneId.systemDefault())
|
||||
.toLocalDateTime();
|
||||
}
|
||||
|
||||
protected DbOrganizationRepository getDbOrganizationRepository() {
|
||||
return dbOrganizationRepository;
|
||||
}
|
||||
|
|
|
@ -1,11 +1,19 @@
|
|||
package eu.dnetlib.openaire.community.utils;
|
||||
|
||||
import java.text.ParseException;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.lang3.time.DateUtils;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
|
||||
import eu.dnetlib.openaire.community.model.DbCommunity;
|
||||
import eu.dnetlib.openaire.community.model.DbDatasource;
|
||||
|
@ -24,6 +32,10 @@ public class CommunityMappingUtils {
|
|||
|
||||
public final static String PIPE_SEPARATOR = "||";
|
||||
|
||||
private static final List<String> DATE_PATTERN = Lists.newArrayList("yyyy-MM-dd'T'hh:mm:ss", "yyyy-MM-dd'T'hh:mm:ssXXX", "yyyy-MM-dd'T'hh:mm:ss+00:00");
|
||||
|
||||
private static final Log log = LogFactory.getLog(CommunityMappingUtils.class);
|
||||
|
||||
public static CommunitySummary toCommunitySummary(final DbCommunity c) {
|
||||
final CommunitySummary summary = new CommunitySummary();
|
||||
populateSummary(summary, c);
|
||||
|
@ -215,6 +227,23 @@ public class CommunityMappingUtils {
|
|||
return sc;
|
||||
}
|
||||
|
||||
public static LocalDateTime asLocalDateTime(final String s) {
|
||||
for (final String pattern : DATE_PATTERN) {
|
||||
try {
|
||||
final Date res = DateUtils.parseDate(s, pattern);
|
||||
if (res != null) { return asLocalDateTime(res); }
|
||||
} catch (final ParseException e) {}
|
||||
}
|
||||
log.error("Invalid Date: " + s);
|
||||
return null;
|
||||
}
|
||||
|
||||
public static LocalDateTime asLocalDateTime(final Date date) {
|
||||
return date.toInstant()
|
||||
.atZone(ZoneId.systemDefault())
|
||||
.toLocalDateTime();
|
||||
}
|
||||
|
||||
private static String[] toStringArray(final List<String> list) {
|
||||
return list != null ? list.toArray(new String[list.size()]) : new String[0];
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue