72 lines
2.0 KiB
Java
72 lines
2.0 KiB
Java
package org.gcube.portlets.user.td.gwtservice.server.trservice;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
import org.gcube.data.analysis.tabulardata.model.time.PeriodType;
|
|
import org.gcube.data.analysis.tabulardata.model.time.TimeFormat;
|
|
import org.gcube.portlets.user.td.gwtservice.shared.tr.PeriodDataType;
|
|
import org.gcube.portlets.user.td.gwtservice.shared.tr.TimeDataFormat;
|
|
|
|
/**
|
|
*
|
|
* @author "Giancarlo Panichi" <a
|
|
* href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
|
|
*
|
|
*/
|
|
public class PeriodTypeMap {
|
|
|
|
public static PeriodType map(PeriodDataType periodDataType) {
|
|
if (periodDataType.getName().compareTo(PeriodType.CENTURY.name()) == 0) {
|
|
return PeriodType.CENTURY;
|
|
} else {
|
|
if (periodDataType.getName().compareTo(PeriodType.DAY.name()) == 0) {
|
|
return PeriodType.DAY;
|
|
} else {
|
|
if (periodDataType.getName()
|
|
.compareTo(PeriodType.DECADE.name()) == 0) {
|
|
return PeriodType.DECADE;
|
|
} else {
|
|
if (periodDataType.getName().compareTo(
|
|
PeriodType.MONTH.name()) == 0) {
|
|
return PeriodType.MONTH;
|
|
} else {
|
|
if (periodDataType.getName().compareTo(
|
|
PeriodType.QUARTER.name()) == 0) {
|
|
return PeriodType.QUARTER;
|
|
} else {
|
|
if (periodDataType.getName().compareTo(
|
|
PeriodType.YEAR.name()) == 0) {
|
|
return PeriodType.YEAR;
|
|
} else {
|
|
return null;
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
public static PeriodDataType map(PeriodType periodType) {
|
|
if (periodType == null) {
|
|
return null;
|
|
} else {
|
|
ArrayList<TimeDataFormat> timeDataFormats = new ArrayList<TimeDataFormat>();
|
|
List<TimeFormat> listTimeFormat = periodType.getAcceptedFormats();
|
|
for (TimeFormat timeF : listTimeFormat) {
|
|
TimeDataFormat timeDataFormat = new TimeDataFormat(
|
|
null, timeF.getExample(), timeF.getRegExpr());
|
|
timeDataFormats.add(timeDataFormat);
|
|
}
|
|
PeriodDataType periodDataType = new PeriodDataType(
|
|
periodType.name(), periodType.getName(), timeDataFormats);
|
|
return periodDataType;
|
|
}
|
|
}
|
|
|
|
}
|