/******************************************************************************************************************* * * {@inheritDoc} * ******************************************************************************************************************/ @Nonnull public ChangeBuilder without (final @Nonnull ObservationItem observationItem) { for (final Iterator<ObservableWithCardinality> i = observablesWithCardinality.iterator(); i.hasNext(); ) { final ObservableWithCardinality observableWithCardinality = i.next(); // TODO: is it enough to compare the cardinality? What about extra attributes? if (observableWithCardinality.observable.equals(observationItem.getObservable()) && observableWithCardinality.cardinality.equals(observationItem.getCardinality())) { i.remove(); initializerMap.remove(observableWithCardinality); break; } } return this; } }
@Override @Nonnull public void marshal (final @Nonnull As entity, final @Nonnull Context context) { super.marshal(entity, context); final ObservationItem observationItem = (ObservationItem)entity; context.addStatement(observationItem, Vocabulary.RDF_TYPE, Vocabulary.FOAF_DOCUMENT); context.addStatement(observationItem, Vocabulary.RDF_TYPE, Vocabulary.OBSERVATION_ITEM); context.addStatement(observationItem, Vocabulary.FOAF_TOPIC, observationItem.getObservable()); final Cardinality cardinality = observationItem.getCardinality(); if (!cardinality.equals(Cardinality.UNDEFINED)) { context.addStatement(observationItem, Vocabulary.CARDINALITY, cardinality); } } }
/******************************************************************************************************************* * * ******************************************************************************************************************/ protected SimpleObservationChangeBuilder (final @Nonnull SimpleObservationSet observationSet, final @Nonnull Observation originalObservation) { super(observationSet); this.originalObservation = originalObservation; at(originalObservation.getDate()); at(originalObservation.getLocation()); for (final Observer observer : originalObservation.findObservers().results()) { by(observer); } for (final ObservationItem observationItem : originalObservation.findObservationItems().results()) { of(observationItem.getObservable(), observationItem.getCardinality()); } }