private String selfHrefId(String field, Object val) { if (val == null || val instanceof ResourceState == false) { throw new RuntimeException("Invalid value for '" + field + "': " + val); } String href = null; if (val instanceof ResourceRef) { href = ((ResourceRef) val).uri().toString(); if (href == null) { throw new RuntimeException("Not a valid resource reference - empty uri - for '" + field + "': " + val); } } else { Object self = ((ResourceState) val).getProperty(LiveOak.SELF); if (self == null || self instanceof ResourceState == false) { throw new RuntimeException("Not a valid resource reference - no 'self' - for '" + field + "': " + val); } href = ((ResourceState) self).getPropertyAsString(LiveOak.HREF); if (href == null) { throw new RuntimeException("Not a valid resource reference - no 'self/href' - for '" + field + "': " + val); } } return new ResourcePath(href).tail().toString(); }
public StatusResource(URI uri, ResourceProcessingException e) { this.uri = uri; this.error = e; id = new ResourcePath(uri.toString()).tail().toString(); }
String id = null; if (resRef instanceof ResourceRef) { id = ((ResourceRef) resRef).resourcePath().tail().toString(); } else if (resRef instanceof ResourceState) { ResourceState refState = (ResourceState) resRef;
id = new ResourcePath(id).tail().toString();
@Override public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { if (msg instanceof ByteBuf) { bytesRead += ((ByteBuf) msg).readableBytes(); startTime = startTime != 0 ? startTime : System.currentTimeMillis(); } else if (msg instanceof DefaultHttpRequest) { DefaultHttpRequest req = (DefaultHttpRequest) msg; event = new AnalyticsEvent(); startTime = startTime != 0 ? startTime : System.currentTimeMillis(); event.setTimestamp(startTime); event.setMethod(req.getMethod().name()); event.setUri(req.getUri()); event.clientAddress(ctx.channel().remoteAddress()); //event.uri(req.resourcePath().toString()); } else if (msg instanceof ResourceRequest) { ResourceRequest req = (ResourceRequest) msg; event.setApplication(req.resourcePath().head().toString()); event.setUserId(req.requestContext().securityContext().getSubject()); event.setApiRequest(true); } super.channelRead(ctx, msg); }