/** * Build a response for PUT alter namespace with no properties specified. * @param message value not used. * @param headers value not used. * @return response code. */ @PUT public Response putNoBody(final byte[] message, final @Context UriInfo uriInfo, final @Context HttpHeaders headers) { if (LOG.isTraceEnabled()) { LOG.trace("PUT " + uriInfo.getAbsolutePath()); } servlet.getMetrics().incrementRequests(1); try{ NamespacesInstanceModel model = new NamespacesInstanceModel(namespace); return processUpdate(model, true, uriInfo); }catch(IOException ioe){ servlet.getMetrics().incrementFailedPutRequests(1); throw new RuntimeException("Cannot retrieve info for '" + namespace + "'."); } }
public NamespacesInstanceModel buildTestModel(String namespace, Map<String,String> properties) { NamespacesInstanceModel model = new NamespacesInstanceModel(); for(String key: properties.keySet()){ model.addProperty(key, properties.get(key)); } return model; }
public void checkModel(NamespacesInstanceModel model, String namespace, Map<String,String> properties) { Map<String,String> modProperties = model.getProperties(); assertEquals(properties.size(), modProperties.size()); // Namespace name comes from REST URI, not properties. assertNotSame(namespace, model.getNamespaceName()); for(String property: properties.keySet()){ assertEquals(properties.get(property), modProperties.get(property)); } }
assertEquals(200, response.getCode()); NamespacesInstanceModel model = fromXML(response.getBody()); checkNamespaceProperties(model.getProperties(), nsProperties); checkNamespaceProperties(model.getProperties(), nsProperties); model.getObjectFromMessage(response.getBody()); checkNamespaceProperties(model.getProperties(), nsProperties);
@Override public ProtobufMessageHandler getObjectFromMessage(byte[] message) throws IOException { NamespaceProperties.Builder builder = NamespaceProperties.newBuilder(); builder.mergeFrom(message); List<NamespaceProperties.Property> properties = builder.getPropsList(); for(NamespaceProperties.Property property: properties){ addProperty(property.getKey(), property.getValue()); } return this; } }
private Response createOrUpdate(final NamespacesInstanceModel model, final UriInfo uriInfo, final Admin admin, final boolean updateExisting) { NamespaceDescriptor.Builder builder = NamespaceDescriptor.create(namespace); builder.addConfiguration(model.getProperties()); if(model.getProperties().size() > 0){ builder.addConfiguration(model.getProperties()); } NamespaceDescriptor nsd = builder.build(); try{ if(updateExisting){ admin.modifyNamespace(nsd); }else{ admin.createNamespace(nsd); } }catch (IOException e) { servlet.getMetrics().incrementFailedPutRequests(1); return processException(e); } servlet.getMetrics().incrementSucessfulPutRequests(1); return Response.created(uriInfo.getAbsolutePath()).build(); }
assertEquals(403, response.getCode()); response = client.put(namespacePath4, Constants.MIMETYPE_PROTOBUF, model4.createProtobufOutput()); assertEquals(403, response.getCode()); assertEquals(403, response.getCode()); response = client.put(namespacePath4, Constants.MIMETYPE_PROTOBUF, model4.createProtobufOutput()); assertEquals(403, response.getCode()); NamespaceDescriptor nd3 = findNamespace(admin, NAMESPACE3); assertEquals(201, response.getCode()); response = client.post(namespacePath4, Constants.MIMETYPE_PROTOBUF, model4.createProtobufOutput()); assertEquals(201, response.getCode()); assertEquals(403, response.getCode()); response = client.post(namespacePath4, Constants.MIMETYPE_PROTOBUF, model4.createProtobufOutput()); assertEquals(403, response.getCode());
assertEquals(200, response.getCode()); NamespacesInstanceModel model = fromXML(response.getBody()); checkNamespaceProperties(model.getProperties(), nsProperties); checkNamespaceProperties(model.getProperties(), nsProperties); model.getObjectFromMessage(response.getBody()); checkNamespaceProperties(model.getProperties(), nsProperties);
@Override public ProtobufMessageHandler getObjectFromMessage(byte[] message) throws IOException { NamespaceProperties.Builder builder = NamespaceProperties.newBuilder(); builder.mergeFrom(message); List<NamespaceProperties.Property> properties = builder.getPropsList(); for(NamespaceProperties.Property property: properties){ addProperty(property.getKey(), property.getValue()); } return this; } }
private Response createOrUpdate(final NamespacesInstanceModel model, final UriInfo uriInfo, final Admin admin, final boolean updateExisting) { NamespaceDescriptor.Builder builder = NamespaceDescriptor.create(namespace); builder.addConfiguration(model.getProperties()); if(model.getProperties().size() > 0){ builder.addConfiguration(model.getProperties()); } NamespaceDescriptor nsd = builder.build(); try{ if(updateExisting){ admin.modifyNamespace(nsd); }else{ admin.createNamespace(nsd); } }catch (IOException e) { servlet.getMetrics().incrementFailedPutRequests(1); return processException(e); } servlet.getMetrics().incrementSucessfulPutRequests(1); return Response.created(uriInfo.getAbsolutePath()).build(); }
assertEquals(403, response.getCode()); response = client.put(namespacePath4, Constants.MIMETYPE_PROTOBUF, model4.createProtobufOutput()); assertEquals(403, response.getCode()); assertEquals(403, response.getCode()); response = client.put(namespacePath4, Constants.MIMETYPE_PROTOBUF, model4.createProtobufOutput()); assertEquals(403, response.getCode()); NamespaceDescriptor nd3 = findNamespace(admin, NAMESPACE3); assertEquals(201, response.getCode()); response = client.post(namespacePath4, Constants.MIMETYPE_PROTOBUF, model4.createProtobufOutput()); assertEquals(201, response.getCode()); assertEquals(403, response.getCode()); response = client.post(namespacePath4, Constants.MIMETYPE_PROTOBUF, model4.createProtobufOutput()); assertEquals(403, response.getCode());
/** * Build a response for POST create namespace with no properties specified. * @param message value not used. * @param headers value not used. * @return response code. */ @POST public Response postNoBody(final byte[] message, final @Context UriInfo uriInfo, final @Context HttpHeaders headers) { if (LOG.isTraceEnabled()) { LOG.trace("POST " + uriInfo.getAbsolutePath()); } servlet.getMetrics().incrementRequests(1); try{ NamespacesInstanceModel model = new NamespacesInstanceModel(namespace); return processUpdate(model, false, uriInfo); }catch(IOException ioe){ servlet.getMetrics().incrementFailedPutRequests(1); throw new RuntimeException("Cannot retrieve info for '" + namespace + "'."); } }
public NamespacesInstanceModel buildTestModel(String namespace, Map<String,String> properties) { NamespacesInstanceModel model = new NamespacesInstanceModel(); for(String key: properties.keySet()){ model.addProperty(key, properties.get(key)); } return model; }
public void checkModel(NamespacesInstanceModel model, String namespace, Map<String,String> properties) { Map<String,String> modProperties = model.getProperties(); assertEquals(properties.size(), modProperties.size()); // Namespace name comes from REST URI, not properties. assertNotSame(namespace, model.getNamespaceName()); for(String property: properties.keySet()){ assertEquals(properties.get(property), modProperties.get(property)); } }
@Override public ProtobufMessageHandler getObjectFromMessage(byte[] message) throws IOException { NamespaceProperties.Builder builder = NamespaceProperties.newBuilder(); builder.mergeFrom(message); List<NamespaceProperties.Property> properties = builder.getPropsList(); for(NamespaceProperties.Property property: properties){ addProperty(property.getKey(), property.getValue()); } return this; } }
private Response createOrUpdate(final NamespacesInstanceModel model, final UriInfo uriInfo, final Admin admin, final boolean updateExisting) { NamespaceDescriptor.Builder builder = NamespaceDescriptor.create(namespace); builder.addConfiguration(model.getProperties()); if(model.getProperties().size() > 0){ builder.addConfiguration(model.getProperties()); } NamespaceDescriptor nsd = builder.build(); try{ if(updateExisting){ admin.modifyNamespace(nsd); }else{ admin.createNamespace(nsd); } }catch (IOException e) { servlet.getMetrics().incrementFailedPutRequests(1); return processException(e); } servlet.getMetrics().incrementSucessfulPutRequests(1); return Response.created(uriInfo.getAbsolutePath()).build(); }
new NamespacesInstanceModel(servlet.getAdmin(), namespace); servlet.getMetrics().incrementSucessfulGetRequests(1); return Response.ok(rowModel).build();
/** * Build a response for POST create namespace with no properties specified. * @param message value not used. * @param headers value not used. * @return response code. */ @POST public Response postNoBody(final byte[] message, final @Context UriInfo uriInfo, final @Context HttpHeaders headers) { if (LOG.isTraceEnabled()) { LOG.trace("POST " + uriInfo.getAbsolutePath()); } servlet.getMetrics().incrementRequests(1); try{ NamespacesInstanceModel model = new NamespacesInstanceModel(namespace); return processUpdate(model, false, uriInfo); }catch(IOException ioe){ servlet.getMetrics().incrementFailedPutRequests(1); throw new RuntimeException("Cannot retrieve info for '" + namespace + "'."); } }
/** * Build a response for POST create namespace with no properties specified. * @param message value not used. * @param headers value not used. * @return response code. */ @POST public Response postNoBody(final byte[] message, final @Context UriInfo uriInfo, final @Context HttpHeaders headers) { if (LOG.isTraceEnabled()) { LOG.trace("POST " + uriInfo.getAbsolutePath()); } servlet.getMetrics().incrementRequests(1); try{ NamespacesInstanceModel model = new NamespacesInstanceModel(namespace); return processUpdate(model, false, uriInfo); }catch(IOException ioe){ servlet.getMetrics().incrementFailedPutRequests(1); throw new RuntimeException("Cannot retrieve info for '" + namespace + "'."); } }
/** * Build a response for PUT alter namespace with no properties specified. * @param message value not used. * @param headers value not used. * @return response code. */ @PUT public Response putNoBody(final byte[] message, final @Context UriInfo uriInfo, final @Context HttpHeaders headers) { if (LOG.isTraceEnabled()) { LOG.trace("PUT " + uriInfo.getAbsolutePath()); } servlet.getMetrics().incrementRequests(1); try{ NamespacesInstanceModel model = new NamespacesInstanceModel(namespace); return processUpdate(model, true, uriInfo); }catch(IOException ioe){ servlet.getMetrics().incrementFailedPutRequests(1); throw new RuntimeException("Cannot retrieve info for '" + namespace + "'."); } }