Search in sources :

Example 11 with Trace

use of com.enonic.xp.trace.Trace in project xp by enonic.

the class NodeServiceImpl method getByPath.

@Override
public Node getByPath(final NodePath path) {
    final Trace trace = Tracer.newTrace("node.getByPath");
    if (trace == null) {
        return executeGetByPath(path);
    }
    return Tracer.trace(trace, () -> {
        trace.put("path", path);
        final Node node = executeGetByPath(path);
        if (node != null) {
            trace.put("id", node.id());
        }
        return node;
    });
}
Also used : Trace(com.enonic.xp.trace.Trace) Node(com.enonic.xp.node.Node)

Example 12 with Trace

use of com.enonic.xp.trace.Trace in project xp by enonic.

the class NodeServiceImpl method getByIdAndVersionId.

@Override
public Node getByIdAndVersionId(final NodeId id, final NodeVersionId versionId) {
    final Trace trace = Tracer.newTrace("node.getByIdAndVersionId");
    if (trace == null) {
        return executeGetByIdAndVersionId(id, versionId);
    }
    return Tracer.trace(trace, () -> {
        trace.put("id", id);
        trace.put("versionId", versionId);
        final Node node = executeGetByIdAndVersionId(id, versionId);
        trace.put("path", node.path());
        return node;
    });
}
Also used : Trace(com.enonic.xp.trace.Trace) Node(com.enonic.xp.node.Node)

Example 13 with Trace

use of com.enonic.xp.trace.Trace in project xp by enonic.

the class LocalTaskManagerImpl method submitTask.

@Override
public void submitTask(final DescribedTask runnableTask) {
    final Trace trace = Tracer.newTrace("task.submit");
    if (trace == null) {
        doSubmitTask(runnableTask);
    } else {
        Tracer.trace(trace, () -> doSubmitTask(runnableTask));
        trace.put("taskId", runnableTask.getTaskId());
        trace.put("name", runnableTask.getName());
    }
}
Also used : Trace(com.enonic.xp.trace.Trace)

Example 14 with Trace

use of com.enonic.xp.trace.Trace in project xp by enonic.

the class ComponentHandler method doHandle.

@Override
protected PortalResponse doHandle(final WebRequest webRequest, final WebResponse webResponse, final WebHandlerChain webHandlerChain) throws Exception {
    WebHandlerHelper.checkAdminAccess(webRequest);
    final String restPath = findRestPath(webRequest);
    final ComponentHandlerWorker worker = new ComponentHandlerWorker((PortalRequest) webRequest);
    worker.componentPath = ComponentPath.from(restPath);
    worker.contentService = contentService;
    worker.contentResolver = new ContentResolver(contentService);
    worker.rendererDelegate = rendererDelegate;
    worker.pageResolver = new PageResolver(pageTemplateService);
    worker.postProcessor = postProcessor;
    final Trace trace = Tracer.newTrace("renderComponent");
    if (trace == null) {
        return worker.execute();
    }
    return Tracer.traceEx(trace, worker::execute);
}
Also used : Trace(com.enonic.xp.trace.Trace) ContentResolver(com.enonic.xp.portal.impl.ContentResolver)

Example 15 with Trace

use of com.enonic.xp.trace.Trace in project xp by enonic.

the class ComponentHandlerWorker method execute.

@Override
public PortalResponse execute() throws Exception {
    final ContentResolverResult resolvedContent = contentResolver.resolve(this.request);
    final Content content = resolvedContent.getContentOrElseThrow();
    final Site site = resolvedContent.getNearestSiteOrElseThrow();
    Page page = content.getPage();
    final PageResolverResult resolvedPage = pageResolver.resolve(request.getMode(), content, site);
    Component component = null;
    if (content.getType().isFragment()) {
        // fragment content, try resolving component path in Layout fragment
        final Component fragmentComponent = page.getFragment();
        if (this.componentPath.isEmpty()) {
            component = fragmentComponent;
        } else if (fragmentComponent instanceof LayoutComponent) {
            component = ((LayoutComponent) fragmentComponent).getComponent(this.componentPath);
        }
    }
    final Page effectivePage;
    if (component == null) {
        effectivePage = inlineFragments(resolvedPage.getEffectivePage(), this.componentPath);
        component = effectivePage.getRegions().getComponent(this.componentPath);
    } else {
        effectivePage = resolvedPage.getEffectivePage();
    }
    if (component == null) {
        throw WebException.notFound(String.format("Page component for [%s] not found", this.componentPath));
    }
    final Content effectiveContent = Content.create(content).page(effectivePage).build();
    final DescriptorKey controller = resolvedPage.getController();
    this.request.setSite(site);
    this.request.setContent(effectiveContent);
    this.request.setComponent(component);
    this.request.setApplicationKey(controller != null ? controller.getApplicationKey() : null);
    final Trace trace = Tracer.current();
    if (trace != null) {
        trace.put("componentPath", component.getPath());
        trace.put("type", component.getType().toString());
    }
    final PortalResponse response = rendererDelegate.render(component, this.request);
    return this.postProcessor.processResponseInstructions(this.request, response);
}
Also used : ContentResolverResult(com.enonic.xp.portal.impl.ContentResolverResult) Site(com.enonic.xp.site.Site) Trace(com.enonic.xp.trace.Trace) PortalResponse(com.enonic.xp.portal.PortalResponse) Content(com.enonic.xp.content.Content) DescriptorKey(com.enonic.xp.page.DescriptorKey) Page(com.enonic.xp.page.Page) FragmentComponent(com.enonic.xp.region.FragmentComponent) Component(com.enonic.xp.region.Component) LayoutComponent(com.enonic.xp.region.LayoutComponent) LayoutComponent(com.enonic.xp.region.LayoutComponent)

Aggregations

Trace (com.enonic.xp.trace.Trace)39 Content (com.enonic.xp.content.Content)6 PortalResponse (com.enonic.xp.portal.PortalResponse)6 Node (com.enonic.xp.node.Node)4 PortalRequest (com.enonic.xp.portal.PortalRequest)4 Site (com.enonic.xp.site.Site)4 DescriptorKey (com.enonic.xp.page.DescriptorKey)3 ContentResolver (com.enonic.xp.portal.impl.ContentResolver)3 ApplicationKey (com.enonic.xp.app.ApplicationKey)2 ContentResolverResult (com.enonic.xp.portal.impl.ContentResolverResult)2 WebResponse (com.enonic.xp.web.WebResponse)2 Matcher (java.util.regex.Matcher)2 Attachment (com.enonic.xp.attachment.Attachment)1 FindContentByParentResult (com.enonic.xp.content.FindContentByParentResult)1 FindContentIdsByQueryResult (com.enonic.xp.content.FindContentIdsByQueryResult)1 Media (com.enonic.xp.content.Media)1 ThrottlingException (com.enonic.xp.exception.ThrottlingException)1 ReadImageParams (com.enonic.xp.image.ReadImageParams)1 ImageOrientation (com.enonic.xp.media.ImageOrientation)1 FindNodesByParentResult (com.enonic.xp.node.FindNodesByParentResult)1