httpd: Comply with new configuration policy; convert HttpServiceCell to UniversalSpringCell

Besides the properties conversion, this patch also converts the HttpServiceCell to use UniversalSpringCell.  This was done in order to avoid unnecessary rewriting of properties in the batch file which would then simply be discarded with the final changes.

Note that in order to provide to one of the httpd aliases the domain context, a new interface was added (DomainContextAware) and this interface is checked during the bean post-processing, similarly to EnvironmentAware.

Target: master
Patch: http://rb.dcache.org/r/5760/
Require-book: yes
Require-notes: yes
Acked-by: Gerd

Testing done:

Domain was booted and logs were checked; web-page functionality was verified.

RELEASE NOTES:
BOOK:

poolqplots.properties has been consolidated with httpd.properties and the separate file eliminated

NEW:

httpd.cell.name

httpd.enable.spacemanager=${dcache.enable.spacemanager}
httpd.enable.authn=${authenticated}
httpd.net.port=${httpdPort}
httpd.net.https-port=${httpsPort}
httpd.authz.admin-gid=${webadminAdminGid}
httpd.authn.keystore=${keyStore}
httpd.authn.keystore.password=${keyStorePassword}
httpd.authn.truststore=${trustStore}
httpd.authn.truststore.password=${trustStorePassword}

httpd.limits.idle-time=${httpdMaxIdleTimeInMs}
(one-of?MILLISECONDS|SECONDS|MINUTES|HOURS|DAYS)httpd.limits.idle-time.unit=MILLISECONDS
httpd.limits.threads=${httpdMaxThreads}

httpd.service.jetty.default-webapp=${httpdDefaultWebapp}
httpd.service.jetty.webapps.dir=${webadminWebappsPath}
httpd.service.jetty.webapps.tmp-dir=${webadminWarunpackdir}
httpd.service.html.dcache-instance-name=${webadminDCacheInstanceName}

httpd.service.billing=${dcache.service.billing}
httpd.service.loginbroker=${dcache.service.loginbroker}
httpd.service.gplazma=${dcache.service.gplazma}
httpd.service.pnfsmanager=${dcache.service.pnfsmanager}
httpd.service.poolmanager=${dcache.service.poolmanager}

httpd.service.pool.timeout=4000
(one-of?MILLISECONDS|SECONDS|MINUTES)httpd.service.pool.timeout.unit=MILLISECONDS
httpd.service.billing.timeout=60000
(one-of?MILLISECONDS|SECONDS|MINUTES)httpd.service.billing.timeout.unit=MILLISECONDS
httpd.service.poolmonitor-collector.timeout=4000
(one-of?MILLISECONDS|SECONDS|MINUTES)httpd.service.poolmonitor-collector.timeout.unit=MILLISECONDS
httpd.service.poolmonitor-collector.period=4000
(one-of?MILLISECONDS|SECONDS|MINUTES)httpd.service.poolmonitor-collector.period.unit=MILLISECONDS
httpd.service.activetransfers-collector.timeout=5000
(one-of?MILLISECONDS|SECONDS|MINUTES)httpd.service.activetransfers-collector.timeout.unit=MILLISECONDS
httpd.service.activetransfers-collector.period=60000
(one-of?MILLISECONDS|SECONDS|MINUTES)httpd.service.activetransfers-collector.period.unit=MILLISECONDS
httpd.service.cellstatus-collector.timeout=5000
(one-of?MILLISECONDS|SECONDS|MINUTES)httpd.service.cellstatus-collector.timeout.unit=MILLISECONDS
httpd.service.cellstatus-collector.period=10000
(one-of?MILLISECONDS|SECONDS|MINUTES)httpd.service.cellstatus-collector.period.unit=MILLISECONDS
httpd.service.spacetoken-collector.timeout=5000
(one-of?MILLISECONDS|SECONDS|MINUTES)httpd.service.spacetoken-collector.timeout.unit=MILLISECONDS
httpd.service.spacetoken-collector.period=10000
(one-of?MILLISECONDS|SECONDS|MINUTES)httpd.service.spacetoken-collector.period.unit=MILLISECONDS
httpd.service.restorehandler-collector.timeout=5000
(one-of?MILLISECONDS|SECONDS|MINUTES)httpd.service.restorehandler-collector.timeout.unit=MILLISECONDS
httpd.service.restorehandler-collector.period=10000
(one-of?MILLISECONDS|SECONDS|MINUTES)httpd.service.restorehandler-collector.period.unit=MILLISECONDS
httpd.enable.alarm-cleaner=${webadmin.alarm.cleaner.enabled}
httpd.service.alarm-cleaner.timeout=${webadmin.alarm.cleaner.timeout}
(one-of?MILLISECONDS|SECONDS|MINUTES|HOURS|DAYS)httpd.alarm-cleaner.timeout.unit=DAYS
httpd.service.alarm-cleaner.delete-entries-before=${webadmin.alarm.cleaner.delete-threshold}
(one-of?MILLISECONDS|SECONDS|MINUTES|HOURS|DAYS)httpd.service.alarm-cleaner.delete-entries-before.unit=DAYS

httpd.service.alarms.db.config.path=${webadmin.alarm.dao.properties}
httpd.service.alarms.db.xml.path=${alarms.db.xml.path}
httpd.service.alarms.db.driver=${alarms.db.driver}
httpd.service.alarms.db.url=${alarms.db.url}
httpd.service.alarms.db.user=${alarms.db.user}
httpd.service.alarms.db.password=${alarms.db.password}
httpd.service.alarms.definitions.path=${alarms.definitions.path}
(one-of?true|false|${generatePlots})httpd.enable.billing-plots=${generatePlots}

httpd.service.billing.plot.type=${billingPlotsExportType}
httpd.service.billing.plot.refresh=${webadmin.billing-plot.refresh-threshold}
(one-of?MILLISECONDS|SECONDS|MINUTES|HOURS|DAYS)httpd.service.billing.plot.refresh.unit=MINUTES
httpd.service.billing.plot.height=${webadmin.billing-plot.height}
httpd.service.billing.plot.width=${webadmin.billing-plot.width}
(one-of?CONNECTED|OUTLINE|FILLED|${webadmin.billing-plot.default-style})httpd.service.billing.plot.style=${webadmin.billing-plot.default-style}
(one-of?lin|log|${webadmin.billing-plot.default-scale})httpd.service.billing.plot.scale=${webadmin.billing-plot.default-scale}

(one-of?true|false|${poolqplots.enabled})httpd.enable.pool-queue-plots=${poolqplots.enabled}
httpd.service.pool-queue.plot.refresh=${poolqplots.refresh-interval}
(one-of?MILLISECONDS|SECONDS|MINUTES|HOURS|DAYS|${poolqplots.refresh-interval-unit})httpd.service.pool-queue.plot.refresh.unit=${poolqplots.refresh-interval-unit}
httpd.service.pool-queue.db.version=${poolqplots.rrdb.db.version}
httpd.service.pool-queue.db.heartbeat-factor=${poolqplots.rrdb.plot.heartbeat-factor}
httpd.service.pool-queue.plot.type=${poolqplots.rrdb.image-type}
httpd.service.pool-queue.plot.width=${poolqplots.rrdb.plot.width}
httpd.service.pool-queue.plot.x-span=${poolqplots.rrdb.plot.span-size}
(one-of?MINUTES|HOURS|DAYS|${poolqplots.rrdb.plot.span-unit})httpd.service.pool-queue.plot.x-span.unit=${poolqplots.rrdb.plot.span-unit}
httpd.service.pool-queue.plot.min-time-step=${poolqplots.rrdb.plot.step-size}
(one-of?MINUTES|HOURS|DAYS|${poolqplots.rrdb.plot.step-unit})httpd.service.pool-queue.plot.min-time-step.unit=${poolqplots.rrdb.plot.step-unit}
(one-of?MINUTES|HOURS|DAYS|${poolqplots.rrdb.plot.major-unit})httpd.service.pool-queue.plot.major.unit=${poolqplots.rrdb.plot.major-unit}
httpd.service.pool-queue.plot.grid.spacing.major=${poolqplots.rrdb.plot.major-unit-count}
(one-of?MINUTES|HOURS|DAYS|${poolqplots.rrdb.plot.minor-unit})httpd.service.pool-queue.plot.minor.unit=${poolqplots.rrdb.plot.minor-unit}
httpd.service.pool-queue.plot.grid.spacing.minor=${poolqplots.rrdb.plot.minor-unit-count}
httpd.service.pool-queue.plot.right-margin=${poolqplots.rrdb.plot.right-margin}
httpd.service.pool-queue.plot.label-span=${poolqplots.rrdb.plot.label-span}
(one-of?MINUTES|HOURS|DAYS|${poolqplots.rrdb.plot.label-unit})httpd.service.pool-queue.plot.label.unit=${poolqplots.rrdb.plot.label-unit}
httpd.service.pool-queue.plot.x-label.spacing=${poolqplots.rrdb.plot.label-unit-count}
httpd.service.pool-queue.plot.x-label.format=${poolqplots.rrdb.plot.x-label-format}
httpd.service.pool-queue.plot.y-label=${poolqplots.rrdb.plot.y-label}

DEPRECATED:

httpdPort=2288
authenticated=false
httpsPort=8444
webadminAdminGid=0
httpdMaxIdleTimeInMs=30000
httpdMaxThreads=100
httpdDefaultWebapp=/org/dcache/admin/webadmin/jettycell/resources/webdefault.xml
webadminWebappsPath=${dcache.paths.classes}/webapps
webadminWarunpackdir=${dcache.paths.unpack}
webadminDCacheInstanceName=${host.name}
webadmin.alarm.cleaner.enabled=false
webadmin.alarm.cleaner.timeout=7
webadmin.alarm.cleaner.delete-threshold=14
webadmin.alarm.dao.properties=${alarms.db.config.path}
generatePlots=false
billingPlotsExportType=png
webadmin.billing-plot.refresh-threshold=5
webadmin.billing-plot.height=800
webadmin.billing-plot.width=1200
webadmin.billing-plot.default-style=CONNECTED
webadmin.billing-plot.default-scale=log
poolqplots.enabled=false
poolqplots.refresh-interval=5
poolqplots.refresh-interval-unit=MINUTES
poolqplots.rrdb.db.version=2
poolqplots.rrdb.plot.heartbeat-factor=1.5
poolqplots.rrdb.image-type=png
poolqplots.rrdb.plot.height=800
poolqplots.rrdb.plot.width=1200
poolqplots.rrdb.plot.span-size=15
poolqplots.rrdb.plot.span-unit=DAYS
poolqplots.rrdb.plot.step-size=5
poolqplots.rrdb.plot.step-unit=MINUTES
poolqplots.rrdb.plot.major-unit=DAYS
poolqplots.rrdb.plot.major-unit-count=1
poolqplots.rrdb.plot.minor-unit=DAYS
poolqplots.rrdb.plot.minor-unit-count=1
poolqplots.rrdb.plot.right-margin=3
poolqplots.rrdb.plot.label-span=24
poolqplots.rrdb.plot.label-unit=DAYS
poolqplots.rrdb.plot.label-unit-count=2
poolqplots.rrdb.plot.x-label-format=E MMM dd YYYY HH:mm
poolqplots.rrdb.plot.y-label=Threads

OBSOLETE/FORBIDDEN:

(obsolete)httpdEnablePoolCollector=PoolCollector is now always enabled
(obsolete)httpd.static-content.plots.subdir=No longer used
(obsolete)collectorTimeout=use specific service timeout
(obsolete)transfersCollectorUpdate=no longer used

(forbidden)images=use httpd.static-content.images instead
(forbidden)styles=use httpd.static-content.styles instead
(forbidden)webadminAuthenticated = use httpd.enable.authn instead
(forbidden)httpd/port = use httpd.net.port instead
(forbidden)webadminHttpPort = use httpd.net.port instead
(forbidden)webadminHttpsPort = use httpd.net.https-port instead