Skip to content

[TASK] Remove ES type leakage from public ContentletAPI contracts #35784

@fabrizzio-dotCMS

Description

@fabrizzio-dotCMS

Description

Public interfaces ContentletAPI, ContentletAPIPreHook, ContentletAPIPostHook, and ContentletAPIInterceptor currently reference ES-specific types (ESSearchResults, SearchCriteria, SearchResponse). This blocks Phase 3 because in an OS-only environment these types cannot be instantiated.

Priority: Blocking Phase 3
Gate: dotEvergreen R7 cutover (~Aug 18) — deprecated signatures must remain until then

Files

File ES types to remove Replacement
ContentletAPI.java ESSearchResults, SearchCriteria Remove deprecated esSearch/esSearchRaw signatures
ContentletAPIPreHook.java SearchCriteria parameter Vendor-neutral SearchQuery
ContentletAPIPostHook.java SearchCriteria parameter Vendor-neutral SearchQuery
ContentletAPIInterceptor.java SearchResponse, ESSearchResults, SearchCriteria ContentSearchResults<T>, SearchQuery

Checklist

  • Remove deprecated esSearch / esSearchRaw signatures from ContentletAPI
  • Remove ESSearchResults and SearchCriteria imports from ContentletAPI
  • Migrate SearchCriteria parameter in ContentletAPIPreHook to neutral type
  • Migrate SearchCriteria parameter in ContentletAPIPostHook to neutral type
  • Replace SearchResponse, ESSearchResults, SearchCriteria in ContentletAPIInterceptor with ContentSearchResults<T> and SearchQuery

Acceptance Criteria

  • Zero org.elasticsearch.* or com.dotcms.content.elasticsearch.* imports in all four files
  • All existing ContentletAPI hook implementations compile without modification
  • Integration tests pass

Metadata

Metadata

Assignees

No one assigned

    Type

    No fields configured for Task.

    Projects

    Status

    New

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions