Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

  • Decouple module interface impl from Module abstract class where needed
  • Push param validation responsibility down to each impl (not in Module)
  • Use constructor injection if possible. For those with circular dependencies that can't be refactored easily, provide setters.
  • Where existing modules look at configuration of other modules, get the configuration value from a getter in the interface, not the configuration.
  • Where existing modules look at global fcfg values, make those available via bean-style class, GlobalConfig.
  • Where existing modules look at datastore fcfg values, inject the connectionpool or config values directly.
  • Constructors for impls should do as much arg validation/setup as they can.  If they can't do it all, it should be done in a @PostConstruct void init() method.  In either case, if validation or setup fails, an unchecked exception should be thrown, as per JSR-250.
  • Where de-initialization is needed, a @PreDestroy void destroy() method should be used. Errors encountered during de-initialization should be logged by this method, and an unchecked exception should be thrown, as per JSR-250.
    Tasklist
    Modifications Needed
    Modifications Needed
    ||Completed||Priority||Locked||CreatedDate||CompletedDate||Assignee||Name||
    |F|M|F|1268080202735|          |cwilper|Add and populate GlobalConfig|
    |F|M|F|1268080236272|          |cwilper|Update org.fcrepo.server.access.DefaultAccess|
    |F|M|F|1268080257979|          |cwilper|Update org.fcrepo.server.access.DynamicAccessModule|
    |F|M|F|1268080268001|          |cwilper|Update org.fcrepo.server.journal.Journaler|
    |F|M|F|1268080276055|          |cwilper|Update org.fcrepo.server.management.BasicPIDGenerator|
    |F|M|F|1268080285519|          |cwilper|Update org.fcrepo.server.management.ManagementModule|
    |F|M|F|1268080327906|          |cwilper|Update org.fcrepo.server.messaging.MessagingModule|
    |F|M|F|1268080339553|          |cwilper|Update org.fcrepo.server.oai.FedoraOAIProviderModule|
    |F|M|F|1268080350944|          |cwilper|Update org.fcrepo.server.resourceIndex.ResourceIndexModule|
    |F|M|F|1268080374403|          |cwilper|Update org.fcrepo.server.search.FieldSearchSQLModule|
    |F|M|F|1268080381223|          |cwilper|Update org.fcrepo.server.security.DefaultAuthorization|
    |F|M|F|1268080399963|          |cwilper|Update org.fcrepo.server.security.DefaultBackendSecurity|
    |F|M|F|1268080425721|          |cwilper|Update org.fcrepo.server.storage.ConnectionPoolManagerImpl|
    |F|M|F|1268080433280|          |cwilper|Update org.fcrepo.server.storage.DefaultDOManager|
    |F|M|F|1268080461067|          |cwilper|Update org.fcrepo.server.storage.DefaultExternalContentManager|
    |F|M|F|1268082094738|          |cwilper|Update org.fcrepo.server.storage.lowlevel.akubra.AkubraLowlevelStorageModule|
    |TF|M|F|1268082154104|1346508992367          |nigel thomas|Update org.fcrepo.server.storage.lowlevel.DefaultLowlevelStorageModule|
    |F|M|F|1268082165864|          |cwilper|Update org.fcrepo.server.storage.translation.DOTranslationModule|
    |F|M|F|1268082180490|          |cwilper|Update org.fcrepo.server.validation.DOValidatorModule|
    

...