Search in sources :

Example 11 with Rule

use of org.geotoolkit.sld.xml.v100.Rule in project opencms-core by alkacon.

the class CmsWorkplaceConfiguration method addXmlDigesterRules.

/**
 * @see org.opencms.configuration.I_CmsXmlConfiguration#addXmlDigesterRules(org.apache.commons.digester3.Digester)
 */
public void addXmlDigesterRules(Digester digester) {
    // add finish rule
    digester.addCallMethod("*/" + N_WORKPLACE, "initializeFinished");
    // generic <param> parameter rules
    digester.addCallMethod("*/" + I_CmsXmlConfiguration.N_PARAM, I_CmsConfigurationParameterHandler.ADD_PARAMETER_METHOD, 2);
    digester.addCallParam("*/" + I_CmsXmlConfiguration.N_PARAM, 0, I_CmsXmlConfiguration.A_NAME);
    digester.addCallParam("*/" + I_CmsXmlConfiguration.N_PARAM, 1);
    // creation of the import/export manager
    digester.addObjectCreate("*/" + N_WORKPLACE, CmsWorkplaceManager.class);
    // import/export manager finished
    digester.addSetNext("*/" + N_WORKPLACE, "setWorkplaceManager");
    String path = "*/" + N_WORKPLACE + "/" + N_KEEP_ALIVE;
    digester.addCallMethod(path, "setKeepAlive", 0);
    // add exclude patterns
    digester.addCallMethod("*/" + N_WORKPLACE + "/" + N_SYNCHRONIZATION + "/" + N_EXCLUDEPATTERN, "addSynchronizeExcludePattern", 0);
    digester.addCallMethod("*/" + N_WORKPLACE + "/" + N_GALLERY_DEFAULT_SCOPE, "setGalleryDefaultScope", 0);
    digester.addCallMethod("*/" + N_WORKPLACE + "/" + N_ELEMENT_DELETE_MODE, "setElementDeleteMode", 0);
    digester.addCallMethod("*/" + N_WORKPLACE + "/" + N_USER_LISTS, "setUserListMode", 1);
    digester.addCallParam("*/" + N_WORKPLACE + "/" + N_USER_LISTS, 0, A_MODE);
    // add default locale rule
    digester.addCallMethod("*/" + N_WORKPLACE + "/" + N_DEFAULTLOCALE, "setDefaultLocale", 0);
    // add default properties on structure setting
    digester.addCallMethod("*/" + N_WORKPLACE + "/" + N_DEFAULTPROPERTIESONSTRUCTURE, "setDefaultPropertiesOnStructure", 0);
    // add default properties on structure setting
    digester.addCallMethod("*/" + N_WORKPLACE + "/" + N_ENABLEADVANCEDPROPERTYTABS, "setEnableAdvancedPropertyTabs", 0);
    // add category folder rule
    digester.addCallMethod("*/" + N_WORKPLACE + "/" + N_CATEGORYFOLDER, "setCategoryFolder", 0);
    // add category display options
    digester.addCallMethod("*/" + N_WORKPLACE + "/" + N_CATEGORYDISPLAYOPTIONS, "setCategoryDisplayOptions", 2);
    digester.addCallParam("*/" + N_WORKPLACE + "/" + N_CATEGORYDISPLAYOPTIONS, 0, A_DISPLAY_BY_REPOSITORY);
    digester.addCallParam("*/" + N_WORKPLACE + "/" + N_CATEGORYDISPLAYOPTIONS, 1, A_DISPLAY_COLLAPSED);
    digester.addCallMethod("*/" + N_WORKPLACE + "/" + N_GROUP_TRANSLATION, "setGroupTranslationClass", 1);
    digester.addCallParam("*/" + N_WORKPLACE + "/" + N_GROUP_TRANSLATION, 0, A_CLASS);
    // add rules for dialog handlers
    digester.addObjectCreate("*/" + N_WORKPLACE + "/" + N_DIALOGHANDLERS + "/" + N_DIALOGHANDLER, CmsConfigurationException.class.getName(), A_CLASS);
    digester.addSetNext("*/" + N_WORKPLACE + "/" + N_DIALOGHANDLERS + "/" + N_DIALOGHANDLER, "addDialogHandler");
    digester.addCallMethod("*/" + N_WORKPLACE + "/" + N_DIALOGHANDLERS + "/" + N_DIALOGHANDLER, I_CmsConfigurationParameterHandler.INIT_CONFIGURATION_METHOD);
    // add rules for editor handler
    digester.addObjectCreate("*/" + N_WORKPLACE + "/" + N_EDITORHANDLER, CmsConfigurationException.class.getName(), A_CLASS);
    digester.addSetNext("*/" + N_WORKPLACE + "/" + N_EDITORHANDLER, "setEditorHandler");
    // add rules for editor handler
    digester.addObjectCreate("*/" + N_WORKPLACE + "/" + N_POSTUPLOADHANDLER, A_CLASS, CmsConfigurationException.class);
    digester.addSetNext("*/" + N_WORKPLACE + "/" + N_POSTUPLOADHANDLER, "setPostUploadHandler");
    // add rules for editor action handler
    digester.addObjectCreate("*/" + N_WORKPLACE + "/" + N_EDITORACTION, CmsConfigurationException.class.getName(), A_CLASS);
    digester.addSetNext("*/" + N_WORKPLACE + "/" + N_EDITORACTION, "setEditorAction");
    // add rules for editor css handler classes
    digester.addCallMethod("*/" + N_WORKPLACE + "/" + N_EDITORCSSHANDLERS + "/" + N_EDITORCSSHANDLER, "addEditorCssHandler", 1);
    digester.addCallParam("*/" + N_WORKPLACE + "/" + N_EDITORCSSHANDLERS + "/" + N_EDITORCSSHANDLER, 0, A_CLASS);
    // add rules for pre editor action classes
    digester.addObjectCreate("*/" + N_WORKPLACE + "/" + N_EDITORPRECONDITIONS + "/" + N_EDITORPRECONDITION, CmsConfigurationException.class.getName(), A_CLASS);
    digester.addSetNext("*/" + N_WORKPLACE + "/" + N_EDITORPRECONDITIONS + "/" + N_EDITORPRECONDITION, "addPreEditorConditionDefinition");
    digester.addCallMethod("*/" + N_WORKPLACE + "/" + N_EDITORPRECONDITIONS + "/" + N_EDITORPRECONDITION, "setResourceTypeName", 1);
    digester.addCallParam("*/" + N_WORKPLACE + "/" + N_EDITORPRECONDITIONS + "/" + N_EDITORPRECONDITION, 0, A_NAME);
    digester.addCallMethod("*/" + N_WORKPLACE + "/" + N_EDITORPRECONDITIONS + "/" + N_EDITORPRECONDITION, I_CmsConfigurationParameterHandler.INIT_CONFIGURATION_METHOD);
    // add rules for direct edit provider
    digester.addObjectCreate("*/" + N_WORKPLACE + "/" + N_DIRECTEDITPROVIDER, CmsConfigurationException.class.getName(), A_CLASS);
    digester.addCallMethod("*/" + N_WORKPLACE + "/" + N_DIRECTEDITPROVIDER, I_CmsConfigurationParameterHandler.INIT_CONFIGURATION_METHOD);
    digester.addSetNext("*/" + N_WORKPLACE + "/" + N_DIRECTEDITPROVIDER, "setDirectEditProvider");
    // add rules for the workplace export points
    digester.addCallMethod("*/" + N_WORKPLACE + "/" + N_EXPORTPOINTS + "/" + N_EXPORTPOINT, "addExportPoint", 2);
    digester.addCallParam("*/" + N_WORKPLACE + "/" + N_EXPORTPOINTS + "/" + N_EXPORTPOINT, 0, A_URI);
    digester.addCallParam("*/" + N_WORKPLACE + "/" + N_EXPORTPOINTS + "/" + N_EXPORTPOINT, 1, A_DESTINATION);
    // add autolock rule
    digester.addCallMethod("*/" + N_WORKPLACE + "/" + N_AUTOLOCK, "setAutoLock", 0);
    // acacia-unlock
    digester.addCallMethod("*/" + N_WORKPLACE + "/" + N_ACACIA_UNLOCK, "setAcaciaUnlock", 0);
    // add XML content auto correction rule
    digester.addCallMethod("*/" + N_WORKPLACE + "/" + N_XMLCONTENTAUTOCORRECTION, "setXmlContentAutoCorrect", 0);
    // add user management enabled rule
    digester.addCallMethod("*/" + N_WORKPLACE + "/" + N_ENABLEUSERMGMT, "setUserManagementEnabled", 0);
    // add max file upload size rule
    digester.addCallMethod("*/" + N_WORKPLACE + "/" + N_MAXUPLOADSIZE, "setFileMaxUploadSize", 0);
    // add labeled folders rule
    digester.addCallMethod("*/" + N_WORKPLACE + "/" + N_LABELEDFOLDERS + "/" + N_RESOURCE, "addLabeledFolder", 1);
    digester.addCallParam("*/" + N_WORKPLACE + "/" + N_LABELEDFOLDERS + "/" + N_RESOURCE, 0, A_URI);
    // set the gallery upload folder handler
    digester.addObjectCreate("*/" + N_WORKPLACE + "/" + N_REPOSITORY_FOLDER, CmsConfigurationException.class.getName(), A_CLASS);
    digester.addSetNext("*/" + N_WORKPLACE + "/" + N_REPOSITORY_FOLDER, "setRepositoryFolderHandler");
    // add localized folders rule
    digester.addCallMethod("*/" + N_WORKPLACE + "/" + N_LOCALIZEDFOLDERS + "/" + N_RESOURCE, "addLocalizedFolder", 1);
    digester.addCallParam("*/" + N_WORKPLACE + "/" + N_LOCALIZEDFOLDERS + "/" + N_RESOURCE, 0, A_URI);
    // add fileViewSettings rules
    String xPathPrefix = "*/" + N_RFSFILEVIEWESETTINGS;
    digester.addObjectCreate(xPathPrefix, CmsRfsFileViewer.class);
    digester.addBeanPropertySetter(xPathPrefix + "/" + N_ROOTPATH);
    digester.addBeanPropertySetter(xPathPrefix + "/" + N_FILEPATH);
    digester.addBeanPropertySetter(xPathPrefix + "/" + N_ENABLED);
    digester.addBeanPropertySetter(xPathPrefix + "/" + N_FILEENCODING);
    digester.addBeanPropertySetter(xPathPrefix + "/" + N_ISLOGFILE);
    digester.addBeanPropertySetter(xPathPrefix + "/" + N_WINDOWSIZE);
    // Cms specific rule similar to SetNextRule with implicit first CmsObject argument (remains null).
    digester.addRule(xPathPrefix, new CmsSetNextRule("setFileViewSettings", CmsRfsFileViewer.class));
    // add explorer type rules
    addExplorerTypeXmlRules(digester);
    addDefaultAccessControlRules(digester);
    addUserInfoRules(digester);
    addAccountInfoRules(digester);
    addDefaultPreferencesRules(digester);
    addToolManagerRules(digester);
    CmsAdditionalLogFolderConfig.ADD_LOG_FOLDER_HELPER.addRules(digester);
    digester.addSetNext(CmsAdditionalLogFolderConfig.ADD_LOG_FOLDER_HELPER.getBasePath(), "setAdditionalLogFolderConfiguration");
    digester.addRule("*/" + N_WORKPLACE + "/" + N_USE_FORMATTER_KEYS_FOR_NEW_SITES, new Rule() {

        @Override
        public void body(String namespace, String name, String text) throws Exception {
            CmsResourceTypeSubsitemapContentFolder.setEnableNewPageFormatByDefault(Boolean.parseBoolean(text));
        }
    });
}
Also used : CmsIconRule(org.opencms.workplace.explorer.CmsIconRule) CallMethodRule(org.apache.commons.digester3.CallMethodRule) Rule(org.apache.commons.digester3.Rule) CmsRfsFileViewer(org.opencms.util.CmsRfsFileViewer)

Aggregations

Rule (org.apache.commons.digester3.Rule)9 Attributes (org.xml.sax.Attributes)5 IOException (java.io.IOException)3 ArrayList (java.util.ArrayList)3 CallMethodRule (org.apache.commons.digester3.CallMethodRule)3 CmsException (org.opencms.main.CmsException)3 SAXException (org.xml.sax.SAXException)3 ByteArrayInputStream (java.io.ByteArrayInputStream)2 FileInputStream (java.io.FileInputStream)2 InputStream (java.io.InputStream)2 ParseException (java.text.ParseException)2 List (java.util.List)2 Digester (org.apache.commons.digester3.Digester)2 CmsConfigurationException (org.opencms.configuration.CmsConfigurationException)2 CmsMessageContainer (org.opencms.i18n.CmsMessageContainer)2 CmsImportExportException (org.opencms.importexport.CmsImportExportException)2 CmsRoleViolationException (org.opencms.security.CmsRoleViolationException)2 CmsSecurityException (org.opencms.security.CmsSecurityException)2 File (java.io.File)1 HashMap (java.util.HashMap)1