Uploaded image for project: 'Isis'
  1. Isis
  2. ISIS-274

Simplify the bootstrapping of Isis so that there are fewer configuration properties to set in isis.properties

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 0.2.0-incubating
    • Fix Version/s: core-1.0.0
    • Component/s: None
    • Labels:
      None

      Description

      Currently there is a number of settings in isis.properties whose values is pretty much determined by the configured persistor/object store. Most notable examples included the class substitutor and the object factory, where cglib versions are configured for most persistors (for lazy loading), but is not configured for the JDO object store (that leverages the built-in lazy loading of DataNucleus).

      This ticket is to remove some of these configuration settings, and instead arrange things such that selecting the persistor automatically configures these components.

      In particular, that means removing:

      1. isis.reflector.class-substitutor
      (with the default being org.apache.isis.runtimes.dflt.bytecode.dflt.classsubstitutor.CglibClassSubstitutor for most object stores, overridden by the JDO object store)

      2. isis.persistor.identifier-generator
      (with the default already being overridden by all object stores)

      3. isis.persistor.object-factory
      (with the default being
      org.apache.isis.runtimes.dflt.bytecode.dflt.objectfactory.CglibObjectFactory for most object stores, overridden by the JDO object store)

      4. isis.persistor.services-injector
      (with the default being ServicesInjectorDefault; there are no other implementations.)

      5. isis.persistor.adapter-factory
      (with the default being PojoAdapterFactory; there are no other implementations.)

      At the same time, persistor/object stores sometimes have a requirement to install their own FacetFactories and/or MetaModelValidators. So this ticket is also to provide a mechanism such that a persistor can "refine" the metamodel.

        Attachments

          Activity

            People

            • Assignee:
              danhaywood Dan Haywood
              Reporter:
              danhaywood Dan Haywood
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: