public Object getValue() { return eGet(adaptee, "value", Object.class); }
public void setValue(Object value) { eSet(adaptee, "value", value); }
public static TransactionRequest replaceWithFixedRoadsUpdate( Catalog catalog, TransactionRequest request) { List<TransactionElement> transactionElements = new ArrayList<>(); // create an update Update update = request.createUpdate(); try { update.setTypeName( new QName( MockData.ROAD_SEGMENTS.getNamespaceURI(), MockData.ROAD_SEGMENTS.getLocalPart())); update.setFilter(CQL.toFilter("FID = 106")); Property property = update.createProperty(); property.setName(new QName(null, "NAME")); property.setValue("Clean Road"); update.setUpdateProperties(Arrays.asList(property)); } catch (Exception e) { throw new RuntimeException(e); } transactionElements.add(update); request.setElements(transactionElements); return request; }
@Override public void setUpdateProperties(List<Property> properties) { UpdateElementType update = (UpdateElementType) adaptee; update.getProperty().clear(); properties.stream().map(p -> p.getAdaptee()).forEach(p -> update.getProperty().add(p)); }
public static TransactionRequest defaultTransformation( Catalog catalog, TransactionRequest request) { for (TransactionElement element : request.getElements()) { if (element instanceof Insert) { for (Object f : ((Insert) element).getFeatures()) { SimpleFeature sf = (SimpleFeature) f; if ("Points".equals(sf.getType().getTypeName())) { // check inserts can be modified sf.setAttribute("id", sf.getAttribute("id") + "-modified"); } } } else if (element instanceof Update) { Update update = (Update) element; List<Property> updateProperties = update.getUpdateProperties(); Property property = update.createProperty(); property.setName(new QName(null, "NAME")); property.setValue(FOLSOM_STREET); updateProperties.add(property); update.setUpdateProperties(updateProperties); } else if (element instanceof Delete) { try { // mass delete more than requested ((Delete) element).setFilter(CQL.toFilter("FID > 102")); } catch (CQLException e) { throw new WFSException(e); } } } return request; }
@Override public void setUpdateProperties(List<Property> properties) { UpdateType update = (UpdateType) adaptee; update.getProperty().clear(); properties .stream() .map(p -> (net.opengis.wfs20.PropertyType) p.getAdaptee()) .forEach(p -> update.getProperty().add(p)); }
private void validateValue(TransactionElement element, Property property, Class<?> binding) { Object value = property.getValue(); // was it a null? If so, assume valid (already checked for nulls before) if (value == null // parsed as null || (value instanceof String && ((String) value).trim().isEmpty()) // as an empty string || (value instanceof Map && ((Map) value).isEmpty()) // or the usual map that the parser creates ) { return; } // see if the datastore machinery will be able to convert Object converted = Converters.convert(value, binding); if (converted == null) { String propertyName = property.getName().getLocalPart(); WFSException e = new WFSException( element, "Invalid value for property " + propertyName, WFSException.INVALID_VALUE); e.setLocator(propertyName); throw e; } }
private SimpleFeature prepareInsertFeature( SimpleFeature feature, Update update, Date referenceTime) { SimpleFeatureBuilder builder = new SimpleFeatureBuilder(feature.getFeatureType()); builder.init(feature); SimpleFeature versionedFeature = builder.buildFeature(null); // run the update for (Object o : update.getUpdateProperties()) { Property p = (Property) o; versionedFeature.setAttribute(p.getName().getLocalPart(), p.getValue()); } // set the time setTimeAttribute(versionedFeature, referenceTime); return versionedFeature; }