public EndPointName getEndPoint() { if (endpointName == null) return null; return EndPointName.valueOf(endpointName); }
@Override public int hashCode() { return ep.hashCode(); }
@Override protected EndPointAnalysis makeEndPoint(Frame frame, int depth) { Operation op=frame.getOperation(); EndPointName endPointName=EndPointName.valueOf(op); String example=EndPointAnalysis.getHttpExampleRequest(frame); return new EndPointAnalysis(endPointName, op.getLabel(), example, getOperationScore(op, depth), op); } }
@Override protected EndPointAnalysis makeEndPoint(Frame dispatchFrame, int depth) { Operation op=dispatchFrame.getOperation(); String label=op.getLabel(); EndPointName name=EndPointName.valueOf(label.replace('/', '_')); return new EndPointAnalysis(name, label, label, getOperationScore(op, depth), op); } }
@Override protected EndPointAnalysis makeEndPoint(Frame si, int depth) { Operation op = si.getOperation(); String exampleRequest = op.get(SpringIntegrationDefinitions.SI_COMPONENT_TYPE_ATTR, String.class); String opLabel = op.getLabel(); EndPointName name = EndPointName.valueOf(opLabel); String label = name.getName(); return new EndPointAnalysis(name, label, exampleRequest, ANALYSIS_SCORE, op); } }
@Override protected EndPointAnalysis makeEndPoint(Frame httpFrame, int depth) { Operation op = httpFrame.getOperation(); OperationMap request = op.get("request", OperationMap.class); String servletName=(request == null) ? null : request.get("servletName", String.class); String endPointKey=sanitizeEndPointKey(servletName); String endPointLabel = "Servlet: " + servletName; String example=EndPointAnalysis.createHttpExampleRequest(request); if (StringUtil.isEmpty(example)) { example = op.getLabel(); } return new EndPointAnalysis(EndPointName.valueOf(endPointKey), endPointLabel, example, getOperationScore(op, depth), op); }
@Override protected EndPointAnalysis makeEndPoint(Frame annotatedFrame, int depth) { EndPointAnalysis result=super.makeEndPoint(annotatedFrame, depth); Operation operation=annotatedFrame.getOperation(); String annotatedName=operation.get(ENDPOINT_NAME_OVERRIDE_PROP, String.class); if (!StringUtil.isEmpty(annotatedName)) { result.setEndPoint(EndPointName.valueOf(annotatedName)); } Boolean useDepthScore=operation.get(DEPTH_SCORE_PROP, Boolean.class); if ((useDepthScore != null) && useDepthScore.booleanValue()) { result.setScore(EndPointAnalysis.depth2score(depth)); } return result; }
/** * Make resource label * * @param server server name * @param endpoint endpoint name * * @return resource label * @throws NullPointerException if server or endpoint are <code>null</code> */ public static final String makeLabel( final EndPointName endPoint, final ServerName server) { return makeLabel(endPoint.getName(), server.getName()); }
@Override public Frame getScoringFrame(Trace trace) { Frame frame=super.getScoringFrame(trace); if (frame == null) { return frame; } if (validateScoringFrame(frame) == null) { return null; } else { return frame; } }
@Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; ExternalResourceMemberAssocCacheKey other = (ExternalResourceMemberAssocCacheKey) obj; return ep.equals(other.ep); } }
@Override protected OperationType validateScoringFrame(Frame frame) { if ((frame == null) || (!frame.isRoot())) { return null; } else { return super.validateScoringFrame(frame); } }
public Collection<Resource> collectExternalResources (TraceInterface traceAccess, EndPointAnalysis endPointAnalysis) { return collectExternalResources(traceAccess, endPointAnalysis.getEndPointName()); }
@Override protected int getOperationScore(Operation op, int depth) { String endPointNameString = op.get("endPointName", String.class); /* * If we have an endpoint let it compete with all others, otherwise * use the intercepted location as an endpoint if no better found */ if (StringUtil.isEmpty(endPointNameString)) { return UNMARKED_ENDPOINT_SCORE; } else { return super.getOperationScore(op, depth); } }
@Override protected EndPointAnalysis makeEndPoint(Frame controllerFrame, int depth) { Operation controllerOp = controllerFrame.getOperation(); String examplePath = EndPointAnalysis.getHttpExampleRequest(controllerFrame); EndPointName endPointName = EndPointName.valueOf(controllerOp); String endPointLabel = controllerOp.getLabel(); return new EndPointAnalysis(endPointName, endPointLabel, examplePath, getOperationScore(controllerOp, depth), controllerOp); } }
@Override protected EndPointAnalysis makeEndPoint(Frame frame, int depth) { Operation op=frame.getOperation(); return new EndPointAnalysis(EndPointName.valueOf(op), op.getLabel(), op.getLabel(), getOperationScore(op, depth), op); }
public ApplicationEndPointResource(ApplicationName appName, EndPointName endPoint, TraceSource source) { this(appName, endPoint, makeLabel(appName.getName(), endPoint.getName()), source); }
@Override public Frame getScoringFrame(Trace trace) { Frame frame=super.getScoringFrame(trace); if (frame == null) { return null; } if (validateScoringFrame(frame) == null) { return null; // can happen if annotation says "endPoint=false" } else { return frame; } }
boolean queryMatchesEndPoint(ResourceQuery query, Resource resource) { EndPointName ep = query.getRequiredEndPoint(); if (ep == null) { return true; } if (resource instanceof EndPointAwareResource) { return ((EndPointAwareResource) resource).getEndPointName().equals(ep); } return false; }
@Override protected EndPointAnalysis makeEndPoint(Frame grailsFrame, int depth) { Operation operation = grailsFrame.getOperation(); String resourceKey = makeResourceKey(operation.getSourceCodeLocation()); String resourceLabel = operation.getLabel(); String exampleRequest = EndPointAnalysis.getHttpExampleRequest(grailsFrame); return new EndPointAnalysis(EndPointName.valueOf(resourceKey), resourceLabel, exampleRequest, getOperationScore(operation, depth), operation); }