package de.rwth.idsg.bikeman.psinterface; import de.rwth.idsg.bikeman.psinterface.exception.PsErrorCode; import de.rwth.idsg.bikeman.psinterface.exception.PsException; import org.joda.time.DateTime; import org.joda.time.LocalDateTime; import javax.servlet.http.HttpServletRequest; import java.util.ArrayList; import java.util.List; import java.util.concurrent.TimeUnit; /** * @author Sevket Goekay <goekay@dbis.rwth-aachen.de> * @since 17.09.2014 */ public final class Utils { private Utils() {} public static String getFrom(HttpServletRequest request) { return getStationId(request); } public static long toSeconds(long millis) { return TimeUnit.MILLISECONDS.toSeconds(millis); } public static long toMillis(long seconds) { return TimeUnit.SECONDS.toMillis(seconds); } public static long nowInSeconds() { return toSeconds(new DateTime().getMillis()); } public static boolean isEmpty(List array) { if (array == null || array.isEmpty()) { return true; } return false; } private static String getIp(HttpServletRequest request) { String remoteAddress = request.getHeader("X-Real-IP"); if (remoteAddress == null) { remoteAddress = request.getRemoteAddr(); } //return request.getScheme() + "://" + remoteAddress + ":" + request.getRemotePort(); return request.getScheme() + "://" + remoteAddress; } /** * @return The station's manufacturer Id */ private static String getStationId(HttpServletRequest request) { String stationId = request.getHeader("STATION-ID"); if (stationId == null) { throw new PsException("A required header is not set", PsErrorCode.CONSTRAINT_FAILED); } return stationId; } }