@Override public void onDeleteAttribute(List<JsArray<AttributeDto>> selectedItems) { VariableDto dto = getVariableDto(); JsArray<AttributeDto> filteredAttributes = JsArrays.create().cast(); List<AttributeDto> allAttributes = JsArrays.toList(dto.getAttributesArray()); for (AttributeDto attribute : allAttributes) { boolean keep = true; for (JsArray<AttributeDto> toRemove : selectedItems) { if (attribute.getName().equals(toRemove.get(0).getName()) && attribute.getNamespace().equals(toRemove.get(0).getNamespace())) { keep = false; break; } } if (keep) { filteredAttributes.push(attribute); } } dto.setAttributesArray(filteredAttributes); UriBuilder uriBuilder = table.hasViewLink() ? UriBuilders.DATASOURCE_VIEW_VARIABLE.create() : UriBuilders.DATASOURCE_TABLE_VARIABLE.create(); ResourceRequestBuilderFactory.newBuilder() // .forResource( uriBuilder.build(table.getDatasourceName(), table.getName(), variable.getName())) // .withResourceBody(VariableDto.stringify(dto)) // .withCallback( SC_OK, new ResponseCodeCallback() { @Override public void onResponseCode(Request request, Response response) { fireEvent(new VariableRefreshEvent()); } }) // .withCallback(SC_BAD_REQUEST, new ErrorResponseCallback(getView().asWidget())) // .put() .send(); }
@Override protected String getAttributeName(AttributeDto object) { return object.getName(); }