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

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

    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

            People

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

              Dates

                Created:
                Updated:
                Resolved: