@Override @Nonnull public As unmarshal (final @Nonnull List<Statement> statements, final @Nonnull Context context) { // TODO: what about retrieving the observationSet and calling findOrCreate(?) // final List<Object> capabilities = new ArrayList<Object>(); // capabilities.add(new DefaultIdentifiable(statements.get(0).getSubject())); try { final String displayName = findStatementWithPredicate(statements, ObservationVocabulary.RDFS_LABEL).getObject().stringValue(); return new SimpleLocation(new DefaultDisplayable(displayName, "SimpleLocation")); } catch (NotFoundException e) { throw new RuntimeException(e); // ok. no Displayable } // return new SimpleLocation(capabilities.toArray()); } }
/******************************************************************************************************************* * * Adds the picked location to the {@link Observation} being built in the {@link ObservationClipboard}. * ******************************************************************************************************************/ private void commitLocation() { final List<Object> capabilities = new ArrayList<Object>(); capabilities.add(new DefaultDisplayable(etPlace.getText().toString(), "SimpleLocation")); try { capabilities.add(locationFinder.getRange()); } catch (NotFoundException e) { } final Location location = new SimpleLocation(capabilities.toArray()); // FIXME: use observationSet.findOrCreate() final ObservationClipboard observationClipboard = Locator.find(ObservationClipboard.class); final Observation.Builder builder = observationClipboard.getBuilder(); observationClipboard.setBuilder(builder.at(location)); controlFlow.toNextStep(); }