public OptionDefinitionsMap getOptionDefinitions() {
OptionDefinitionsMap options = new OptionDefinitionsMap();
LocalizedOptionDefinition defMediaKey = new LocalizedOptionDefinition(WGACore.DBATTRIB_DEFAULT_MEDIAKEY, new MediaKeyOptionType(_registry), _bundleLoader);
defMediaKey.setOptional(true);
defMediaKey.setDefaultValue(WGDatabase.DEFAULT_MEDIAKEY);
options.addOption(defMediaKey);
LocalizedOptionDefinition allowPublishing = new LocalizedOptionDefinition(WGACore.DBATTRIB_ALLOW_PUBLISHING, BooleanOptionType.INSTANCE, _bundleLoader);
allowPublishing.setOptional(true);
allowPublishing.setExpert(true);
allowPublishing.setDefaultValue(Boolean.TRUE.toString());
options.addOption(allowPublishing);
LocalizedOptionDefinition allowBrowsing = new LocalizedOptionDefinition(WGACore.DBATTRIB_ALLOW_BROWSING, BooleanOptionType.INSTANCE, _bundleLoader);
allowBrowsing.setOptional(true);
allowBrowsing.setExpert(true);
allowBrowsing.setDefaultValue(Boolean.TRUE.toString());
options.addOption(allowBrowsing);
PredefinedValuesOptionType browsingSecurityOptionType = new PredefinedValuesOptionType(_bundleLoader, WGACore.DBATTRIB_BROWSING_SECURITY);
browsingSecurityOptionType.addValue(String.valueOf(BrowsingSecurity.FULL_ACCESS));
browsingSecurityOptionType.addValue(String.valueOf(BrowsingSecurity.NO_AUTHORING));
browsingSecurityOptionType.addValue(String.valueOf(BrowsingSecurity.NO_BROWSING));
LocalizedOptionDefinition browsingSecurity = new LocalizedOptionDefinition(WGACore.DBATTRIB_BROWSING_SECURITY, browsingSecurityOptionType, _bundleLoader);
browsingSecurity.setOptional(true);
browsingSecurity.setDefaultValue(String.valueOf(BrowsingSecurity.FULL_ACCESS));
options.addOption(browsingSecurity);
LocalizedOptionDefinition designEncoding = new LocalizedOptionDefinition(WGACore.DBATTRIB_DESIGN_ENCODING, TextEncodingOptionType.INSTANCE, _bundleLoader);
designEncoding.setOptional(true);
designEncoding.setExpert(true);
designEncoding.setDefaultValue(Charset.defaultCharset().name());
options.addOption(designEncoding);
LocalizedOptionDefinition directAccessDefault = new LocalizedOptionDefinition(WGACore.DBATTRIB_DIRECTACCESSDEFAULT, BooleanOptionType.INSTANCE, _bundleLoader);
directAccessDefault.setOptional(true);
directAccessDefault.setExpert(true);
directAccessDefault.setDefaultValue(Boolean.FALSE.toString());
options.addOption(directAccessDefault);
LocalizedOptionDefinition expressionDefault = new LocalizedOptionDefinition(WGACore.DBATTRIB_EXPRESSION_DEFAULT, ExpressionLanguageOptionType.INSTANCE, _bundleLoader);
expressionDefault.setOptional(true);
expressionDefault.setExpert(true);
expressionDefault.setDefaultValue(ExpressionEngineFactory.ENGINE_TMLSCRIPT);
options.addOption(expressionDefault);
LocalizedOptionDefinition homePage = new LocalizedOptionDefinition(WGACore.DBATTRIB_HOME_PAGE, StringOptionType.INSTANCE, _bundleLoader);
homePage.setOptional(true);
options.addOption(homePage);
LocalizedOptionDefinition httpLogin = new LocalizedOptionDefinition(WGACore.DBATTRIB_HTTPLOGIN, BooleanOptionType.INSTANCE, _bundleLoader);
httpLogin.setOptional(true);
options.addOption(httpLogin);
LocalizedOptionDefinition isRemoteCS = new LocalizedOptionDefinition(WGACore.DBATTRIB_ISREMOTECS, BooleanOptionType.INSTANCE, _bundleLoader);
isRemoteCS.setOptional(true);
isRemoteCS.setDefaultValue(Boolean.FALSE.toString());
options.addOption(isRemoteCS);
LocalizedOptionDefinition langBehaviour = new LocalizedOptionDefinition(WGACore.DBATTRIB_LANGUAGEBEHAVIOUR, new LanguageBehavioursOptionType(_registry), _bundleLoader);
langBehaviour.setOptional(true);
options.addOption(langBehaviour);
LocalizedOptionDefinition loginPage = new LocalizedOptionDefinition(WGACore.DBATTRIB_LOGIN_PAGE, StringOptionType.INSTANCE, _bundleLoader);
loginPage.setOptional(true);
options.addOption(loginPage);
LocalizedOptionDefinition multiLangContent = new LocalizedOptionDefinition(WGACore.DBATTRIB_MULTILANGUAGE_CONTENT, BooleanOptionType.INSTANCE, _bundleLoader);
multiLangContent.setOptional(true);
multiLangContent.setDefaultValue(Boolean.TRUE.toString());
options.addOption(multiLangContent);
LocalizedOptionDefinition persMode = new LocalizedOptionDefinition(WGACore.DBATTRIB_PERSMODE, PersonalisationModesOptionType.INSTANCE, _bundleLoader);
persMode.setDefaultValue(String.valueOf(Constants.PERSMODE_AUTO));
options.addOption(persMode);
LocalizedOptionDefinition persStatMode = new LocalizedOptionDefinition(WGACore.DBATTRIB_PERSSTATMODE, PersonalisationStatisticModesOptionType.INSTANCE, _bundleLoader);
persStatMode.setOptional(true);
persStatMode.setDefaultValue(String.valueOf(Constants.PERSSTATMODE_OFF));
persStatMode.addDependentOption(WGACore.DBATTRIB_PERSMODE);
options.addOption(persStatMode);
LocalizedOptionDefinition sessionCookie = new LocalizedOptionDefinition(WGACore.DBATTRIB_SESSIONCOOKIE, StringOptionType.INSTANCE, _bundleLoader);
sessionCookie.setOptional(true);
sessionCookie.setExpert(true);
sessionCookie.setDefaultValue("LtpaToken");
options.addOption(sessionCookie);
LocalizedOptionDefinition sessionCookieDomain = new LocalizedOptionDefinition(WGACore.DBATTRIB_SESSIONCOOKIEDOMAIN, StringOptionType.INSTANCE, _bundleLoader);
sessionCookieDomain.setOptional(true);
sessionCookieDomain.setExpert(true);
sessionCookieDomain.addDependentOption(WGACore.DBATTRIB_SESSIONCOOKIE);
options.addOption(sessionCookieDomain);
LocalizedOptionDefinition useRemoteCS = new LocalizedOptionDefinition(WGACore.DBATTRIB_USEREMOTECS, BooleanOptionType.INSTANCE, _bundleLoader);
useRemoteCS.setOptional(true);
useRemoteCS.setDefaultValue(Boolean.FALSE.toString());
options.addOption(useRemoteCS);
LocalizedOptionDefinition redirectHost = new LocalizedOptionDefinition(WGACore.DBATTRIB_REDIRECTHOST, StringOptionType.INSTANCE, _bundleLoader);
redirectHost.setOptional(true);
options.addOption(redirectHost);
LocalizedOptionDefinition redirectPort = new LocalizedOptionDefinition(WGACore.DBATTRIB_REDIRECTPORT, IntegerOptionType.INSTANCE, _bundleLoader);
redirectPort.setOptional(true);
options.addOption(redirectPort);
LocalizedOptionDefinition redirectProtocol = new LocalizedOptionDefinition(WGACore.DBATTRIB_REDIRECTPROTOCOL, StringOptionType.INSTANCE, _bundleLoader);
redirectProtocol.setOptional(true);
options.addOption(redirectProtocol);
LocalizedOptionDefinition hdbUseVersioning = new LocalizedOptionDefinition(WGACore.DBATTRIB_HDB_USE_VERSIONING, BooleanOptionType.INSTANCE, _bundleLoader);
hdbUseVersioning.setOptional(true);
hdbUseVersioning.setExpert(true);
hdbUseVersioning.setDefaultValue(Boolean.FALSE.toString());
//hdbUseVersioning.addDependentOption(WGACore.DBATTRIB_ISHDB, Boolean.TRUE.toString());
options.addOption(hdbUseVersioning);
LocalizedOptionDefinition varProvisioning = new LocalizedOptionDefinition(WGACore.DBATTRIB_VARPROVISIONING, BooleanOptionType.INSTANCE, _bundleLoader);
varProvisioning.setOptional(true);
varProvisioning.setExpert(true);
varProvisioning.setDefaultValue(Boolean.TRUE.toString());
options.addOption(varProvisioning);
LocalizedOptionDefinition titlePathURL = new LocalizedOptionDefinition(WGACore.DBATTRIB_TITLEPATHURL, BooleanOptionType.INSTANCE, _bundleLoader);
titlePathURL.setDefaultValue(Boolean.FALSE.toString());
options.addOption(titlePathURL);
LocalizedOptionDefinition tpuContentIndexing = new LocalizedOptionDefinition(WGACore.DBATTRIB_TITLEPATHURL_CONTENTINDEXING, BooleanOptionType.INSTANCE, _bundleLoader);
tpuContentIndexing.setOptional(true);
tpuContentIndexing.setExpert(true);
tpuContentIndexing.setDefaultValue(Boolean.FALSE.toString());
tpuContentIndexing.addDependentOption(WGACore.DBATTRIB_TITLEPATHURL, Boolean.TRUE.toString());
options.addOption(tpuContentIndexing);
LocalizedOptionDefinition tpuShortcutArea = new LocalizedOptionDefinition(WGACore.DBATTRIB_TITLEPATHURL_SHORTCUTAREA, StringOptionType.INSTANCE, _bundleLoader);
tpuShortcutArea.setOptional(true);
tpuShortcutArea.addDependentOption(WGACore.DBATTRIB_TITLEPATHURL, Boolean.TRUE.toString());
options.addOption(tpuShortcutArea);
LocalizedOptionDefinition tpuMixedLangs = new LocalizedOptionDefinition(WGACore.DBATTRIB_TITLEPATHURL_MIXEDLANGUAGES, BooleanOptionType.INSTANCE, _bundleLoader);
tpuMixedLangs.setOptional(true);
tpuMixedLangs.setDefaultValue(Boolean.FALSE.toString());
options.addOption(tpuMixedLangs);
LocalizedOptionDefinition tmlCacheServeStale = new LocalizedOptionDefinition(WGACore.DBATTRIB_WEBTMLCACHE_SERVESTALEDATA, BooleanOptionType.INSTANCE, _bundleLoader);
tmlCacheServeStale.setOptional(true);
tmlCacheServeStale.setExpert(true);
tmlCacheServeStale.setDefaultValue(Boolean.TRUE.toString());
options.addOption(tmlCacheServeStale);
LocalizedOptionDefinition webdavAllCharacters = new LocalizedOptionDefinition(WGACore.DBATTRIB_SHARE_ALLOWALLCHARS, BooleanOptionType.INSTANCE, _bundleLoader);
webdavAllCharacters.setOptional(true);
webdavAllCharacters.setExpert(true);
webdavAllCharacters.setDefaultValue(Boolean.TRUE.toString());
options.addOption(webdavAllCharacters);
LocalizedOptionDefinition nameURLs = new LocalizedOptionDefinition(WGACore.DBATTRIB_CREATE_NAME_URLS, BooleanOptionType.INSTANCE, _bundleLoader);
nameURLs.setOptional(true);
nameURLs.setDefaultValue(Boolean.TRUE.toString());
options.addOption(nameURLs);
LocalizedOptionDefinition enableAccessLogging = new LocalizedOptionDefinition(WGACore.DBATTRIB_ENABLE_ACCESSLOGGING, BooleanOptionType.INSTANCE, _bundleLoader);
enableAccessLogging.setOptional(true);
enableAccessLogging.setDefaultValue(Boolean.TRUE.toString());
options.addOption(enableAccessLogging);
LocalizedOptionDefinition secureApp = new LocalizedOptionDefinition(WGACore.DBATTRIB_SECURE_APP, BooleanOptionType.INSTANCE, _bundleLoader);
secureApp.setOptional(true);
secureApp.setDefaultValue(Boolean.FALSE.toString());
options.addOption(secureApp);
LocalizedOptionDefinition defaultPortHTTPS = new LocalizedOptionDefinition(WGACore.DBATTRIB_DEFAULTPORT_HTTPS, IntegerOptionType.INSTANCE, _bundleLoader);
defaultPortHTTPS.setOptional(true);
defaultPortHTTPS.setDefaultValue("443");
options.addOption(defaultPortHTTPS);
LocalizedOptionDefinition defaultPortHTTP = new LocalizedOptionDefinition(WGACore.DBATTRIB_DEFAULTPORT_HTTP, IntegerOptionType.INSTANCE, _bundleLoader);
defaultPortHTTP.setOptional(true);
defaultPortHTTP.setDefaultValue("80");
options.addOption(defaultPortHTTP);
LocalizedOptionDefinition forceLabelLanguage = new LocalizedOptionDefinition(WGACore.DBATTRIB_FORCE_LABEL_LANGUAGE, StringOptionType.INSTANCE, _bundleLoader);
forceLabelLanguage.setOptional(true);
options.addOption(forceLabelLanguage);
LocalizedOptionDefinition fallbackLabelLanguage = new LocalizedOptionDefinition(WGACore.DBATTRIB_FALLBACK_LABEL_LANGUAGE, StringOptionType.INSTANCE, _bundleLoader);
fallbackLabelLanguage.setOptional(true);
options.addOption(fallbackLabelLanguage);
return options;