public static DeleteElementType unadapt(Delete delete) { DeleteElementType de = WfsFactory.eINSTANCE.createDeleteElementType(); de.setHandle(delete.getHandle()); de.setTypeName(delete.getTypeName()); de.setFilter(delete.getFilter()); return de; } }
@Override public void setElements(List<TransactionElement> elements) { TransactionType tx = (TransactionType) adaptee; tx.getInsert().clear(); tx.getDelete().clear(); tx.getUpdate().clear(); for (TransactionElement element : elements) { if (element instanceof Insert) { tx.getInsert().add(((Insert) element).getAdaptee()); } else if (element instanceof Update) { tx.getUpdate().add(((Update) element).getAdaptee()); } else if (element instanceof Delete) { tx.getDelete().add(((Delete) element).getAdaptee()); } // no replace in wfs 1.1, cannot be there } }
Delete delete = (Delete) element; FeatureTypeInfo featureTypeInfo = getFeatureTypeInfo(new NameImpl(delete.getTypeName())); if (TimeVersioning.isEnabled(featureTypeInfo)) { Filter filter = delete.getFilter(); Filter adaptedFilter = VersioningFilterAdapter.adapt(featureTypeInfo, filter); delete.setFilter(adaptedFilter);
public static TransactionRequest replaceWithFixedRoadsDelete( Catalog catalog, TransactionRequest request) { List<TransactionElement> transactionElements = new ArrayList<>(); // create a delete Delete delete = request.createDelete(); try { delete.setTypeName( new QName( MockData.ROAD_SEGMENTS.getNamespaceURI(), MockData.ROAD_SEGMENTS.getLocalPart())); delete.setFilter(CQL.toFilter("FID = 106")); } catch (Exception e) { throw new RuntimeException(e); } transactionElements.add(delete); request.setElements(transactionElements); return request; }
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; }