tabular-data-gwt-service/src/main/java/org/gcube/portlets/user/td/gwtservice/server/trservice/PeriodTypeMap.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;
}
}
}