All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.adobe.aemds.guide.utils.GuideConstants Maven / Gradle / Ivy

/*************************************************************************
 *
 * ADOBE CONFIDENTIAL
 * __________________
 *
 *  Copyright 2014 Adobe Systems Incorporated
 *  All Rights Reserved.
 *
 * NOTICE:  All information contained herein is, and remains
 * the property of Adobe Systems Incorporated and its suppliers,
 * if any.  The intellectual and technical concepts contained
 * herein are proprietary to Adobe Systems Incorporated and its
 * suppliers and may be covered by U.S. and Foreign Patents,
 * patents in process, and are protected by trade secret or copyright law.
 * Dissemination of this information or reproduction of this material
 * is strictly forbidden unless prior written permission is obtained
 * from Adobe Systems Incorporated.
 **************************************************************************/

package com.adobe.aemds.guide.utils;

import java.util.Arrays;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.HashMap;

/**
 * Defines the constants used in AEM Forms.
 */
public class GuideConstants {
    public final static String GUIDE_PATH = "guidePath";
    public final static String GUIDE_NAME = "guideName";
    public final static String GUIDE_DESC = "guideDesc";
    public final static String GUIDE_TYPE = "guideType";
    public final static String GUIDE_PANEL = "guidePanel";
    public static final String ROOTPANEL_NODECLASS="rootPanelNode";
    public final static String GUIDE_TABLE = "guideTable";
    public final static String GUIDE_TABLE_ROW = "guideTableRow";
    public final static String GUIDE_NODE_CLASS = "guideNodeClass";
    public final static String LAYOUT_NON_NAVIGABLE_PROPERTY = "nonNavigable";
    public final static String LAYOUT_COLSPAN = "colspan";
    public final static String LAYOUT_DOR_LAYOUT_TYPE = "dorLayoutType";
    public final static String INLINE_CLASS_NAME = "inlineCssClass";
    public final static String THEME_PATH = "themePath";
    public final static String THEME_CLIENTLIB_PATH = "themeClientlibPath";
    public final static String LAYOUT_TAB_TYPE_PROPERTY = "guideNavigatorTab";
    public final static String LAYOUT_ENABLE_LAYOUT_OPTIMIZATION = "enableLayoutOptimization";
    public static final String LAYOUT_FIELD = "fd/af/layouts/field";
    public static final String LAYOUT_PANEL = "fd/af/layouts/panel";
    public static final String THEME_CLIENTLIB = "themeRef";
    public static final String THEME_AD_DEFAULT_CLIENTLIB = "guide.theme.ad";
    public static final String THEME_DEFAULT_CLIENTLIB = "guide.theme2.default";
    public static final String PAGE_FALLBACK_CLIENTLIB_CATEGORY = "pageFallbackClientlib";
    public static final String FRAC_DIGITS_DEFAULT_VALUE = "2";

    public final static String ROOTPANEL_NODENAME = "rootPanel";
    public final static String PANEL_NODENAME = "panel";
    public final static String JCR_CONTENT_NODENAME = "jcr:content";
    public final static String GUIDE_PREFIX_TO_KEYS = "fd_";
    public final static Integer TOTAL_LAYOUT_GRIDS = 12;
    public final static String LAYOUT_NODENAME = "layout";
    public static final String TOOLBAR = "toolbar";
    public final static String INIT_JSP_NODENAME = "init.jsp";
    public final static String NAVIGATOR_PROPERTY_FOR_WIZARD_LAYOUT = "wizard-tab";
    public final static String PRINT_NODE_RELATIVE_PATH = "view/print";
    public final static String BRANDING_NODE_RELATIVE_PATH = "view/print/branding";
    /**
     * CQ Property
     */
    public final static String CQ_LAST_MODIFIED = "cq:lastModified";
    public final static String CQ_TEMPLATE = "cq:Template";

    /**
     * JCR Property
     */
    public final static String JCR_LAST_MODIFIED = "jcr:lastModified";
    public final static String JCR_TITLE = "jcr:title";
    public final static String TITLE_NODENAME = "title";
    public final static String PROPERTY_NAME = "name";
    /**
     * Static name of all guide field related layout
     */
    public final static String GUIDE_WIDGET_LABEL = "guideWidgetLabel";
    public final static String GUIDE_FIELD_LABEL = "guideFieldLabel";
    public final static String GUIDE_FIELD_DESCRIPTION = "guideFieldDescription";
    public final static String GUIDE_PANEL_DESCRIPTION = "guidePanelDescription";
    public final static String GUIDE_PANEL_LONG_DESCRIPTION = "guidePanelLongDescription";
    public final static String GUIDE_PANEL_HELP_QUESTION_MARK = "guidePanelHelpQuestionMark";
    public final static String GUIDE_FIELD_WIDGET = "guideFieldWidget";
    public final static String GUIDE_FIELD_BUTTON_WIDGET = "guideFieldButtonWidget";
    public final static String GUIDE_FIELD_REQUIRED = "guideFieldRequired";
    public final static String GUIDE_FIELD = "guideField";
    public final static String GUIDE_FIELD_TEXTBOX = "guideTextBox";
    public final static String GUIDE_FIELD_EMAIL = "guideEmail";
    public final static String GUIDE_FIELD_TELEPHONE = "guideTelephone";
    public final static String GUIDE_FIELD_NUMERICBOX = "guideNumericBox";
    public final static String GUIDE_FIELD_PASSWORDBOX = "guidePasswordBox";
    public final static String GUIDE_FIELD_TEXTAREA = "guideTextArea";
    public final static String GUIDE_FIELD_RADIOBUTTON = "guideRadioButton";
    public final static String GUIDE_FIELD_RADIOBUTTONGROUP = "guideRadioButtonGroup";
    public final static String GUIDE_FIELD_RADIOBUTTONGROUP_ITEMS = "guideRadioButtonGroupItems";
    public final static String GUIDE_FIELD_CHECKBOXGROUP_ITEMS = "guideCheckBoxGroupItems";
    public final static String GUIDE_FIELD_CHECKBOX = "guideCheckBox";
    public final static String GUIDE_FIELD_CHECKBOX_ITEM = "guideCheckBoxItem";
    public final static String GUIDE_FIELD_RADIOBUTTON_ITEM = "guideRadioButtonItem";
    public final static String GUIDE_FIELD_CHECKBOXGROUP = "guideCheckBoxGroup";
    public final static String GUIDE_COMPOSITE_FIELD_ITEM = "guideCompositeFieldItem";
    public final static String GUIDE_FIELD_CHECK_INPUT_TYPE = "checkbox";
    public final static String GUIDE_FIELD_RADIO_INPUT_TYPE = "radio";
    public final static String GUIDE_FIELD_SWITCH = "guideSwitch";
    public final static String GUIDE_FIELD_DROPDOWNLIST = "guideDropDownList";
    public final static String GUIDE_FIELD_DATEPICKER = "guideDatePicker";
    public final static String GUIDE_FIELD_FILEUPLOAD = "guideFileUpload";
    public final static String GUIDE_FIELD_TERMSANDCONDITIONS = "guideTermsAndConditions";
    public final static String GUIDE_FIELD_TEXTDRAW = "guideTextDraw";
    public final static String GUIDE_FIELD_ADOBE_SIGN_BLOCK = "guideAdobeSignBlock";
    public final static String GUIDE_FIELD_BUTTON = "guideButton";
    public final static String GUIDE_FIELD_SCRIBBLE = "guideScribble";
    public final static String GUIDE_FIELD_IMAGE = "guideImage";
    public final static String GUIDE_FIELD_IMAGECHOICE = "guideImageChoice";
    public final static String GUIDE_SEPARATOR = "guideSeparator";
    public final static String GUIDE_ADMODULE = "guideAdModule";
    public final static String GUIDE_ADMODULE_GROUP = "guideAdModuleGroup";
    public final static String GUIDE_SEPARATOR_THICKNESS = "thickness";
    public final static String GUIDE_STYLE_FIELD = "Field";
    public final static String GUIDE_STYLE_PANEL = "Panel";
    public final static String GUIDE_STYLE_PANELDESCRIPTION = "PanelDescription";
    public final static String GUIDE_STYLE_WIDGET = "Widget";
    public final static String GUIDE_STYLE_CAPTION = "Caption";
    public final static String GUIDE_STYLE_QUESTIONMARK = "QuestionMark";
    public final static String GUIDE_STYLE_SHORTDESCRIPTION = "ShortDescription";
    public final static String GUIDE_STYLE_LONGDESCRIPTION = "LongDescription";
    public final static String GUIDE_FIELD_ESIGN = "esign";
    public final static String GUIDE_FIELD_VERIFY = "verify";
    public final static String GUIDE_FIELD_CHART = "guideChart";
    public final static String GUIDE_FIELD_NODE = "guideFieldNode";
    public final static String GUIDE_FILE_ATTACHMENT = "fileAttachment";
    public final static String GUIDE_FILE_ATTACHMENT_MAP = "fileAttachmentMap";
    public final static String GUIDE_FILE_COMMENT = "comment";
    public final static String GUIDE_FIELD_CAPTCHA = "guideCaptcha";
    public final static String GUIDE_CAPTCHA_DATA = "captchaData";
    public final static String AF_CHECKBOX_ITEM = "afCheckBoxItem";
    public final static String AF_RADIOBUTTON_ITEM = "afRadioButtonItem";

    // Static text marker css class for guideTextDraw, used in themes
    public final static String GUIDE_STATIC_TEXT = "guideStaticText";

    public final static String GUIDE_COMPONENT_TYPE_CAPTCHA = "fd/af/components/guideCaptchaServiceType";
    //No of characters that will be used to display captcha string for AF captcha.
    public final static Integer CAPTCHA_CHARACTERS = 5;
    public final static String RECAPTCHA_CLOUD_SERVICE_ROOT_PATH = "/etc/cloudservices/recaptcha";
    public final static String TYPEKIT_CLOUD_SERVICE_ROOT_PATH = "/etc/cloudservices/typekit";
    public static final String WEB_FONT_CLOUD_SERVICE_TYPE = "webFont";
    public static final String SERVICE_TYPE_PROPERTY = "cloudServiceType";

    public static final String SERVICE_TYPE = "serviceType";
    public  static final String ACTION_TYPE = "actionType";
    public  static final String SUBMIT_SERVICE = "submitService";

    // Make sure locales are in same order for these two constants otherwise you might break locale finding mechanism
    // for finding correct guidejson at server
    public final static String[] AEM_SUPPORTED_LOCALES = {"en", "fr", "de", "ja", "pt-br", "zh-cn", "zh-tw", "ko-kr", "es", "it"};
    public final static String[] GUIDES_SUPPORTED_CLIENTLIBS = {"en", "fr", "de", "ja ", "ptBR", "zhCN", "zhTW", "koKR", "es", "it"};
    public final static String[] AEM_XFA_SUPPORTED_LOCALES = {"en_US", "fr_FR", "de_DE", "ja_JP", "pt_BR", "zh_CN", "zh_TW", "ko_KR", "es_ES", "it_IT"};
    public final static String DEFAULT_FALLBACK_LOCALE = "en";
    public final static String DEFAULT_FALLBACK_CLIENTLIB = "guides.I18N.en";
    public final static String DEFAULT_XFA_FALLBACK_LOCALE = "en_US";
    public final static String UTF_8 = "UTF-8";
    public final static String LAST_MODIFIED_TIME = "lastModifiedTime";
    public final static String GUIDE_LOCALE_LIB_PREFIX = "guides.I18N.";
    public final static String GUIDE_JSON = "guidejson";
    public final static String XFA_JSON = "xfajson";
    public final static String ASSETS_NODE = "assets";
    public final static String RUNTIME_LOCALE= "runtimeLocale";
    public final static String AF_LANGUAGE_PARAMETER= "afAcceptLang";
    public final static String LANG= "lang";
    public final static String LANGUAGES= "languages";
    public final static String DICTS= "dicts";
    public final static String DICTIONARY_NODENAME= "dictionary";
    public final static String DATA_GUIDE_ATTRIBUTE_ASSET_REF= "data-guide-asset-ref";
    public static final List  BLACKLIST_FROM_RENDER;
    public static final String DDPREFIX = "dd";
    public static final String FD_RULES = "fd:rules";
    public static final String FD_SCRIPTS = "fd:scripts";
    public static final String FD_CALC = "fd:calc";
    public static final String CALC_EXP = "calcExp";

    /** Json schema constants **/
    public static final String GUIDE_JSON_SCHEMA_ANNOTATION_PROPERTY = "aem:afProperties";

    /** Multi Channel specific constants **/
    public static final String NN_CHANNELS = "channels";

    public static final String TYPE = "type";
    public static final String FORMAT = "format";

    public static final String GUIDE_FIELD_EMAIL_PATTERN = "^[a-zA-Z0-9.!#$%& *+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$";
    public static final String RT_GUIDE_DOR_PROPERTIES = "fd/af/authoring/components/dor/dorProperties";
    public static final String XML_HTML_NAMESPACE = "http://www.w3.org/1999/xhtml";
    public static final String XML_NAMESPACE_ATTR = "xmlns";
    public static final String CLOUD_SERVICE_USER = "readCloudService";
    public static final String CLOUD_CONFIGURATION_CONTAINER = "cloudconfigs";
    public static final String RECAPTCHA_CLOUD_CONFIGURATION_GROUP = CLOUD_CONFIGURATION_CONTAINER + "/recaptcha";
    public static final String TYPEKIT_CLOUD_CONFIGURATION_GROUP = CLOUD_CONFIGURATION_CONTAINER + "/typekit";
    public static final String MC_DOCUMENT = "mcdocument";
    public static final String ADAPTIVE_FORM = "guide";
    public static final String XFA_FORM = "xfaForm";
    public static final String DOC_WEB_CHANNEL = "/channels/web";
    public static final String WEB_CHANNE_CCR_DATA_ROOT = "icc:data";

    static {
        BLACKLIST_FROM_RENDER = Collections.unmodifiableList(Arrays.asList(new String[]{
                "cq:responsive",
        }));
    }
    // error specific static variables
    /**
     * Once server validation completes, adaptive form sets "guideErrorList" parameter in request.
     * This parameter is an array of hash map containing som and error message
     * @deprecated from 6.3 use GUIDE_ERROR instead
     * @see GUIDE_ERROR
     */
    public final static String GUIDE_ERROR_LIST = "guideErrorList";

    /**
     * Once server validation completes, adaptive form sets "guideError" parameter in request.
     * This parameter is a json object containing the following
     *
     *  {
     *   responseType  :  "error",
     *   errorCausedBy : "CAPTCHA_VALIDATION/SERVER_SIDE_VALIDATION",
     *   errors        : [
     *                     {    "somExpression" : "",
     *                          "errorMessage" : ""
     *                     },
     *                        ...
     *                  ]
     *  }
     */
    public final static String GUIDE_ERROR = "guideError";
    public final static String KEY_ERROR_CAUSED_BY = "errorCausedBy";
    public final static String KEY_ERRORS = "errors";
    public final static String KEY_SOM_EXPRESSION = "somExpression";
    public final static String KEY_ERROR_MESSAGE = "errorMessage";
    public final static String KEY_VALIDATION_MESSAGE = "validationMessage";
    public final static String KEY_MANDATORY_MESSAGE = "mandatoryMessage";

    /**
     * For lazy loading
     */
    public final static String GUIDE_GLOBAL_LAZY_FIELD = "guideGlobalLazyField";
    public final static String IS_GLOBAL = "isGlobal";
    public final static String REPEAT_BINDREF = "repeatBindRef";
    public final static String XFA_BINDREF_PREFIX = "xfa[0].form[0]";

    //Terms and Conditions review status node name
    public final static String TNC_REVIEW_STATUS_NODE_NAME = "reviewStatus";

    public final static String GUIDE_TOOLBAR = "guideToolbar";
    public final static String TOOLBAR_POSITION = "toolbarPosition";

    public final static String ITEMS_NODENAME = "items";
    public final static String ITEMS_NODENAME_PATH_SUBSTRING = "/items/";
    public final static String OPTIONS = "options";

    public final static String XSD_ROOT_EL_LOCAL_NAME = "xsdRootElement";
    public final static String XSD_ROOT_EL_NAMESPACE = "xsdRootElNamespace";
    public final static String UNKNOWN_XSD_ROOT_ELEMENT = "?";

    /** JSON Schema specific constants **/
    public final static String SCHEMA_ROOT_EL_NAME      = "schemaRootElement";
    public final static String FDM_SCHEMA_ROOT_EL_OPERATION = "fdmRootElementOperation";
    public final static String FDM_ENTITY_PATH = "fdmEntityPath";
    public final static String FDM_SUBMIT_RESULT = "fdmSubmitResult";
    public final static String JSON_SCHEMA_DEFAULT_ROOT = "afJsonSchemaRoot";
    public final static int DEFAULT_MAX_COLLECTION_LEVEL = 1;

    public final static String MAX_OCCUR = "maxOccur";
    public final static String MIN_OCCUR = "minOccur";

    public final static String MANDATORY = "mandatory";
    public final static String MAXIMUM = "maximum";
    public final static String MINIMUM = "minimum";
    public final static String VISIBLE_GUIDE_PROPERTY = "visible";
    public final static String ENABLED_GUIDE_PROPERTY = "enabled";
    public final static String PRESENCE_XFA_PROPERTY = "presence";
    public final static String ACCESS_XFA_PROPERTY = "access";

    public final static String GUIDE_FIELD_SHORT_DESCRIPTION = "guideFieldShortDescription";
    public final static String GUIDE_FIELD_LONG_DESCRIPTION = "guideFieldLongDescription";
    public final static String GUIDE_FIELD_HIDE_TITLE = "hideTitle";
    public final static String GUIDE_HELP_QUESTIONMARK = "guideHelpQuestionMark";
    public final static String GUIDE_FIELD_ERROR = "guideFieldError";
    public final static String GUIDE_HELP_TOPIC = "guideHelpTopic";
    public final static String RICHTEXT_ALLOWED = "allowRichText";
    public static String RICH_TEXT_FIRST_TAG_NAME = "body";
    public final static String FONT_SEARCH_KEYWORD = "font-family";

    @Deprecated /*@deprecated from 6.3, use com.adobe.aemds.guide.utils.JcrResourceConstants.SLING_RESOURCE_TYPE_PROPERTY  instead*/
    public static final String SLING_RESOURCE_TYPE = "sling:resourceType";
    @Deprecated /*@deprecated from 6.3, use com.adobe.aemds.guide.utils.JcrResourceConstants.JCR_PRIMARY_TYPE  instead*/
    public static final String JCR_PRIMARY_TYPE = "jcr:primaryType";
    @Deprecated /*@deprecated from 6.3, use com.adobe.aemds.guide.utils.JcrResourceConstants.JCR_PATH  instead*/
    public static final String JCR_PATH = "jcr:path";
    @Deprecated /*@deprecated from 6.3, use com.adobe.aemds.guide.utils.JcrResourceConstants.SLING_RESOURCE_SUPER_TYPE_PROPERTY  instead*/
    public final static String SLING_RESOURCE_SUPER_TYPE = "sling:resourceSuperType";
    public static final String BIND_REF = "bindRef";
    public static final String COMPLEX_TYPE = "complexType";
    public static final String NAME = "name";
    public static final String IS_FRAGMENT = "isFragment";
    public static final String IMAGE = "image";
    public static final String PATH = "path";
    public static final String METADATA_NODENAME = "metadata";

    public static final String RT_GUIDEFIELD = "fd/af/components/guidefield";
    public static final String RT_GUIDEDATEPICKER = "fd/af/components/guidedatepicker";
    public static final String RT_GUIDENUMERICBOX = "fd/af/components/guidenumericbox";
    public static final String RT_GUIDETEXTBOX = "fd/af/components/guidetextbox";
    public static final String RT_GUIDECHECKBOX = "fd/af/components/guidecheckbox";
    public static final String RT_IMAGE_CHOICE = "fd/af/components/guideimagechoice";
    public static final String RT_GUIDEDROPDOWNLIST = "fd/af/components/guidedropdownlist";
    public static final String RT_GUIDEPASSWORDBOX = "fd/af/components/guidepasswordbox";
    public static final String RT_GUIDERADIOBUTTON = "fd/af/components/guideradiobutton";
    public static final String RT_GUIDEBUTTON = "fd/af/components/guidebutton";
    public static final String RT_GUIDEFILEUPLOAD = "fd/af/components/guidefileupload";
    public static final String RT_GUIDETERMSANDCONDITIONS = "fd/af/components/guidetermsandconditions";
    public static final String RT_GUIDESCRIBBLE = "fd/af/components/guidescribble";
    public static final String RT_GUIDEDRAWIMAGE = "fd/af/components/guideimage";
    public static final String RT_GUIDEIMAGECHOICE = "fd/af/components/guideimagechoice";
    public static final String RT_GUIDEFRAGREF = "fd/af/components/panel";
    public static final String RT_GUIDEFORMTITLE = "fd/af/components/guideformtitle";
    public static final String RT_GUIDEEMAIL = "fd/af/components/guideemail";
    public static final String RT_GUIDETELEPHONE = "fd/af/components/guidetelephone";
    public static final String RT_GUIDECHART = "fd/af/components/guidechart";
    public static final String RT_GUIDESWITCH = "fd/af/components/guideswitch";
    public static final String RT_GUIDECAPTCHA = "fd/af/components/guideCaptcha";

    public static final String RT_PANEL = "fd/af/components/panel";
    public static final String RT_MODULE = "fd/adaddon/components/guideAdModule";
    public static final String RT_MODULE_GROUP = "fd/adaddon/components/guideAdModuleGroup";
    public static final String RT_TABLE = "fd/af/components/table";
    public static final String RT_TABLE_HEADER = "fd/af/components/tableHeader";
    public static final String RT_TABLE_ROW = "fd/af/components/tableRow";
    public static final String RT_ROOT_PANEL = "fd/af/components/rootPanel";
    public static final String IS_SORTING_ENABLED = "sortingEnabled";
    public static final String SORTING_DATA_TYPE = "sortingDataType";
    public static final String NO_SORT = "noSort";
    public static final String RT_TOOLBAR = "fd/af/components/toolbar";


    public static final String RT_GUIDECONTAINER = "fd/af/components/guideContainer";
    public static final String RT_GUIDECONTAINER_WRAPPER = "fd/af/components/guideContainerWrapper";
    /**
     * @deprecated Use {@code CCMWebChannelConstants} instead
     */
    @Deprecated
    public static final String RT_GUIDE_DOCUMENT_CONTAINER = "fd/adaddon/components/guideDocumentContainer";

    public static final String RT_WEB_DOCUMENT_CONTAINER = "fd/ccm/web-channel/components/documentContainer/v1/documentContainer";
    public static final String RESOLUTION_TPE_UNRESOLVED =  "UNRESOLVED";
    public static final String RT_WEB_DOCUMENT_TEXT = "fd/ccm/web-channel/components/text/v1/text";
    public static final String RT_WEB_DOCUMENT_TABLE = "fd/ccm/web-channel/components/table/v1/table";
    public static final String RT_WEB_DOCUMENT_TARGET_AREA = "fd/ccm/web-channel/components/documentFragmentGroup/v1/documentFragmentGroup";
    public static final String RT_WEB_DOCUMENT_TABLE_ROW = "fd/ccm/web-channel/components/tableRow/v1/tableRow";
    public static final String RT_WEB_DOCUMENT_HEADER_ROW = "fd/ccm/web-channel/components/tableHeader/v1/tableHeader";
    public static final String RT_WEB_DOCUMENT_CHART = "fd/ccm/web-channel/components/chart/v1/chart";

    public static final String RT_GUIDE_FRAGMENT_PATH = "fd/af/components/guideFragmentContainer";
    public static final String RT_GUIDEDRAWTEXT = "fd/af/components/guidetextdraw";
    public static final String LAYOUT_GRIDFLUIDLAYOUT = "fd/af/layouts/gridFluidLayout";
    public static final String LAYOUT_GRIDFLUIDLAYOUT2 = "fd/af/layouts/gridFluidLayout2";
    public static final String LAYOUT_TABLELAYOUT = "fd/af/layouts/tableLayout";
    public static final String LAYOUT_TABLE_HEADER_LAYOUT = "fd/af/layouts/table/headerLayout";
    public static final String LAYOUT_TABLE_ROW_LAYOUT = "fd/af/layouts/table/rowLayout";
    public static final String LAYOUT_TABLE_MOBILE_LAYOUT = "mobileLayout";
    public static final String LAYOUT_TABLE_HEADERS_LEFT = "headersLeft";
    public static final String LAYOUT_WIZARDLAYOUT = "fd/af/layouts/panel/wizard";

    public static final String FM_RENDER_PATH_AF = "fd/fm/af/render";
    public static final String FM_RENDER_PATH_MCDOCUMENT = "fd/fm/mcdocument/render";
    /**
     * Field Layout Related Constants
     */
    public static final String DEFAULT_FIELD_RENDERER = "fd/af/layouts/field/defaultFieldLayout";
    // Added to solve issue: CQ-47888
    // This constant is used to support "Inherit from Adaptive Form Configuration" for old adaptive forms created for
    // 6.1 beta
    public static final String DEFAULT_OLD_FIELD_RENDERER = "/libs/fd/af/layouts/field/defaultFieldLayout/defaultFieldLayout.jsp";
    public static final String DEFAULT_FIELD_LAYOUT_NAME = "defaultFieldLayout";
    public static final String DESC_FOR_DEFAULT_FIELD_LAYOUT = "Inherit From Adaptive Form Configuration";
   // I18n.get(request, "Inherit From Adaptive Form Configuration");

    public static final String FIELD_LABEL  = "label";
    public static final String FIELD_WIDGET = "widget";
    public static final String FIELD_QUESTION_MARK = "questionMark";
    public static final String FIELD_SHORT_DESCRIPTION = "shortDescription";
    public static final String FIELD_LONG_DESCRIPTION = "longDescription";
    public static final String FIELD_ERROR = "error";

    public static final String RT_PAGE = "cq:Page";
    public static final String FRAG_REF = "fragRef";
    public static final String IS_FORM = "isForm";
    public static final String HAS_EMBEDDED_FORMS = "hasEmbeddedForms";
    public static final String HAS_EMBEDDED_XSD_FORMS = "isHasEmbeddedXsdForm";
    public static final String USEHREF = "usehref";
    public static final String OPTIMIZE_RENDER_PERFORMANCE = "optimizeRenderPerformance";
    public static final String ALL_LAZY_CHILDREN = "allLazyChildren";
    public static final String PAGE_REFS = "assetRefs";
    public static final String BIND_REF_PREFIX_FOR_FRAGMENT = "bindRefPrefixForFragment";
    // This is used in the content finder tab for fragment.This relies on the asset node structure of FM
    public static final String PATH_TO_THUMBNAIL_319_BY_319 = "/renditions/cq5dam.thumbnail.319.319.png";
    public static final String FRAGMENT_MODEL_ROOT = "fragmentModelRoot";
    public static final String TRANSFORMED_JSON = "transformedJSON";

    public static final String ADOBE_SIGN_FIELDS = "adobeSignFields";
    public static final String DOCUMENT_FRAGMENT_VARIABLES = "documentFragmentVariables";
    public static final String DATA_TYPE = "dataType";
    public static final String DATA_FORMAT = "dataFormat";
    public final static String VARIABLE_ID = "variableId";
    public final static String VARIABLE_ID_1 = "variable_1";
    public final static String DF_VARIABLE_FORMAT = "%s";
    public final static String COLLECTION_LEVEL = "collectionLevel";
    public final static String PARENT_COLLECTION_PATH = "parentCollectionPath";
    public final static String HAS_REPEATABLE_BIND_REFS = "hasRepeatableBindRefs";
    public final static String COMMON_REPEATABLE_BIND_REF = "commonRepeatableBindRef";
    public final static String CHART_SERIES_REPEATABLE_BIND_REF = "chartSeriesRepeatableBindRef";
    public final static String PN_TARGET = "target";
    public final static String PN_JSON = "json";
    public final static String PN_ICON = "icon";

    public static final String NT_UNSTRUCTURED = "nt:unstructured";

    public static final String GUIDE_ATTACHMENTS = "_guideAttachments";
    public static final String CQ_CSRF_TOKEN = ":cq_csrf_token";
    public static final String REDIRECT = ":redirect";
    public static final String SELF_URL = ":selfUrl";
    public static final String XDP_REF = "xdpRef";
    public static final String OLD_RESPONSIVE_LAYOUT_USED = "oldResponsiveLayoutUsed";
    public static final String IS_NEW_RESPONSIVE_LAYOUT = "isNewResponsiveLayout";
    public static final String IS_NEW_RESPONSIVE_FRAGMENT = "isNewResponsiveFragment";
    public static final String FD_VERSION = "fd:version";
    public static final String FD_TARGET_VERSION = "fd:targetVersion";
    public static final String LEGACY_AF_SPEC_VERSION = "1.0";
    public static final String LEGACY_AF_TARGET_SPEC_VERSION = "1.0";
    // the value of this property is to be updated only if there is any change in the adaptive form spec version(json or node structure)
    public static final String CURRENT_AF_SPEC_VERSION = "1.1";
    public static final String XSD_REF = "xsdRef";
    public static final String DD_REF = "ddRef";
    public static final String LETTER_REF = "letterRef";
    public static final String ASSET_REF = "assetRef";
    public static final String SCHEMA_REF = "schemaRef";
    public static final String FDM_JSON_DATA = "fdmJsonData";
    public static final String FORM_CONTAINER_PATH = "formContainerPath";
    public static final String FORM_MODEL = "formmodel";
    public static final String SCHEMA_TYPE = "schemaType";
    public static final String _VALUE = "_value";
    public static final String VARIABLE_DISPLAY_PICTURE_CLAUSE = "displayPictureClause";
    public static final String DEFAULT_CURRENT_DATE = "defaultToCurrentDate";
    public static final String AF_DATA_SOM = "afDataSom";
    public static final String DATA_SOM = "dataSom";
    public static final String FILES = "files";
    public static final String RELATIVE_PATH_TO_XSD_NODE = "/assets/xsdRef.xsd";
    public static final String RELATIVE_PATH_TO_JSON_NODE = "/assets/schemaRef.json";
    public static final String RELATIVE_PATH_TO_XSD_ASSET = "/jcr:content/renditions/original";
    public static final String GUIDE_PREFILL_XML = "guidePrefillXml";
    public static final String GUIDE_PREFILL_JSON = "guidePrefillJson";
    public static final String CONTENT_TYPE = "contentType";
    public static final String CONTENT_TYPE_APPLICATION_JSON = "application/json";
    public static final String CONTENT_TYPE_APPLICATION_XML = "application/xml";
    public static final String PROP_REDIRECT = "redirect";
    public static final String PROP_THANK_YOU_OPTION = "thankYouOption";
    public static final String PROP_THANK_YOU_OPTION_MESSAGE = "thankYouMessage";
    public static final String PROP_THANK_YOU_OPTION_CONTENT = "thankYouContent";
    public static final String PROP_KEY_AF_SUCCESS_PAYLOAD = "afSuccessPayload";
    public static final String DEFAULT_GUIDE_SUBMIT_URL_SELECTOR = ".af.submit.jsp";
    public static final String REQUEST_PROPERTY_AEM_FORM_COMPONENT_PATH = "aemFormComponentPath";
    public static final String FIELD_TYPE = "fieldType";
    public static final String DISPLAY_PICTURE_CLAUSE = "ccm:displayPictureClause";


    /** Prefill service constants **/
    public static final String GUIDE_PREFILL_SERVICE_PARAMS = "paramMap";
    /** End of prefill service constants **/

    public static final String GUIDE_SUBMIT_SERVICE_PARAMS = GUIDE_PREFILL_SERVICE_PARAMS;

    public static final String GUIDE_LAZY_XML = "guideLiveXml";
    public static final String GUIDE_LAZY_DATA = "guideLiveData";
    public static final String GUIDE_LAZY_JSON = "guideLiveJson";
    public static final String USE_SIGNED_PDF = "_useSignedPdf";
    public static final String PDF_NAME = "pdfName";
    public static final String ASYNC_SUBMIT = "_asyncSubmit";
    public static final String ENABLE_PORTAL_SUBMIT = "enablePortalSubmit";
    public static final String ENABLE_AUTO_SAVE  = "enableAutoSave";
    public static final String ENABLE_DOR_SUBMISSION  = "enableDoRSubmission";
    public static final String ENABLE_ATTACHMENT_SUBMISSION  = "enableAttachmentSubmission";
    public static final String BIND_REF_SELECTOR  = "bindRef";
    public static final String ENABLE_ADOBE_SIGN  = "enableAdobeSign";
    public static final String DRAFT_ID = "draftID";
    public static final String RESOLUTION_TYPE = "resolutionType";
    public static final String MODULE_LIST = "moduleList";
    public static final String GUIDE_VALUES_MAP = "_guideValuesMap";
    public static final String FORMS_PORTAL_SUBMIT_ID = "submitID";
    public static final String FORMS_PORTAL_PENDING_SIGN_ID ="pendingSignID";
    public static final String FORMS_PORTAL_SUBMIT_LINK = "submitLink";
    public static final String FORM_SUBMIT_INFO = "FormSubmitInfo";
    public static final String SIGN_AGREEMENT_INFO = "signAgreementInfo";
    public static final String AGREEMENT_ID = "agreementId";
    public static final String SYSTEM_ID = "systemId";
    public static final String FORM_SUBMISSION_COMPLETE = "FormSubmissionComplete";
    public static final String SIGNING_URL = "signingURL";
    public static final String POST_SIGN_URL = "postSignURL";
    public static final int POST_SIGN_DELAY = 1;

    public static final String AGREEMENT = "agreement";
    public static final String SUBMIT = "submit";
    public static final String SIGN_SUBMIT = "signSubmit";

    public static final String TEMPLATE_STRUCTURE_NODE = "structure";
    public static final String TEMPLATE_POLICIES_NODE = "policies";
    public static final String TEMPLATE_INITIAL_NODE = "initial";

    public final static String GUIDECONTAINER_NODENAME = "guideContainer";
    public final static String GUIDECONTAINER_NODECLASS = "guideContainerNode";
    public static final String GUIDE_LAYOUT_CONTEXT = "guideLayoutContext";
    public static final String REQUEST_PROPERTY_GUIDE_START = "guideContainerPath";
    public static final String STORE_PATH = "storePath";
    public static final String CLIENT_LIB_REF = "clientLibRef";
    public static final String XFA_FORMDOM = "formdom";
    public static final String XFA_MERGEDFORMDOM = "mergedformdom";
    public static final String XFA_RENDER_CONTEXT = "xfaRenderContext";
    // guide property provider related constants
    public  static  final  String ASSET_TYPE = "assetType";
    public  static  final  String META_TAGS = "tags";
    public  static  final  String FILTER_PATH = "filterPath";
    public  static  final  String XFA_BASED = "xfa";
    public  static  final  String XSD_BASED = "xsd";
    public  static  final  String JSON_SCHEMA = "jsonschema";
    public  static  final  String SCHEMA = "schema";
    public  static  final  String FDM = "formdatamodel";
    public  static  final  String XML_SCHEMA = "xmlschema";
    public  static  final  String FORM_TEMPLATES = "formtemplates";
    public  static  final  String BASIC = "none";
    public  static  final  String ALL_TYPES = "all";
    public  static  final  String TOOLBAR_POSITION_BOTTOM = "Bottom";
    //end
    // This is for disabling preview in file attachment widget
    public static final String DISABLE_PREVIEW  = "disablePreview";
    public static final String MODULE_DDI = "moduleDDI";

    public static final String THANKYOU_PAGE = "guideThankYouPage.html";
    public static final String ASYNC_REDIRECT_PAGE = "guideAsyncThankYouPage.html";
    public static final String GUIDE_NODE_ID_SUFFIX = "__";
    // todo: Make it independent of /libs here
    public static final String GUIDE_IMAGE_ICON_PATH = "/libs/fd/af/components/guideimage/icon.jpg";
    public static final String GUIDE_CHART_ICON_PATH = "/libs/fd/af/components/guidechart/guidechart.png";
    public static final String GUIDE_CHART_TYPE_THUMBNAIL_PATH_PREFIX = "/libs/fd/af/components/guidechart/";
    public static final String GUIDE_CHART_TYPE_THUMBNAIL_PATH_SUFFIX = "Chart.svg";
    public static final String GUIDE_ENV_RHINO_FIXES_PATH = "/libs/fd/af/runtime/clientlibs/guidelib/javascript/EnvRhinoFixes.js";
    public static final String GUIDE_ENV_RHINO_PATH = "/libs/fd/af/runtime/clientlibs/third-party/javascript/envjs/";
    public static final String ELEMENT_PROPERTY_NODECLASS = "guideNodeClass";
    public static final String FRAG_CONTAINER_PATH = "/libs/fd/af/components/guideFragmentContainer/guideFragmentContainer.jsp";
    public static final String FM_DAM_ROOT = "/content/dam/formsanddocuments/";
    public static final String FM_AF_ROOT = "/content/forms/af/";
    public static final String FM_DAM_METADATA = "/jcr:content/metadata";
    public static final String FM_DAM_DOR_TEMPLATE = "/jcr:content/renditions/dorTemplate";
    public static final String FM_DAM_FD_GENERATOR = "xmp:CreatorTool";
    // the below value should be in sync with forms manager
    public static final String FM_DAM_DEFAULT_GENERATOR = "AEM Forms Editor";
    public static final String FM_AF_GUIDECONTAINER = "/jcr:content/guideContainer";
    public static final String DEFAULT_STORE_CONTENT_PATH = "/content/usergenerated/content/forms";
    public final static String NODEPATH = "nodePath";
    public final static String ATTACHMENTS = "attachments";
    public final static int GUIDE_CACHE_CAPACITY = 100;
        // Capacity of guide json cache
    public final static int GUIDE_JSON_CACHE_CAPACITY = 100;

    // Document of Record related constants
    public static final String DOR_TYPE = "dorType";
    public static final String DOR_TYPE_NONE = "none";
    public static final String DOR_TYPE_SELECT = "select";
    public static final String DOR_TYPE_GENERATE = "generate";
    public static final String DOR_TEMPLATE_REF = "dorTemplateRef";
    public static final String META_TEMPLATE_REF = "metaTemplateRef";

    //scribble aspect ratio constants
    public final static Double DEFAULT_ASPECT_RATIO = 6.8888; //derived from MF
    public final static double INCH_TO_MM_FACTOR = 25.4000; //conversion factors
    public final static double DEVICE_RESOLUTION = 144.000; //DPI
    public final static double PDF_RESOLUTION = 72.000;
    public final static double DEFAULT_HEIGHT = 34.000;  //--height in px

    // Default value of sling max call counter
    public final static int DEFAULT_SLING_MAX_CALL_COUNTER = 1000;
    public final static int AF_SLING_MAX_CALL_COUNTER = 20000;
    public final static String SLING_MAIN_SERVLET_CONFIG_ID = "org.apache.sling.engine.impl.SlingMainServlet";

    // sling max calls constant
    public final static String SLING_MAX_CALLS = "sling.max.calls";

    public static final List GUIDE_FIELDS_CLASS_NAMES;
    public static final List GUIDE_PANELS_CLASS_NAMES;
    public static final List GUIDE_COMPOSITE_FIELD_CLASS_NAMES;
    public static final List GUIDE_HTML5_INPUT_TYPES;
    public static final List GUIDE_PROGRESSIVE_FIELDS_CLASS_NAMES;
    public static final List GUIDE_COMPOSITE_FIELD_TYPES;
    public static final List GUIDE_COMPOSITE_FIELD_RESOURCE_TYPES;
    public static final List GUIDE_SUBMITABLE_FIELD_TYPES;
    public static final List GUIDE_IRRELEVANT_TEMPLATE_KEYS;
    public static final List GUIDECONTAINER_RELEVANT_TEMPLATE_KEYS;

    static {
        GUIDE_FIELDS_CLASS_NAMES = Collections.unmodifiableList(Arrays.asList(new String[]{
                GUIDE_FIELD_CHECKBOX,
                GUIDE_FIELD_DATEPICKER,
                GUIDE_FIELD_DROPDOWNLIST,
                GUIDE_FIELD_NUMERICBOX,
                GUIDE_FIELD_PASSWORDBOX,
                GUIDE_FIELD_RADIOBUTTON,
                GUIDE_FIELD_SWITCH,
                GUIDE_FIELD_TEXTBOX,
                GUIDE_FIELD_TELEPHONE,
                GUIDE_FIELD,
                GUIDE_FIELD_FILEUPLOAD,
                GUIDE_FIELD_BUTTON,
                GUIDE_FIELD_TERMSANDCONDITIONS,
                GUIDE_FIELD_SCRIBBLE
        }));

        GUIDE_PANELS_CLASS_NAMES = Collections.unmodifiableList(Arrays.asList(new String[]{
                ROOTPANEL_NODECLASS,
                GUIDE_PANEL,
                GUIDE_TABLE,
                GUIDE_TABLE_ROW
        }));

        GUIDE_HTML5_INPUT_TYPES = Collections.unmodifiableList(Arrays.asList(new String[]{
                GUIDE_FIELD_EMAIL
        }));

        GUIDE_COMPOSITE_FIELD_CLASS_NAMES = Collections.unmodifiableList(Arrays.asList(new String[]{
                GUIDE_FIELD_FILEUPLOAD,
                GUIDE_FIELD_TERMSANDCONDITIONS
        }));
        //Note: ESign/Verify/Summary Expression are not part of PV
        GUIDE_PROGRESSIVE_FIELDS_CLASS_NAMES = Collections.unmodifiableList(Arrays.asList(new String[]{
                GUIDE_FIELD_CHECKBOX,
                GUIDE_FIELD_DATEPICKER,
                GUIDE_FIELD_DROPDOWNLIST,
                GUIDE_FIELD_NUMERICBOX,
                GUIDE_FIELD_PASSWORDBOX,
                GUIDE_FIELD_RADIOBUTTON,
                GUIDE_FIELD_SWITCH,
                GUIDE_FIELD_TEXTBOX,
                GUIDE_FIELD_FILEUPLOAD,
                GUIDE_FIELD_BUTTON,
                GUIDE_FIELD_SCRIBBLE,
                GUIDE_FIELD_TERMSANDCONDITIONS,
                GUIDE_FIELD_TEXTDRAW,
                GUIDE_FIELD_IMAGE,
                GUIDE_TABLE
        }));

        GUIDE_COMPOSITE_FIELD_TYPES = Collections.unmodifiableList(Arrays.asList(
                GUIDE_FIELD_FILEUPLOAD,
                GUIDE_FIELD_TERMSANDCONDITIONS
        ));


        GUIDE_COMPOSITE_FIELD_RESOURCE_TYPES = Collections.unmodifiableList(Arrays.asList(
                RT_GUIDEFILEUPLOAD,
                RT_GUIDETERMSANDCONDITIONS
        ));

        GUIDE_SUBMITABLE_FIELD_TYPES = Collections.unmodifiableList(Arrays.asList(
                GUIDE_FIELD_CHECKBOX,
                GUIDE_FIELD_DATEPICKER,
                GUIDE_FIELD_DROPDOWNLIST,
                GUIDE_FIELD_NUMERICBOX,
                GUIDE_FIELD_PASSWORDBOX,
                GUIDE_FIELD_RADIOBUTTON,
                GUIDE_FIELD_SCRIBBLE,
                GUIDE_FIELD_TEXTBOX
        ));

        GUIDE_IRRELEVANT_TEMPLATE_KEYS = Collections.unmodifiableList(Arrays.asList(
                FD_RULES,
                FD_SCRIPTS,
                LAYOUT_NODENAME
        ));

        GUIDECONTAINER_RELEVANT_TEMPLATE_KEYS = Collections.unmodifiableList(Arrays.asList(
                ROOTPANEL_NODENAME,
                TOOLBAR
        ));
    }

    public static final String GUIDE_TEMP_PATH = "/tmp/fd/af/";
    public static final String PROTOCOL_CRX = "crx://";
    public static final String PROTOCOL_HTTP = "http://";
    public static final String PROTOCOL_HTTPS = "https://";
    public static final String PROTOCOL_FILE = "file://";
    public static final String URL_PROTOCOL_REGEX = "^(https?)://.+";
   // Please add any new container resource here as well
    public static final List  CONTAINER_RESOURCES;
    static {
        CONTAINER_RESOURCES = Collections.unmodifiableList(Arrays.asList(new String[]{
                RT_GUIDE_DOCUMENT_CONTAINER,
                RT_WEB_DOCUMENT_CONTAINER,
                RT_GUIDE_FRAGMENT_PATH,
                RT_GUIDECONTAINER,
                RT_GUIDECONTAINER_WRAPPER
        }));
    }
    // This list consists of cacheable container resources
    public static final List  CACHEABLE_CONTAINER_RESOURCES;
    static {
        CACHEABLE_CONTAINER_RESOURCES = Collections.unmodifiableList(Arrays.asList(new String[]{
                RT_GUIDE_DOCUMENT_CONTAINER,
                RT_WEB_DOCUMENT_CONTAINER,
                RT_GUIDECONTAINER,
                RT_GUIDECONTAINER_WRAPPER
        }));
    }

    /**
     * Resource that need to be incorporated in navigation menu, visible on mobile
     */
    public static final List  MOBILE_MENU_RESOURCES;
    static {
        MOBILE_MENU_RESOURCES = Collections.unmodifiableList(Arrays.asList(new String[]{
                RT_PANEL,
                RT_MODULE,
                RT_MODULE_GROUP,
                RT_WEB_DOCUMENT_TARGET_AREA,
                RT_ROOT_PANEL
        }));
    }

    public static final String JCR_CONTENT = "/" + JCR_CONTENT_NODENAME;
    public static final String JCR_DATA = "jcr:data";
    public static final String JCR_DESCRIPTION = "jcr:description";
    public static final String DATA = "data";
    public static final String DATA_XML = "dataXml";
    public static final String JSON = "json";
    public static final String XML = "xml";
    public static final String ASSET_RENDITION = "/jcr:content/renditions/original";
    public static final String ASSET_JCR_DATA = "renditions/original/jcr:content";

    public static final String FD_GUIDE_COMPONENT_TYPE = "guideComponentType";

    public static final String NON_LOCALIZED_TITLE = "nonLocalizedTitle";
    public static final String SUMMARY_EXP_VISIBLE="summaryExpVisible";
    public static final String COMPLETION_EXPREQ="completionExpReq";
    public static final String ACCORDION_LAYOUT_RESOURCE_TYPE="fd/af/layouts/panel/accordion";
    public static final String WRAPPED_SUBMIT_XML_ROOT = "afData";
    public static final String WRAPPED_SUBMIT_JSON_ROOT = WRAPPED_SUBMIT_XML_ROOT;
    public static final String WRAPPED_SUBMIT_UNBOUND_ROOT = "afUnboundData";
    public static final String WRAPPED_SIGNERS_ROOT = "signers";
    public static final String WRAPPED_SUBMIT_SUBMISSION_INFO_ROOT = "afSubmissionInfo";
    public static final String WRAPPED_SUBMIT_COMPUTED_DATA_ROOT = "computedData";
    public static final String XML_NS_XFA_KEY = "xmlns:xfa";
    public static final String XML_NS_XFA_VALUE = "http://www.xfa.org/schema/xfa-data/1.0/";
    public static final String XML_NS_SCHEMA_INSTANCE_KEY = "xmlns:xsi";
    public static final String XML_NS_SCHEMA_INSTANCE_VALUE = "http://www.w3.org/2001/XMLSchema-instance";
    public static final String XFA_DATANODE = "xfa:dataNode";
    public static final String DATAGROUP = "dataGroup";
    public static final String DATAVALUE = "dataValue";
    public static final String WRAPPED_SUBMIT_BOUND_ROOT = "afBoundData";
    public static final String UNWRAPPED_SUBMIT_ROOT = "data";
    public static final String UNBOUND_DATA_MAP = "unboundDataMap";
    public static final String COMPLETE_DATA_XML = "completeDataXML";
    public static final String XFA_STATE="xfaState";
    public static final String XFA_DOM="xfaDom";
    public static final String GUIDE_DOM ="guideDom";
    public static final String GUIDE_VALUE ="guideValue";
    public static final String GUIDE_FILE_ATTACHMENTS_LIST ="fileAttachmentsList";
    public final static String GUIDE_STATE = "guideState";
    public static final String ENABLED_EXP = "enabledExp";
	public static final String AF_SUBMISSION_INFO = "afSubmissionInfo";
    public static final String AF_SUBMISSION_TIME = "afSubmissionTime";
	public static final String AF_DRAFT = "afDraft";
    public static final String STORE_CONTENT_TEMP_PERMISSION_PROPERTY = "afStoreContentTempPermission";
    public static final String SIGNER_INFO_RESOURCE = "signerInfo";
    public static final String SIGN_CONFIG_PATH = "signConfigPath";
    public static final String LOCALE = "locale";
    public static final String ENABLE_SERVER_VALIDATION = "enableServerValidation";
    public static final String SUBMIT_TYPE = "submitType";

    public static final String SUMMARY_OWNER = "owner";
    public static final String SUMMARY_LINK = "path";
    public static final String SUMMARY_FORM_NAME = "guideName";

    public static final String STORE_PDF_RESOURCE_SUPER_TYPE = "fd/af/components/guidesubmittype/store";
    public static final String EMAIL_PDF_RESOURCE_SUPER_TYPE = "fd/af/components/guidesubmittype/email";

    /** Property name for reference of adaptive forms asset for Progressive data capture  */
    public static final String GUIDE_PROGRESSIVE_REF = "guideRef";

    /** Property name for type of strategy used by Progressive data capture  */
    public static final String GUIDE_PROGRESSIVE_STRATEGY_TYPE = "guideStrategyType";

    /** Property name for name of strategy  Progressive data capture  */
    public static final String GUIDE_PROGRESSIVE_STRATEGY_NAME = "strategyName";

    /** Default strategy name **/
    public static final String GUIDE_PROGRESSIVE_DEFAULT_STRATEGY_NAME = "contentStructureStrategy";

    /** Property name for parameters passed to strategy for Progressive data capture  */
    public static final String GUIDE_PROGRESSIVE_STRATEGY_JCR_PATH = "strategyJcrPath";

    /** Strategy Params **/
    public static final String GUIDE_PROGRESSIVE_STRATEGY_PARAMS = "guideProgressiveStrategyParams";


    /** Request parameter name, for section field value pair data, sent for fetching the next
     *  section, to strategy of Progressive data capture  */
    public static final String GUIDE_PROGRESSIVE_SECTION_FIELD_VALUE = "sectionFieldValue";

    /** Request parameter name, for id of current displayed section, sent for fetching the next
     *  section, to strategy of Progressive data capture  */
    public static final String GUIDE_PROGRESSIVE_CURRENT_SECTION_ID = "currentSectionId";

    /** Request parameter name to fetch the current section id passed */
    public static final String GUIDE_PROGRESSIVE_RENDER_CURRENT_SECTION = "renderCurrentSection";

    // Static service type
    public static final String GUIDE_PROGRESSIVE_STATIC_SERVICE = "static";

    // Dynamic service type
    public static final String GUIDE_PROGRESSIVE_DYNAMIC_SERVICE = "dynamic";

    public static final String GUIDE_PROGRESSIVE_LAST_SECTION_INFO = "lastSectionInfo";
    public static final String GUIDE_PROGRESSIVE_SECTION_NODE_CLASS = "guideProgressiveSection";
    public static final String GUIDE_PROGRESSIVE_COMPLETION_SECTION_NODE_CLASS = "guideProgressiveCompletionSection";
    public static final String GUIDE_PROGRESSIVE_SECTION_ID = "id";
    public static final String GUIDE_PROGRESSIVE_SECTION_TITLE = TITLE_NODENAME;
    public static final String GUIDE_PROGRESSIVE_SECTION_NAME = NAME;
    public static final String GUIDE_PROGRESSIVE_SECTION_FIELDS = "fields";
    public static final String GUIDE_PROGRESSIVE_REPEATABLE_PANEL_PATH = "repeatablePanelPath";
    public static final String GUIDE_PROGRESSIVE_REPEATABLE_PANEL_ID = "repeatablePanelId";
    public static final String GUIDE_PROGRESSIVE_FETCHED_FROM_SERVICE = "fetchedFromService";
    public static final String GUIDE_PROGRESSIVE_COMPLETION_TITLE = "completionTitle";
    public static final String GUIDE_PROGRESSIVE_COMPLETION_BEFORE_MESSAGE = "completionBeforeMessage";
    public static final String GUIDE_PROGRESSIVE_COMPLETION_AFTER_MESSAGE = "completionAfterMessage";
    public static final String GUIDE_PROGRESSIVE_COMPLETION_SCRIPT = "completionScript";
    public static final String GUIDE_PROGRESSIVE_COMPLETION_BUTTON_TEXT = "completionButtonText";
    public static final String GUIDE_PROGRESSIVE_COMPLETION_FAILURE_SCRIPT = "completionFailureScript";
    public static final String GUIDE_PROGRESSIVE_COMPLETION_SUCCESS_SCRIPT = "completionSuccessScript";

    //Parameter name for specifying the guideContainer node name for a rendered Guide (introduced for ABTest)
    public static final String GUIDE_CONTAINER_NODE_PARAMETER = "guideContainerName";
    //Parameter name for restricting the render to AJAX response for ABTest
    public static final String TARGET_MODE = "targetMode";
    //Property in node which identifies if targeting is enabled (ABTest) - for a Guide
    public static final String TARGET_ENABLED = "targetEnabled";
    //Alternate Guide Container name for B scenario
    public static final String GUIDE_CONTAINER_NODE_NAME = "guideContainer";
    public static final String GUIDE_TARGET_ALTERNATE_CONTAINER_NAME = "guideContainer2";
    public static final String DOR_DATA_XML = "dorDataXml";
    public static final String DOR_EXCLUSION = "dorExclusion";
    public static final String EXCLUDE_FROM_DOR_IF_HIDDEN = "excludeFromDoRIfHidden";
    public static final String EXCLUDE_FROM_DOR = "excludeFromDoR";
    public static final String STATE_OVERRIDE = "stateOverrides";
    public static final String TEMPLATEID = "templateId";
    public static final String INCLUDE_UNBOUND_FIELDS = "includeUnboundFields";

    public static final String SHOW_PLACEHOLDER = "showPlaceholder";
    public static final String MAKE_FILE_NAMES_UNIQUE = "makeFileNameUnique";
    public static final String PREVENT_LIVE_LINKING_FIELDS = "preventLiveLinkingFields";
    public static final Integer NO_OF_FIELDS_TO_DISPLAY_FOR_FRAG_PLACEHOLDER = 10;
    public static final String TABLE_COLUMN_WIDTH = "columnWidth";
    public static final String TABLE_COLUMN_WIDTH_SEPARATOR = ",";
    public static final String GENERATING_COMPLIANT_DATA = "generatingCompliantData";

    public static final String WIDTH = "width";
    public static final String HEIGHT = "height";

    public static final String AF_DATA_REF = "dataRef";
    public static final String PREFILL_SERVICE = "prefillService";
    public static final String AF_DATA = "data";
    public static final String STATUS = "status";
    public static final String SUBMITTED = "Submitted";
    public static final String HTML = "html";
    public static final String AF_OPTGROUP_NAME = "afOptGroupName";


    public static final String JCR_LAST_MODIFIED_BY = "jcr:lastModifiedBy";
    public static final String JCR_CREATED = "jcr:created";
    public static final String JCR_CREATED_BY = "jcr:createdBy";
    public static final String EES_JAVASCRIPT = "eesJavascript";


    public static final String HTML_CACHE_NAME = "cache.html";
    public static final String JSON_CACHE_NAME = "cache.json";
    public static final String PAGE_STYLES_CACHE_NAME = "cache.pagestyles";
    //constants for dateInputField
    public static final String DATE_DISPLAY_FORMAT = "dateDisplayFormat";
    public static final String PLACEHOLDER_MONTH ="placeholderMonth";
    public static final String PLACEHOLDER_DAY = "placeholderDay";
    public static final String PLACEHOLDER_YEAR = "placeholderYear";
    public static final String TITLE_MONTH = "titleMonth";
    public static final String TITLE_DAY = "titleDay";
    public static final String TITLE_YEAR = "titleYear";
    public static final String INPUT_JSON_DATA = "INPUT_JSON_DATA";

    //constants for switch
    public static final String UNCHECKED_LABEL = "uncheckedLabel";
    public static final String CHECKED_LABEL = "checkedLabel";
    public static final String CLASSES_SWITCH = "classes";
    public static final String THEME_SWITCH_IOS5 = "ui-switchbutton-ios5";
    public static final String SCRIPTING_BEHAVIOR = "scriptingBehaviourVersion";

    /* Typekit related constants */
    public static final String TYPEKIT_FONT_VALUE_KEY = "css_names";
    public static final String TYPEKIT_KIT_KEY = "kit";
    public static final String TYPEKIT_FONT_FAMILIES_KEY = "families";
    public static final String TYPEKIT_FONT_NAME_KEY = "name";
    public static final String TYPEKIT_API_URL = "https://typekit.com/api/v1/json/kits/";
    public static final String TYPEKIT_API_KIT_STATE = "/published";

    public static final String CHART_DATA_SOURCE_TYPE = "dataSourceType";
    public static final String CHART_DATA_SOURCE_TYPE_FDM = "fdm";
    public static final String CHART_X_EXP = "xExp";
    public static final String CHART_Y_EXP = "yExp";
    public static final String CHART_MULTI_SERIES = "multiSeries";
    public static final String CHART_SERIES_NAME = "seriesName";
    public static final String CHART_SERIES_REF_EXP = "seriesReferenceExp";
    public static final String CHART_XY_REF_POINT_EXP = "xyReferencePointExp";
    public static final String CHART_X_DATA_TYPE = "xDataType";
    public static final String CHART_Y_DATA_TYPE = "yDataType";
    public static final String CHART_REPEATABLE_ITEM = "repeatableItem";
    public static final String CHART_SERIES_REPEATABLE_ITEM = "seriesRepeatableItem";
    public static final String IS_INTERACTIVE_COMMUNICATION_CHART_RESOURCE = "isInteractiveCommunicationChartResource";
    public static final String CHART_SERIES_REF_DATA_TYPE = "seriesReferenceDataType";
    public static final String CHART_XY_REF_POINT_DATA_TYPE = "xyReferencePointDataType";

    /*Guide Primitive dataType constants */
    public static final String STRING = "STRING";
    public static final String NUMBER = "NUMBER";
    public static final String DATE = "DATE";
    public static final String DATE_TIME = "date-time";

    // The subservice name for service user mapping of getAllWebFontServices in GuidePropertyProviderUtils.
    public static final String GET_WEBFONT_SERVICES_SUBSERVICE = "getWebFontService";

    public final static String[] scriptProperties = {"clickExp", "navigationChangeExp", "visibleExp",
            "initScript", "calcExp", "valueCommitScript", "validateExp", "completionExp", "summaryExp",
            "optionsExp", "enabledExp"};

    public static final String SCRIPT_WRITERS_GROUP = "forms-script-writers";
    public static final String TEMPLATE_SCRIPT_WRITERS_GROUP = "af-template-script-writers";

    public static final String PROP_FD_CHANNEL_TYPE = "fd:channelType";
    public static final String CHANNEL_NAME_WEB = "web";
    public static final String WEB_CHANNE_CCR_DATA = "ICC_DATA";
    /**
     * Enum to list assets referenced by guides.
     * This enum has to be in sync with GuideCommonAuthoring.js(AuthorUtils.js)#GUIDE_ASSETS.
     * Whenever this enum changes client side enum should be changed accordingly.
     */
    public enum GUIDE_ASSETS {
        THEME("theme"),
        XDP_TEMPLATE("xdpTemplate"),
        META_TEMPLATE("metaTemplate"),
        SCHEMA("schema");

        private final String asset;

        private GUIDE_ASSETS(String asset) {
            this.asset = asset;
        }

        public String getAsset() {
            return asset;
        }
    }

    public static final List GUIDE_RESERVED_WORDS = Arrays.asList(
            "intialize","getOnOffValues","minOccur","validate","setGuideState","maxOccur","forceElementFocusChange","getGuideState","initialOccur","checkIfNull","initialize","instanceTemplateId","playJson","prepare","instanceCount","resetData","runPendingExpressions","repeatable","calcExp","queueExpressions","instances","title","resolveNode","syncXFAProps","valueCommitScript","autoSaveStart","visit","validateExp","enableAutoSave","getElement","placeholderText","autoSaveStartExpression","children","value","autoSaveInfo","setAttribute","formattedValue","xdpRef","getGuideProp","displayPictureClause","dorTemplateRef","getXFAProp","validatePictureClause","actionType","getAttribute","editPictureClause","xsdRef","name","mandatory","panel","templateId","mandatoryMessage","multiSelect","id","validateExpMessage","optionsExp","somExpression","validatePictureClauseMessage","items","nonLocalizedTitle","validationState","multiSelection","viewVisited","width","buttonText","index","height","showComment","visible","cssClassName","fileSizeLimit","enabled","clickExp","fileList","enableLayoutOptimization","navigationChangeExp","handleEvent","dataType","type","addInstance","leadDigits","showLink","insertInstance","fracDigits","clickStatus","removeInstance","maxChars","showAsPopUp","shortDescription","execNavigationChangeExpression","multiLine","longDescription","executeExpression","visibleExp","initScript","enabledExp","execCompletion","sectionId","setFocus","completionExp","sectionTitle","activeInstance","completionExpReq","completionScript","activePart","toolbar","completionBeforeMessage","isLastPart","instanceManager","completionAfterMessage","isFirstPart","instanceIndex","completionSuccessScript","currentActivePart","summary","completionFailureScript","sectionName","submitPassword","initializeChildren","sectionFields","fetchedFromService","repeatablePanelId","getSelectedIndex","repeatablePanelPath","getItemIdentifier","mobileLayout","columnWidth"
    );

    public static final String SCRIPT_MODEL = "{\"script\":{\"content\":\"%s\",\"event\":\"%s\"},\"nodeName\":\"SCRIPTMODEL\",\"version\":1,\"enabled\":true}";

    public static final String GUIDE_SCHEMA_EVENT_PROPERTY = "events";
    public static final String XML_SCHEMA_EVENT_TAG = "event";

    public final static List EVENT_TYPE = Arrays.asList(
        "Calculate", "Visibility", "Initialize", "Value Commit", "Enabled", "Validate", "Click", "Options"
    );

    public static final Map SECURE_EVENT_PROPERTY_MAPPING;
    static {

        Map map = new HashMap<>();
        map.put("Calculate", "fd:calc");
        map.put("Visibility", "fd:visible");
        map.put("Initialize", "fd:init");
        map.put("Click", "fd:click");
        map.put("Value Commit", "fd:valueCommit");
        map.put("Enabled", "fd:enabled");
        map.put("Validate", "fd:validate");
        map.put("Options", "fd:options");

        SECURE_EVENT_PROPERTY_MAPPING = Collections.unmodifiableMap(map);
    }

    /**
     * Enum to list Thank You Option referenced by guides.
     * This enum has to be in sync with GuideBridge.js#THANK_YOU_OPTION.
     * Whenever this enum changes client side enum should be changed accordingly.
     * @pad.exclude
     */
    public enum ThankYouOption {
        PAGE("page"),
        MESSAGE("message");

        private final String option;

        private ThankYouOption(String option) {
            this.option = option;
        }
        public String toString() {
            return this.option;
        }
    }

    /**
     * Holds specification to product version map. Specification of AF and theme starts with 1.0
     * and any incremental changes would mean bump of only minor version (ie) 1.1, 1.2 and so on
     */
    public static final Map> SPEC_TO_PRODUCT_VERSION_MAP;
    static {
        Map> aMap = new LinkedHashMap<>();
        aMap.put(GuideConstants.LEGACY_AF_SPEC_VERSION, Arrays.asList("600", "610", "620"));
        aMap.put(GuideConstants.CURRENT_AF_SPEC_VERSION, Arrays.asList("630"));
        SPEC_TO_PRODUCT_VERSION_MAP = Collections.unmodifiableMap(aMap);
    }

    /**
     * Asset Type to Display Name map
     */
    public static final Map ASSET_TYPE_TO_DISPLAY_NAME_MAP;
    static {
        Map map = new HashMap<>();
        map.put("guide", "Adaptive Form");
        map.put("affragment", "Adaptive Form Fragment");
        map.put(MC_DOCUMENT, "Interactive Communication");

        ASSET_TYPE_TO_DISPLAY_NAME_MAP = Collections.unmodifiableMap(map);
    }

    /*
     *  AF Components bind dataType
     */
    public static final Map AF_COMPONENT_DATA_TYPE;
    static {
        Map map = new HashMap<>();
        map.put(GuideConstants.GUIDE_FIELD_TEXTBOX,GuideConstants.STRING);
        map.put(GuideConstants.GUIDE_FIELD_NUMERICBOX,GuideConstants.NUMBER);
        map.put(GuideConstants.GUIDE_FIELD_DATEPICKER,GuideConstants.DATE);
        AF_COMPONENT_DATA_TYPE = Collections.unmodifiableMap(map);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy