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

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

    XMLWordPrintableJSON

    Details

    • Type: Task
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.7.2, 1.8.0
    • Component/s: core, indexing, query
    • Labels:
      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

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

                Dates

                • Created:
                  Updated:
                  Resolved: