@SuppressWarnings({"unchecked", "rawtypes"}) public Object parse(String value) throws ParseException { TimeParser parser = getTimeParser(); return parser.parse(value); }
public Collection<Object> convertDimensionValue(String name, String value) { List<Object> result = new ArrayList<Object>(); try { String typeName = getDomainDatatype(name); if (typeName != null) { Class<?> type = Class.forName(typeName); if (type == java.util.Date.class) { result.addAll(new TimeParser().parse(value)); } else if (Number.class.isAssignableFrom(type) && !value.contains(",")) { result.add(parseNumberOrRange(value)); } else { for (String element : value.split(",")) { result.add(Converters.convert(element, type)); } } } else { result.add(value); } } catch (Exception e) { LOGGER.log(Level.WARNING, "Failed to convert dimension value: ", e); result.add(value); } return result; }
@SuppressWarnings({"unchecked", "rawtypes"}) public Object parse(String value) throws ParseException { Collection times = parser.parse(value); if (times.isEmpty() || times.size() > 1) { throw new ServiceException( "Invalid time specification, must be a single time, or a time range", ServiceException.INVALID_PARAMETER_VALUE, "time"); } return times.iterator().next(); } }
private boolean isValidTimeReference(String stringValue, Strategy strategy) { try { TimeParser parser = new TimeParser(); List values = (List) parser.parse(stringValue); // the KVP parser accepts also lists of values, we want a single one if (strategy == Strategy.FIXED) { // point or range, but just one return values.size() == 1; } else if (strategy == Strategy.NEAREST) { // only point value, no ranges allowed return values.size() == 1 && !(values.get(0) instanceof Range); } else { // nope, we cannot have a reference value if the strategy is // not fixed or nearest return false; } } catch (Exception e) { if (LOGGER.isLoggable(Level.FINER)) { LOGGER.log(Level.FINER, "Invalid time value " + stringValue, e); } return false; } } }
@Override public Object parse(String value) throws Exception { TimeSequenceType timeSequence = Wcs111Factory.eINSTANCE.createTimeSequenceType(); WCSInfo info = geoServer.getService(WCSInfo.class); int maxRequestedDimensionValues = info.getMaxRequestedDimensionValues(); TimeParser parser = new TimeParser(maxRequestedDimensionValues); Collection<Date> timePositions = (Collection<Date>) parser.parse(value); for (Date tp : timePositions) { timeSequence.getTimePosition().add(tp); } return timeSequence; } }
if (referenceValue != null) { try { refDate = singleValue(timeParser.parse(referenceValue), new Date()); } catch (ParseException e) { throw new ServiceException(
Collection parsedTimes = timeParser.parse(time); progressListener.started(); int count = 1;