Search in sources :

Example 1 with DeleteQuery

use of org.apache.pivot.web.DeleteQuery in project pivot by apache.

the class RESTDemoTest method testCRUD.

@Test
public void testCRUD() throws IOException, SerializationException, QueryException {
    JSONSerializer jsonSerializer = new JSONSerializer();
    Object contact = jsonSerializer.readObject(getClass().getResourceAsStream("contact.json"));
    // Create
    PostQuery postQuery = new PostQuery(hostname, port, "/pivot-demos/rest_demo", secure);
    postQuery.setValue(contact);
    URL location = postQuery.execute();
    assertNotNull(location);
    String path = location.getPath();
    // Read
    GetQuery getQuery = new GetQuery(hostname, port, path, secure);
    Object result = getQuery.execute();
    assertArrayEquals((Object[]) JSON.get(contact, "address.street"), (Object[]) JSON.get(result, "address.street"));
    assertEquals(contact, result);
    // Update
    JSON.put(contact, "name", "Joseph User");
    PutQuery putQuery = new PutQuery(hostname, port, path, secure);
    putQuery.setValue(contact);
    boolean created = putQuery.execute();
    assertFalse(created);
    assertEquals(contact, getQuery.execute());
    // Delete
    DeleteQuery deleteQuery = new DeleteQuery(hostname, port, path, secure);
    deleteQuery.execute();
    assertEquals(deleteQuery.getStatus(), Query.Status.NO_CONTENT);
}
Also used : GetQuery(org.apache.pivot.web.GetQuery) PostQuery(org.apache.pivot.web.PostQuery) DeleteQuery(org.apache.pivot.web.DeleteQuery) PutQuery(org.apache.pivot.web.PutQuery) URL(java.net.URL) JSONSerializer(org.apache.pivot.json.JSONSerializer) Test(org.junit.Test)

Example 2 with DeleteQuery

use of org.apache.pivot.web.DeleteQuery in project pivot by apache.

the class ExpensesWindow method deleteSelectedExpense.

private void deleteSelectedExpense() {
    Object expense = expenseTableView.getSelectedRow();
    final int id = JSON.getInt(expense, "id");
    deleteConfirmationPrompt.open(this, new SheetCloseListener() {

        @Override
        public void sheetClosed(Sheet sheet) {
            if (sheet.getResult() && ((Prompt) sheet).getSelectedOptionIndex() == 1) {
                // DELETE expense from server and then remove from table
                Expenses expensesApplicationLocal = getExpensesApplication();
                DeleteQuery deleteExpenseQuery = new DeleteQuery(expensesApplicationLocal.getHostname(), expensesApplicationLocal.getPort(), "/pivot-tutorials/expenses/" + id, expensesApplicationLocal.isSecure());
                activityIndicatorBoxPane.setVisible(true);
                activityIndicator.setActive(true);
                deleteExpenseQuery.execute(new TaskAdapter<>(new TaskListener<Void>() {

                    @Override
                    public void taskExecuted(Task<Void> task) {
                        activityIndicatorBoxPane.setVisible(false);
                        activityIndicator.setActive(false);
                        // Find matching row and remove
                        @SuppressWarnings("unchecked") List<Object> expenses = (List<Object>) expenseTableView.getTableData();
                        for (int i = 0, n = expenses.getLength(); i < n; i++) {
                            if (JSON.get(expenses.get(i), "id").equals(id)) {
                                expenses.remove(i, 1);
                                break;
                            }
                        }
                    }

                    @Override
                    public void executeFailed(Task<Void> task) {
                        activityIndicatorBoxPane.setVisible(false);
                        activityIndicator.setActive(false);
                        Prompt.prompt(MessageType.ERROR, task.getFault().getMessage(), ExpensesWindow.this);
                    }
                }));
            }
        }
    });
}
Also used : TaskAdapter(org.apache.pivot.wtk.TaskAdapter) DeleteQuery(org.apache.pivot.web.DeleteQuery) ArrayList(org.apache.pivot.collections.ArrayList) List(org.apache.pivot.collections.List) SheetCloseListener(org.apache.pivot.wtk.SheetCloseListener) Sheet(org.apache.pivot.wtk.Sheet)

Aggregations

DeleteQuery (org.apache.pivot.web.DeleteQuery)2 URL (java.net.URL)1 ArrayList (org.apache.pivot.collections.ArrayList)1 List (org.apache.pivot.collections.List)1 JSONSerializer (org.apache.pivot.json.JSONSerializer)1 GetQuery (org.apache.pivot.web.GetQuery)1 PostQuery (org.apache.pivot.web.PostQuery)1 PutQuery (org.apache.pivot.web.PutQuery)1 Sheet (org.apache.pivot.wtk.Sheet)1 SheetCloseListener (org.apache.pivot.wtk.SheetCloseListener)1 TaskAdapter (org.apache.pivot.wtk.TaskAdapter)1 Test (org.junit.Test)1