@Override public String value(String name) { return delegate.value(name); }
@Override public boolean contains(String name) { return delegate.contains(name); }
@Override public Collection<String> names() { return delegate.names(); }
ResourceParams resourceParams = ctx.resourceParams(); if (resourceParams != null) { if (resourceParams.contains("q")) { String queryString = resourceParams.value("q"); try { queryObject = (DBObject) JSON.parse(queryString); && resourceParams.contains("explain") && resourceParams.value("explain").equalsIgnoreCase("true");
default void readConfigEnvVars(ObjectsTree<Object> configVars, RequestContext ctx, PropertySink sink) { boolean runtimeValuePresent = ctx.resourceParams().value("runtime") != null; boolean runtimeRequested = runtimeValuePresent ? Boolean.parseBoolean(ctx.resourceParams().value("runtime")) : ctx.resourceParams().names().contains("runtime"); // If runtime is not set, we replace the config values if (!runtimeRequested && configVars != null) { sink.replaceConfig((names, object) -> { ResourcePath path = new ResourcePath(names); List<Object> values = configVars.objects(path).collect(Collectors.toList()); if (values != null && values.size() == 1) { return values.get(0); } return object; }); } }
@Override public List<String> values(String name) { return delegate.values(name); }
private BasicDBList aggregate(RequestContext ctx) { BasicDBList queryObject = new BasicDBList(); if (ctx.resourceParams() != null && ctx.resourceParams().contains("q")) { String queryString = ctx.resourceParams().value("q"); DBObject paramObject = (DBObject) JSON.parse(queryString); if (paramObject instanceof BasicDBList) { queryObject = (BasicDBList) paramObject; } else { queryObject.add(paramObject); } } DBCollection dbCollection = parent().getDBCollection(); try { BasicDBList result = new BasicDBList(); AggregationOutput output = dbCollection.aggregate( (DBObject) queryObject.remove(0), queryObject.toArray(new DBObject[queryObject.size()])); for (DBObject dbObject : output.results()) { result.add(dbObject); } return result; } catch (Exception e) { logger().error("", e); throw new RuntimeException("Aggregation query failed: ", e); } }
private ReturnFields decodeReturnFields(ResourceParams params) { String fieldsValue = params.value("fields"); DefaultReturnFields returnFields = null; if (fieldsValue != null && !"".equals(fieldsValue)) { returnFields = new DefaultReturnFields(fieldsValue); } else { returnFields = new DefaultReturnFields("*"); } return returnFields; }
@Override public void delete(RequestContext ctx, Responder responder) throws Exception { ResourceParams params = ctx.resourceParams(); boolean cascade = params != null && params.contains("cascade"); Catalog cat = parent.parent().catalog(); Table table = cat.table(new TableRef(parent.id())); try (Connection c = parent.parent().connection()) { queryBuilder.executeDelete(ctx, c, table, id, cascade); } this.row = null; responder.resourceDeleted(this); } }
protected Sorting decodeSorting(ResourceParams params) { String spec = params.value("sort"); if (spec != null) { return new Sorting(spec); } return new Sorting(); }
protected Pagination decodePagination(ResourceParams params) { int offset = limit(intValue(params.value("offset"), 0), 0, Integer.MAX_VALUE); int limit = limit(intValue(params.value("limit"), Pagination.DEFAULT_LIMIT), 0, Pagination.MAX_LIMIT); return new Pagination() { public int offset() { return offset; } public int limit() { return limit; } }; }
String overwriteProperty = ctx.resourceParams().value(OVERWRITE); boolean overwrite = overwriteProperty != null && overwriteProperty.equals(Boolean.TRUE.toString()); String cleanProperty = ctx.resourceParams().value(CLEAN); if (cleanProperty != null && cleanProperty.equals(Boolean.TRUE.toString())) { if (parent.directory().exists()) {
public int queryTableCount(String table, RequestContext ctx) throws SQLException, IOException { Catalog cat = parent.catalog(); Table t = cat.tableById(table); try (Connection con = parent.connection()) { String q = ctx.resourceParams().value("q"); if (q != null) { return queryBuilder.querySelectCountFromTable(con, t, q); } else { return queryBuilder.querySelectCountFromTable(con, t); } } }
@Override public void createMember(RequestContext ctx, ResourceState state, Responder responder) throws Exception { String action = ctx.resourceParams().value("action"); if (action == null || (!action.equals(CREATE) && !action.equals(UPDATE) && !action.equals(MERGE) && !action.equals(DELETE))) {
public QueryResults queryTable(String table, String id, RequestContext ctx) throws SQLException, IOException { Catalog cat = parent.catalog(); Table t = cat.tableById(table); try (Connection con = parent.connection()) { String q = ctx.resourceParams().value("q"); if (id == null) { if (q != null) { return queryBuilder.querySelectFromTable(con, t, replaceIdsWithColumnNames(ctx.sorting()), ctx.pagination(), q); } else { return queryBuilder.querySelectFromTable(con, t, replaceIdsWithColumnNames(ctx.sorting()), ctx.pagination()); } } else { return queryBuilder.querySelectFromTableWhereId(con, t, id); } } }