Uploaded image for project: 'Jackrabbit Oak'
  1. Jackrabbit Oak
  2. OAK-6304

Cyclic dependency between oak.spi.query an oak.query.*

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Task
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.7.2, 1.8.0
    • core, indexing, query
    • None

    Description

      while working on OAK-6069 i noticed that there exist IMO troublesome dependencies from o.a.j.oak.spi.query back to o.a.j.oak.query.*. While i don't know the historical reasons that led to this setup it feels wrong to me that the interfaces and classes in o.a.j.oak.spi.query would have dependencies to packages that from my understanding are supposed to contain implementations.

      while utilities like o.a.j.oak.spi.query.Cursors may simply have ended up in the wrong bucket and could possibly moved to e.g o.a.j.query.index, i couldn't find an easy solution for an interface like o.a.j.oak.spi.query.Filter that defines methods returning o.a.j.query.fulltext.FullTextExpression and o.a.j.query.QueryEngineSettings, while at the same time being tied to the o.a.j.oak.spi.query.QueryIndex interface.

      Attachments

        1. OAK-6304-test.patch
          37 kB
          Angela Schreiber
        2. OAK-6304-2-test.patch
          36 kB
          Angela Schreiber
        3. OAK-6304-2.patch
          68 kB
          Angela Schreiber
        4. OAK-6304.patch
          60 kB
          Angela Schreiber

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            angela Angela Schreiber
            angela Angela Schreiber
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment