/** * Creates a XML TimeInstant from the SOS time object. * * @param timeInstant * SOS time object * @param timeInstantType * @return XML TimeInstant * * * @throws OwsExceptionReport * * if an error occurs. */ private TimeInstantType createTimeInstantType(TimeInstant timeInstant, TimeInstantType timeInstantType) throws OwsExceptionReport { // create time instant if (timeInstantType == null) { timeInstantType = TimeInstantType.Factory.newInstance(XmlOptionsHelper.getInstance().getXmlOptions()); } if (timeInstant.isSetGmlId()) { timeInstantType.setId(timeInstant.getGmlId()); } timeInstantType.setTimePosition(createTimePositionType(timeInstant.getTimePosition())); return timeInstantType; }
private void addResultTime(ObservationType xbObs, OmObservation sosObservation) throws OwsExceptionReport { Time phenomenonTime = sosObservation.getPhenomenonTime(); if (sosObservation.isSetResultTime()) { if (sosObservation.getResultTime().equals(phenomenonTime)) { xbObs.addNewResultTime().setHref(Constants.NUMBER_SIGN_STRING + phenomenonTime.getGmlId()); } else { TimeInstant resultTime = sosObservation.getResultTime(); if (!resultTime.isSetGmlId()) { resultTime.setGmlId("resultTime_" + sosObservation.getObservationID()); } addResultTime(xbObs, resultTime); } } else { if (phenomenonTime instanceof TimeInstant) { xbObs.addNewResultTime().setHref(Constants.NUMBER_SIGN_STRING + phenomenonTime.getGmlId()); } else if (phenomenonTime instanceof TimePeriod) { TimeInstant resultTime = new TimeInstant(((TimePeriod) sosObservation.getPhenomenonTime()).getEnd()); resultTime.setGmlId("resultTime_" + sosObservation.getObservationID()); addResultTime(xbObs, resultTime); } } }