Class Channel
- java.lang.Object
-
- com.jalios.jcms.Channel
-
- All Implemented Interfaces:
JcmsConstants,JaliosConstants,JPropertiesListener
public class Channel extends java.lang.Object implements JcmsConstants, JPropertiesListener
The Channel singleton is the main access point of the JCMS API.
This singleton is initialized automatically on startup by the servlet ChannelInitServlet declared in web.xml.
The following methods of Channel may be useful for your developments in JCMS.
-
Retrieving data from JCMS
-
Default JCMS objects
You can for example use those methods when you need to provide a parameter to any method in a place where you do not have that information available (e.g. using the default admin as the author when creating orupdating an object). -
Retrieving single object
-
Retrieving collection of objects
CAUTION: methods marked with an asterisk (*) returns an internal Set, DO NOT alter the returned Set, clone if you need to do any modifications.- Retrieve collection of Datas of a given Class or from an array of ids.
Those methods DO NOT control read rights. - Retrieve collection of Publications of a given Class.
Those methods control read rights for the given Member. - Retrieve collection of datas which are referring a given Data.
- Select Publications in the given state or with given Workflow.
- Retrieve Publications from their title or Publications without any categories.
- Retrieve miscellanous JCMS Data.
getCommonGroupSet()(Global groups)getWorkspaceSet(Workflow)(Workspace using the given worflow)
- Retrieve collection of Datas of a given Class or from an array of ids.
-
-
Listeners, Data Controllers RightPolicyFilter, Query Filters and Authentication Handlers
-
Store Listeners
UseStoreListenerto be informed when Storable are created, updated or deleted from this site. -
Channel Listeners
UseChannelListenerto be informed when the site is shutting down. -
Data Controller
UseDataControllerto control Data integrity, validation and execution of Data write operation. -
Query Filters
UseQueryFilterto customize behavior of JCMS during search. -
Authentication Handlers
UseAuthenticationHandlerto provide other authentication method.
-
-
Accessing Properties and Language Properties
The JCMS API provides simple methods to read properties from configuration files and from languages files.
As of version 5.5.0 JCMS does not yet differentiate configuration properties from languages properties.-
Reading configuration property
Wherever you store your properties (webapp.prop or custom.prop) you can access them at any time using the methods listed below:containsProperty(String)getProperty(String)getProperty(String, String)getBooleanProperty(String, boolean)getIntegerProperty(String, int)getLongProperty(String, long)getFloatProperty(String, float)getDoubleProperty(String, double)getStringArrayProperty(String, String[])getIntArrayProperty(String, int[])
-
Reading Language properties
Language properties are just properties prefixed with the ISO-639 language code. To simplify access to those properties, useglpmethods ofJcmsUtil. -
Reading multiple properties
-
Updating and saving properties methods
Should you need to change any of your custom properties, you can use some methods listed below. We do not support the use of the following methods to change any JCMS property at runtime, behaviour ofJCMS maybe incorrect if you do not use the user interface for such task.
-
-
Converting relative path to File
Use the following methods to easely convert relative path intoFiles and vice-versa. Useful for configuration files, uploaded files, file manipulations, etc.
File confFile = new File(channel.getDataPath("conf.xml")); ...getRealPath(String)getWebappPath()getUploadPath(String)getUploadParentPath()getWebInfPath(String)getDataPath(String)getRelativePath(File)getLucenePath(String)(access with care!)getJaliosPath(String)(access with care!)getJcmsWorkPath(String)(access with care!)
-
Communicating by email
Use those method to retrieve the correct sender to use when sending an email from your java code.String sender = channel.getSenderFullEmail(); Strint recipient = newMbr.getFullEmail(); String subject = "[" + channel.getName() + "] " + "Welcome!"; // TO DO: I18N String content = "Welcome " + newMbr.getFriendlyName() + "\nEnjoy our new site!"; // TO DO: I18N MailUtil.sendMail(sender, recipient, subject, content);
-
Store Manipulation
WARNING: Modifying the Store can be very dangerous!!! Only use the following methods if you fully understand their behaviour and their consequences.-
Cleaning
Since jcms-5.5.0 the Store Cleaner allows complete control over operations that should be cleaned when launching a store clean.
The following methods may be useful to tag the store in its current state (using milestones) and to add filters needed to control the clean operation.appendMilestone(String)addCleanFilter(CustomCleanFilter)removeCleanFilter(CustomCleanFilter)cleanStore(CleanFilter, JcmsContext, LogCleanerObserver)getCleanFilterList()
generateLogFromMemory() -
Retrieving Store Informations
-
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classChannel.TypeLabelComparatorSort type according their label in a given language.
-
Field Summary
Fields Modifier and Type Field Description protected booleanadminIpNoPatternprotected org.apache.oro.text.regex.PatternadminIpPatternprotected java.util.Set<Category>advRefineRootSetprotected java.util.Map<java.lang.String,AlarmManager>alarmManagerMapprotected java.util.HashMap<java.lang.Class<?>,java.util.Map<java.lang.String,TypeFieldEntry>>allTypeFieldEntriesCacheMapprotected AppServerInfoappServerInfoprotected AuthenticationManagerauthMgrprotected CacheManagercacheManagerprotected static Channelchannelprotected java.util.TreeSet<ChannelListener>channelListenerSetprotected java.util.Map<java.lang.Class<? extends Data>,java.util.Set<Data>>class2dataSetprotected java.lang.ClassLoaderclassLoaderprotected java.util.List<CustomCleanFilter>cleanFilterListprotected javax.servlet.ServletContextcontextprotected java.lang.StringcontextRootRealPathprotected java.util.ArrayList<java.lang.Class<? extends Publication>>coreTypeListprotected java.lang.Stringcountryprotected java.lang.ThreadLocal<javax.servlet.http.HttpServletRequest>currentServletRequestprotected java.lang.ThreadLocal<javax.servlet.http.HttpServletResponse>currentServletResponseprotected java.util.HashMap<java.lang.Class<?>,java.util.Set<DataController>>dataControllerMapprotected DataListenerdataListenerprotected java.text.SimpleDateFormatdateFormatprotected java.text.SimpleDateFormatdateTimeFormatprotected MemberdefaultAdminprotected java.lang.StringdefaultEmailprotected GroupdefaultGroupprotected java.lang.StringdefaultLanguageprotected java.lang.String[]defaultQueryTypesprotected java.lang.String[]defaultQueryTypesOffprotected WorkspacedefaultWorkspaceprotected java.util.HashMap<java.lang.Class<?>,java.util.Map<java.lang.String,TypeFieldEntry>>exactTypeFieldEntriesCacheMapprotected FileIndexManagerfimprotected java.util.Set<java.lang.String>globalHttpHeaderExcludedSetprotected java.util.Map<java.lang.String,java.lang.String>globalHttpHeaderMapprotected java.util.Set<java.lang.String>httpHeaderExcludedSetprotected java.util.Map<java.lang.String,java.lang.String>httpHeaderMapprotected java.util.HashMap<java.lang.String,java.lang.String>ipToReverseProxyConfNameMapprotected booleanisAttachWSEnabledprotected booleanisAttachWSEnabledComputedprotected booleanisAvailableprotected booleanisDataWriteEnabledprotected booleanisDataWriteEnabledComputedprotected booleanisDeployManagerEnabledprotected booleanisGzipCompressionEnabledprotected booleanisIncomingMailEnabledDeprecated.the MailManager.isIncomingMailEnabled should be used insteadprotected booleanisNotificationEnabledprotected booleanisReverseProxyEnabledprotected static booleanisSSLenabledprotected java.lang.BooleanisTimeZoneEnabledprotected booleanisUsingAdvancedI18Nprotected booleanisWebdavEnableprotected booleanisWebdavEnableComputedprotected JcmsInfojcmsInfoprotected booleanjsyncAutoUpdateprotected longjsyncDownloadIntervalprotected booleanjsyncEnabledprotected java.util.List<java.lang.String>jsyncExplicitReplicaListprotected booleanjsyncHasLeaderprotected org.apache.oro.text.regex.PatternjsyncIpPatternprotected java.lang.StringjsyncLeaderUrlprotected intjsyncPartialUpdateIntervalprotected JSyncReplicajsyncReplicaprotected java.lang.StringjsyncReplicaUrlprotected intjsyncRequestTimeoutprotected longjsyncStabDelayprotected booleanjsyncSuggestJoinprotected booleanjsyncSyncFilesprotected java.lang.StringjsyncUpdateModeprotected intjsyncUpdateRequestTimeoutprotected java.lang.Stringlanguageprotected LinkIndexManagerlimprotected LimitControllerlimitControllerprotected java.util.Localelocaleprotected LuceneMemberSearchEnginembrSearchEngineprotected java.lang.Stringnameprotected AlarmEntrynlAlarmEntryprotected CategoryRightnoCategoryRightprotected NotificationManagernotificationManagerprotected GrouporganizationRootGroupprotected PropertyManagerpropMgrprotected java.lang.Class<?>[]publicationSuperTypesprotected java.util.Map<java.lang.String,java.util.List<java.lang.Class<? extends Publication>>>publicationTypeMapprotected PublicationListenerpubListenerprotected java.util.Set<Publication>pubWithoutCategoriesprotected QueryManagerqueryMgrprotected intrealPathLengthprotected java.util.Set<Category>refineRootSetprotected java.util.HashMap<java.lang.String,java.lang.String>reverseProxyBaseURLprotected java.util.HashMap<java.lang.String,java.lang.String>reverseProxyContextPathprotected java.util.HashMap<java.lang.String,java.lang.String>reverseProxySSLBaseURLprotected java.util.HashSet<java.lang.String>rightToLeftLanguageSetprotected CategoryrootCategoryprotected java.util.Set<Category>rootCategoryAsSetprotected CategoryRightrootCategoryRightprotected java.util.Set<Category>searchRootSetprotected java.lang.StringsecuredUrlprotected static intSSLportprotected Storestoreprotected java.io.FilestoreBackupDirprotected intstoreBackupMaxprotected StoreInfostoreInfoprotected CategorytagRootprotected TypeProcessortypeProcessorprotected java.lang.Stringuriprotected java.lang.Stringuridprotected java.lang.Stringurlprotected java.util.HashMap<java.lang.String,java.util.Set<java.lang.String>>virtualIDMapprotected java.io.FilewebappDirprotected java.lang.StringwebdavEncodingprotected booleanworkspacesIpNoPatternprotected org.apache.oro.text.regex.PatternworkspacesIpPatternprotected java.time.ZoneIdzoneId-
Fields inherited from interface com.jalios.util.JaliosConstants
CRLF, MILLIS_IN_ONE_DAY, MILLIS_IN_ONE_HOUR, MILLIS_IN_ONE_MINUTE, MILLIS_IN_ONE_MONTH, MILLIS_IN_ONE_SECOND, MILLIS_IN_ONE_WEEK, MILLIS_IN_ONE_YEAR
-
Fields inherited from interface com.jalios.jcms.JcmsConstants
ADATE_SEARCH, ADMIN_NOTES_PROP, ADVANCED_TAB, AJAX_MODE_ATTR, ARCHIVES_DIR, ASCII_WIDTH, CATEGORY_TAB, CDATE_SEARCH, CLASS_PROPERTY, COMMON_ALARM, CONTENT_TAB, COOKIE_MAX_AGE, COUNTRY_SPRITE, CS_TYPOLOGY_ROOT_CAT_VID, CTRL_TOPIC_INTERNAL, CTRL_TOPIC_REF, CTRL_TOPIC_VALUE, CTRL_TOPIC_WRITE, CUSTOM_PROP, DATA_DIRECTORY, DEFAULT_PHOTO_PROP, DOCCHOOSER_HEIGHT, DOCCHOOSER_WIDTH, DOCS_DIR, EDATE_SEARCH, EMAIL_REGEXP, ERROR_MSG, FORBIDDEN_FILE_ACCESS, FORBIDDEN_REDIRECT, FORCE_REDIRECT, GLYPH_ICON_PREFIX, ICON_ARCHIVE, ICON_ICON_PREFIX, ICON_LOCK, ICON_LOCK_STRONG, ICON_PREFIX_PROP, ICON_WARN, ICON_WH_BOOK_CLOSED, ICON_WH_BOOK_OPEN, INFORMATION_MSG, IS_IN_FRONT_OFFICE, JALIOS_JUNIT_PROP, JCMS_CADDY, JCMS_MSG_LIST, JCMS_TOASTR_COLLECTION, JSYNC_DOWNLOAD_DIR, JSYNC_SYNC_ALARM, LANG_SPRITE, LOG_FILE, LOG_TOPIC_SECURITY, LOGGER_PROP, LOGGER_XMLPROP, MBR_PHOTO_DIR, MDATE_SEARCH, MONITOR_XML, OP_CREATE, OP_CREATE_STR, OP_DEEP_COPY, OP_DEEP_COPY_STR, OP_DEEP_DELETE, OP_DEEP_DELETE_STR, OP_DELETE, OP_DELETE_STR, OP_MERGE, OP_MERGE_STR, OP_UPDATE, OP_UPDATE_STR, ORGANIZATION_ROOT_GROUP_PROP, PDATE_SEARCH, PHOTO_DIR, PHOTO_ICON, PHOTO_ICON_HEIGHT, PHOTO_ICON_PROP_PREFIX, PHOTO_ICON_WIDTH, PHOTO_LARGE, PHOTO_LARGE_HEIGHT, PHOTO_LARGE_PROP_PREFIX, PHOTO_LARGE_WIDTH, PHOTO_MINI, PHOTO_MINI_HEIGHT, PHOTO_MINI_PROP_PREFIX, PHOTO_MINI_WIDTH, PHOTO_NORMAL, PHOTO_NORMAL_HEIGHT, PHOTO_NORMAL_PROP_PREFIX, PHOTO_NORMAL_WIDTH, PHOTO_SMALL, PHOTO_SMALL_HEIGHT, PHOTO_SMALL_PROP_PREFIX, PHOTO_SMALL_WIDTH, PHOTO_TINY, PHOTO_TINY_HEIGHT, PHOTO_TINY_PROP_PREFIX, PHOTO_TINY_WIDTH, PREVIOUS_TAB, PRINT_VIEW, PRIVATE_FILE_ACCESS, PUBLIC_FILE_ACCESS, RAW_CONTENT_ICON_PREFIX, READ_RIGHT_TAB, SDATE_SEARCH, SEARCHENGINE_ALARM, SECURITY_LOG_FILE, SESSION_AUTHORIZED_FILENAMES_SET, SPRITE_ICON_PREFIX, STATS_REPORT_DIR, STATUS_PROP, STORE_DIR, STORE_XML, SUCCESS_MSG, SVG_ICON_PREFIX, SVGINLINE_ICON_PREFIX, TEMPLATE_TAB, THUMBNAIL_LARGE_HEIGHT, THUMBNAIL_LARGE_WIDTH, THUMBNAIL_SMALL_HEIGHT, THUMBNAIL_SMALL_WIDTH, TTCARD_MEDIA_HEIGHT, TTCARD_MEDIA_WIDTH, TYPES_ICON_ALT_PROP, TYPES_ICON_SUFFIX_PROP, TYPES_ICON_TITLE_PROP, TYPES_PREFIX_PROP, TYPES_THUMB_SUFFIX_PROP, UDATE_SEARCH, UPDATE_RIGHT_TAB, UPLOAD_DIR, UPLOAD_PERMISSION_COUNT_PROP_PREFIX, UPLOAD_PERMISSION_SIZE_PROP_PREFIX, URL_REGEXP, VID_LOGGED_MEMBER, WARNING_MSG, WEBAPP_PROP, WFEXPRESS_ALARM, WFREMINDER_ALARM, WORKFLOW_TAB, WORKFLOW_XML
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidaddAuthenticationHandler(AuthenticationHandler authHandler)Add the specifiedAuthenticationHandlerto the list of AuthenticationHandlers used by the AuthenticationManager to process users' authentication.voidaddChannelListener(ChannelListener listener)Adds a ChannelListener.voidaddCleanFilter(CustomCleanFilter filter)Adds a custom clean filter.voidaddDataController(DataController dc, java.lang.Class<?> clazz)Add the given DataControllervoidaddDBListener(DBListener listener)Add a DBListener to listen to all the Data.voidaddDBListener(DBListener listener, java.lang.Class<?> clazz)Add a DBListener to listen to the given class of data.voidaddGlobalHttpHeaders(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)An internal method used to add HTTP headers in the response.voidaddHttpHeaders(javax.servlet.http.HttpServletResponse response)An internal method used to add HTTP headers in the response.voidaddJSyncListener(JSyncListener listener)Adds a JSyncListener.voidaddPropertiesListener(JPropertiesListener listener)Adds a properties listener.voidaddQueryFilter(QueryFilter qf)Add the givenQueryFilterto the list of QueryFilters used by the QueryManager (getQueryManager()).voidaddStoreListener(StoreListener listener, boolean repeat)Adds a StoreListener for all storable classes.voidaddStoreListener(StoreListener listener, java.lang.Class<?> clazz, boolean repeat)Adds a StoreListener associated to a given class.voidappendMilestone(java.lang.String text)Appends a milestone in the store.booleancanMemberAccessFile(java.lang.String filename, Member member)Check if the given member can access the given file (dangling documents are checked, see checkMemberAccessFile()).booleancheckCrypt(java.lang.String candidate_plaintext, java.lang.String stored_hash)Check a plain text string against an encrypted string previoulsy stored in JCMS.intcheckMemberAccessFile(java.lang.String filename, Member member, java.util.Set<java.lang.String> authorizedFilenames)Check the access mode the given member has for the given fileLogCleanerReportcleanStore(CleanFilter filter, JcmsContext context, LogCleanerObserver observer)Cleans the store.voidclearCurrentServletRequest()Removes the current servlet request of the thread.voidclearCurrentServletResponse()Removes the current servlet response of the thread.booleancontainsProperty(java.lang.String name)Tests if this JProperties contains the given property key/name.voidcreateData(Data data, Member opAuthor)Creates a data in the store.java.lang.Stringcrypt(java.lang.String str)Hash the specified string with the BCrypt encryption algorithm.voiddeleteData(Data data, Member opAuthor)Delete a data in the store.protected static voiddestroy()Singleton Method to finalize and destroy the channel.voiddisableDataWrite(java.lang.String msg)Disable data write.voidenableDataWrite()Enable data wirte.protected voidfinalize()Handles the finalize invocationvoidfireChannelFinalize()Call methodChannelListener.handleFinalize()of every registeredChannelListener.
This methods is called when the site is restarted or shutdown.voidgenerateLogFromMemory()Generates a cleaned version of the store.
CAUTION: All operations on deleted data are removed. All update operations are integrated in a new creation operation (except cycling data references which are resolved in a second update step). The previous store is backuped with the extension .bakjava.util.Set<Member>getAdminSet()Returns the set of administrators.java.util.Set<Category>getAdvRefineRootSet()Returns the categories to used as roots for the advanced refinement.AlarmManagergetAlarmManager(java.lang.String name)Returns the AlarmManager associated to the given name.java.util.Map<java.lang.String,AlarmManager>getAllAlarmManager()Returns All alarmManager present in the channeljava.util.TreeSet<Data>getAllDataSet()Returns all the data of this site in a new TreeSet.<T> java.util.TreeSet<T>getAllDataSet(java.lang.Class<T> clazz)Returns all instances of a given class and it's subclass.<T extends Publication>
java.util.TreeSet<T>getAllPublicationSet(java.lang.Class<T> clazz, Member member)Returns all publications of a given class AND subclasses that can be accessed by a given member and that are in a visible state.<T extends Publication>
java.util.TreeSet<T>getAllPublicationSet(java.lang.Class<T> clazz, Member member, boolean checkPstatus)Returns all publications of a given class AND subclasses that can be accessed by a given member.TypeFieldEntry[]getAllTypeFieldEntries(java.lang.Class<?> clazz)Return an array ofTypeFieldEntrybound to givenClass.TypeFieldEntry[]getAllTypeFieldEntries(java.lang.String className)Return an array ofTypeFieldEntrybound to givenClassname.AppServerInfogetAppServerInfo()Return the AppServerInfo instance (a singleton) which describe the underlying application server.AuthenticationManagergetAuthMgr()Returns the current AuthenticationManager instance used by JCMS to authenticate members into JCMS.intgetBcryptLogRoundsMax()Returns the maximum log2 of the number of rounds of hashing authorized in the password bcrypt hash.intgetBcryptLogRoundsMin()Returns the mininum log2 of the number of rounds of hashing authorized in the password bcrypt hash.booleangetBooleanProperty(java.lang.String name, boolean defaultValue)Gets the value of a property as a boolean given its key/name.CacheManagergetCacheManager()CategorygetCategory(java.lang.String id)Returns a category from its idCategoryRightgetCategoryRight(java.util.HashSet<Category> roots, int mode, boolean create)Returns the CategoryRight matching the given criteriastatic ChannelgetChannel()Singleton Method to get the channelJPropertiesgetChannelProperties()Returns the internal properties used by channel.java.lang.ClassgetClass(java.lang.String className)Load and return a classjava.lang.Class[]getClass(java.lang.String[] clazzStr)Load and return classesjava.lang.ClassLoadergetClassLoader()Returns the classLoaderjava.lang.ClassgetClassOrNull(java.lang.String className)Load and return a classjava.lang.StringgetCleanFilename(java.lang.String filename)Clean the given filename.java.util.List<CustomCleanFilter>getCleanFilterList()Returns the list of custom clean filters.AlarmManagergetCommonAlarmManager()Returns the common AlarmManager.java.util.Set<Group>getCommonGroupSet()Return all the global groupsjava.util.ArrayList<java.lang.Class<? extends Publication>>getCoreTypeList()Returns all the available core publication types (FileDocument, ArchivedPublication...)java.lang.StringgetCountry()Retrieve the default country of the siteCategorygetCsTypologyRootCat()MembergetCurrentDelegateMember()Returns the original Member of the current session if he has connected to another account since then (using JCMS_sulogin feature).
UsesDelegationAuthenticationHandler.getSuHistory(HttpServletRequest).
Used by internal method during data creation/update/delete to correctly set the opDelegate field of any Data.
This method must be called during a user request to work otherwise it returns null.JcmsContextgetCurrentJcmsContext()Returns the JcmsContext of the current servlet request of the current thread.MembergetCurrentLoggedMember()Returns the Member currently loggued in for the current request.java.lang.ObjectgetCurrentRequestAttribute(java.lang.String name)Returns the value of the given request attributejavax.servlet.http.HttpServletRequestgetCurrentServletRequest()Returns the current servlet request.javax.servlet.http.HttpServletResponsegetCurrentServletResponse()Returns the current servlet response.java.lang.StringgetCurrentUserLang()Returns the user language if it is available (i.e.java.util.LocalegetCurrentUserLocale()Returns the user Locale if it is available (i.e.java.time.ZoneIdgetCurrentUserZoneId()Returns the userZoneIdif it is available (i.e.java.util.Collection<java.lang.Class<?>>getCustomExtensionCollection()Returns all the DataExtension classes.java.util.Map<java.lang.String,java.lang.Class<?>>getCustomExtensionMap()Returns the map of String (Class) to data extension (Class).java.lang.StringgetCustomPropFilePath()Returns the file path of the custom.prop file.java.util.ListgetCustomTypeList()Return the list of custom publication types Class, that is all the Publication Class of package "generated.".<T extends Data>
TgetData(java.lang.Class<T> clazz, java.lang.String id)Returns a data from its id.DatagetData(java.lang.String id)Returns a data from its id<T> java.util.Iterator<T>getDataAndDBDataIterator(java.lang.Class<T> clazz)Returns an iterator on an hybrid list of data stored in the database and JStore.java.util.Map<java.lang.Class<?>,java.util.Set<DataController>>getDataControllerMap()Returns the internal map class/DataController.java.util.Set<DataController>getDataControllerSet(java.lang.Class<?> clazz)longgetDataCount(java.lang.Class<? extends Data> clazz)Returns the number of data available for the given class.java.util.Map<Data,ControllerStatus>getDataIntegrityReport(boolean refresh)Deprecated.useCheckIntegrityReportManagerto manipulate dataIntegrityReport mapjava.util.DategetDataIntegrityReportDate()Deprecated.useCheckIntegrityReportManagerto manipulate dataIntegrityReportDate variablejava.util.ArrayList<Data>getDataList(java.lang.String[] ids)Returns the instances associated to an array of ids.<T extends Data>
java.util.ArrayList<T>getDataList(java.lang.String[] ids, boolean ignoreNull, java.lang.Class<T> clazz)Returns the data corresponding to the given array of data ids.java.lang.StringgetDataPath(java.lang.String uri)Retrieves the file system path of the specified uri relative to the directory/WEB-INF/data/of the webapp.
The returned file path will be in native path format, suitable for use withnew File()constructor.DataRightgetDataRight(boolean canPublish, boolean canUpdateOther, boolean canDeleteOther, boolean create)Returns a DataRight matching the given criteria.<T> java.util.TreeSet<T>getDataSet(java.lang.Class<T> clazz)Returns all instances of a given class and it's subclass.java.util.TreeSet<?>getDataSet(java.lang.String[] ids)Returns the instances associated to an array of ids.<T> java.util.TreeSet<T>getDataSet(java.lang.String[] ids, java.lang.Class<? extends T> clazz, boolean neverNull)Returns a set of data from an array of idenfiers.java.lang.StringgetDataSourceLabel(java.lang.String dataSource, java.lang.String userLang)Returns the label for the given data source.java.text.SimpleDateFormatgetDateFormat(java.lang.String lang)Retrieve a Date formated suitable for parsing and formatting of date input of JCMS forms.java.time.format.DateTimeFormattergetDateFormatter(java.lang.String lang)Retrieve a Date formated suitable for parsing and formatting of date input of JCMS forms.java.text.SimpleDateFormatgetDateTimeFormat(java.lang.String lang)Retrieve a Date formated suitable for parsing and formatting of date & time input of JCMS forms.java.time.format.DateTimeFormattergetDateTimeFormatter(java.lang.String lang)Retrieve a Date formated suitable for parsing and formatting of date & time input of JCMS forms.DBDatagetDBData(java.lang.Class<?> clazz, java.lang.Long rowId)Returns a given DBData according its class and it row id.<T> java.util.Iterator<T>getDBDataIterator(java.lang.Class<T> clazz)Returns an iterator on the list of instance for the given class stored in the database.<T> java.util.List<T>getDBDataList(java.lang.Class<T> clazz)Returns all the instance for the given class stored in the database.<T> java.util.List<T>getDBDataList(java.lang.Class<T> clazz, int firstResult, int maxResults)Returns all the instance for the given class stored in the database.java.util.List<java.lang.Class<? extends Publication>>getDBPublicationClassList()Returns the list of Publication subclasses managed by Hibernate.PageResult<Publication>getDBPublicationList(PublicationCriteria pubCriteria)Returns a list of publications in the database matching the given criteria.MembergetDefaultAdmin()Returns the default admin.java.lang.StringgetDefaultEmail()Returns the default email of the channel get from the property channel.default-emailGroupgetDefaultGroup()Returns the default group.java.lang.StringgetDefaultLanguage()java.lang.String[]getDefaultQueryTypes()Returns the default 'types' attribute to use for query (get from the property query.default.types)java.lang.String[]getDefaultQueryTypesOff()Returns the default 'typesOff' attribute to use for query (get from the property query.default.types-off)WorkspacegetDefaultWorkspace()Returns the default workspace.java.util.TreeSet<? extends Storable>getDeletedSet(java.lang.Class<? extends Storable> clazz)Get the latest version of the deleted Data for a given class.doublegetDoubleProperty(java.lang.String name, double defaultValue)Gets the value of a property as a double value given its key/name.java.util.TreeSet<Data>getFileIndexedDataSet(java.lang.String filename)Returns the set of data bound to the given filename.FileIndexManagergetFileIndexManager()Return theFileIndexManagersingleton instance which manages Data's links to filename.PublicationgetFirstPublicationFromTitle(java.lang.String title)Returns the first publication with the title in default site language matching the given title.<T> TgetFirstPublicationSetFromTitle(java.lang.Class<T> clazz, java.lang.String title)Returns the first publications of the given class with title in default site language matching the given title.floatgetFloatProperty(java.lang.String name, float defaultValue)Gets the value of a property as a float value given its key/name.GroupgetGroup(java.lang.String id)Returns a group from its idGroupgetGroupFromDN(java.lang.String dn)Returns a LDAP group from its distinguish name.GroupgetGuestGroup()Returns the Guests group bound to virtual IDMember.GUEST_GROUP_VID.intgetHierarchicalWorkspaceLimit()Returns the hierarchical workspace limit define by property "hierarchical-ws.menu-limit".int[]getIntArrayProperty(java.lang.String name, int[] defaultValue)Gets the value of a property as a int array.intgetIntegerProperty(java.lang.String name, int defaultValue)Gets the value of a property as an int value given its key/name.java.lang.StringgetJaliosPath(java.lang.String uri)Retrieves the file system path of the specified uri relative to the directory/WEB-INF/jalios/of the webapp.
The returned file path will be in native path format, suitable for use withnew File()constructor.JcmsInfogetJcmsInfo()Return a JcmsInfo instance (a singleton) which describe the JCMS version of this channel.java.util.List<java.lang.String>getJcmsLanguageList()Retrieves all the languages in which JCMS is localized.java.lang.StringgetJcmsWorkPath(java.lang.String uri)Retrieves the file system path of the specified uri relative to the directory/WEB-INF/jcmswork/of the webapp.
The returned file path will be in native path format, suitable for use withnew File()constructor.org.apache.oro.text.regex.PatterngetJSyncIpPattern()java.lang.StringgetJSyncLeaderUrl()JSyncReplicagetJSyncReplica()java.lang.StringgetJSyncReplicaUrl()longgetJSyncStabDelay()java.lang.StringgetLanguage()java.lang.StringgetLanguageDirection(java.lang.String lang)Retrieves the text/table direction to use for the given language.java.util.List<java.lang.String>getLanguageList()Retrieve all the languages of this channel with the main language as the first one of the list.java.util.List<java.lang.String>getLanguageListOrdered()Retrieve all the languages of this channel in the exact ordered in which they were specified in the properties.LangPropertiesgetLanguageProperties()Gets the internal language properties used by channel.
As of version 5.5 those properties are the same asgetChannelProperties()but may differ in a future revision.java.lang.Object[]getLangValue(java.lang.String lang, boolean useDefault, java.lang.Object[] value, java.util.HashMap valueML)Return a value bound to the given languagejava.lang.Object[]getLangValue(java.lang.String lang, boolean useDefault, java.lang.Object[] value, java.util.HashMap valueML, java.lang.String mainLanguage)Return a value bound to the given languagejava.lang.ObjectgetLangValue(java.lang.String lang, boolean useDefault, java.lang.Object value, java.util.HashMap valueML)Return a value bound to the given languagejava.lang.ObjectgetLangValue(java.lang.String lang, boolean useDefault, java.lang.Object value, java.util.HashMap valueML, java.lang.String mainLanguage)Return a value bound to the given languagejava.lang.String[]getLangValue(java.lang.String lang, boolean useDefault, java.lang.String[] value, java.util.HashMap valueML)Return a value bound to the given languagejava.lang.String[]getLangValue(java.lang.String lang, boolean useDefault, java.lang.String[] value, java.util.HashMap valueML, java.lang.String mainLanguage)Return a value bound to the given languagejava.lang.StringgetLangValue(java.lang.String lang, boolean useDefault, java.lang.String value, java.util.HashMap valueML)Return a value bound to the given languagejava.lang.StringgetLangValue(java.lang.String lang, boolean useDefault, java.lang.String value, java.util.HashMap valueML, java.lang.String mainLanguage)Return a value bound to the given languageLDAPConfigurationgetLDAPConfiguration()Deprecated.LDAPConfigurationgetLDAPConfigurationFromDN(java.lang.String dn)Deprecated.LDAPConfigurationgetLDAPConfigurationFromDomain(java.lang.String domain)Deprecated.LDAPConfigurationgetLDAPConfigurationFromLogin(java.lang.String login)Deprecated.LimitControllergetLimitController()Returns the LimitController which is in charge to validate license limitations of JCMS.intgetLinkCount(Data data)Returns the number of instances of Data referring the given Data<T> java.util.TreeSet<T>getLinkIndexedDataSet(Data data, java.lang.Class<T> clazz)Returns the Set of Data of the given Class, referring the given data.<T> java.util.TreeSet<T>getLinkIndexedDataSet(Data data, java.lang.Class<T> clazz, java.lang.String field)Returns the Set of Data of the given Class, referring the given data with the given field.LinkIndexManagergetLinkIndexManager()Return theLinkIndexManagersingleton instance which manages Data's links on each other.java.util.LocalegetLocale()Return the locale of the channeljava.util.List<java.lang.String>getLocalizedLanguageList()Retrieves all the languages specified in the properties in which JCMS is localized.longgetLockTimeout()Return the lock timeout in milliseconds.longgetLongProperty(java.lang.String name, long defaultValue)Gets the value of a property as a long value given its key/name.java.lang.StringgetLucenePath(java.lang.String uri)Retrieves the file system path of the specified uri relative to the directory/WEB-INF/data/lucene/of the webapp.
The returned file path will be in native path format, suitable for use withnew File()constructor.MembergetMember(java.lang.String id)Returns a member from its idMembergetMemberFromEmail(java.lang.String email)Returns the member with the given email.MembergetMemberFromLogin(java.lang.String login)Returns the member with the given login.MembergetMemberFromLogin(java.lang.String login, boolean checkDisabled)Returns the member with the given login.LuceneMemberSearchEnginegetMemberSearchEngine()Retrieve the singleton instance of the MemberSearchEngine used by JCMS.MetaDataExtractorgetMetaDataExtractor(java.lang.String contentType)Returns a metadata extractor bound to the given contentTypejava.lang.StringgetName()Returns the name of the channelCategoryRightgetNoCategoryRight()Returns the CategoryRight which sets edition of cateogry forbiddenNotificationManagergetNotificationManager()PageResult<Publication>getNotVisibleDBPublicationList(PublicationCriteria pubCriteria)Returns a list publications in the database matching the given criteria and not in a visible state.GroupgetOrganizationRootGroup()Returns the root group of the organization.java.util.List<java.io.File>getOrphanFiles()Returns the files which are not referenced by any JCMS publication.java.util.List<java.io.File>getOrphanFiles(boolean searchInDB)Returns the files which are not referenced by any JCMS publication.java.util.List<java.io.File>getOrphanFiles(java.io.FileFilter filter)Returns the files which are not referenced by any JCMS publication.java.util.List<java.io.File>getOrphanFiles(java.io.FileFilter filter, boolean searchInDB)Returns the files which are not referenced by any JCMS publication.java.util.List<java.lang.String>getOtherLanguageList()Retrieve all the languages of this channel excepted the main language.LangPropertiesgetProperties(java.lang.String prefix)Gets a new LangProperties instance containg all the properties whose name starts with the given prefix.java.lang.StringgetProperty(java.lang.String name)Gets value of a property.java.lang.StringgetProperty(java.lang.String name, java.lang.String defaultValue)Gets the value of a property given its key/name.PublicationgetPublication(java.lang.String id)Returns a publication from its id<T extends Publication>
java.util.TreeSet<T>getPublicationSet(java.lang.Class<T> clazz, Member member)Returns all publications of a given class that can be accessed by a given member and that are in a visible state.<T extends Publication>
java.util.TreeSet<T>getPublicationSet(java.lang.Class<T> clazz, Member member, boolean checkPstatus)Returns all publications of a given class that can be accessed by a given member.<T extends Publication>
java.util.TreeSet<T>getPublicationSet(java.lang.Class<T> clazz, Member member, boolean checkPstatus, Workspace workspace)Returns all publications of a given class that can be accessed by a given member.<T extends Publication>
java.util.TreeSet<T>getPublicationSet(java.lang.Class<T> clazz, Member member, boolean checkPstatus, Workspace workspace, boolean searchDB)java.util.Set<Publication>getPublicationSet(java.util.Set<Publication> publicationSet, Workflow wf)Return a SubSet of all publication using the given workflow<T extends Publication>
java.util.Set<T>getPublicationSet(java.util.Set<T> publicationSet, boolean specialState)Return a SubSet of publication in or not in special state.<T> java.util.Set<T>getPublicationSetFromTitle(java.lang.Class<T> clazz, java.lang.String title)Returns all publications of the given class with title in default site language matching the given title.java.util.Set<Publication>getPublicationSetFromTitle(java.lang.String title)Returns all publications with title in default site language matching the given title.java.util.Set<Publication>getPublicationSetFromTitle(java.lang.String title, boolean searchInDB)java.lang.Class<?>[]getPublicationSuperTypes()Returns the super publication types (i.e.java.util.List<java.lang.Class<? extends Publication>>getPublicationTypeList()Returns all the available publication types (sorted on the main language).java.util.List<java.lang.Class<? extends Publication>>getPublicationTypeList(java.lang.String lang)Retrieves all the available publication types sorted on the given language.java.util.HashSet<Publication>getPublicationWithoutCategories()Returns all the publications without categories in a new HashSet.<T> java.util.ArrayList<java.lang.Class<? extends T>>getPublishableSubTypeList(java.lang.Class<T> clazz, Member member)Returns all the publication types which extends the giving one and that the given member is allowed to publish and that are not abstract.QueryManagergetQueryManager()Retrieve the singleton instance of the QueryManager used by JCMS.java.lang.StringgetRealPath(java.lang.String uri)Retrieves the file system path of the specified uri relative to the webapp root folder.
The returned file path will be in native path format, suitable for use withnew File()constructor.java.lang.StringgetRealPath(java.lang.String constraintDirectory, java.lang.String uri)Retrieves the file system path of the specified uri relative to the webapp root folder.
The returned file path will be in native path format, suitable for use withnew File()constructor.java.util.Set<Category>getRefineRootSet()Returns the categories to used as roots for the refinement.java.lang.StringgetRelativePath(java.io.File file)Retrieves a path relative to the webapp root, from a File instance.
Example: given a File pointing the folder"C:\tomcat\webapps\ROOT\AnyFolder\MyFileOrFolder"returns"AnyFolder/MyFileOrFolder".java.util.HashMap<java.lang.String,java.lang.String>getReverseProxyBaseURLMap()returns the reverseProxyBaseURL mapjava.util.HashMap<java.lang.String,java.lang.String>getReverseProxyContextPathMap()returns the reverseProxyContextPath mapjava.util.HashMap<java.lang.String,java.lang.String>getReverseProxySSLBaseURL()returns the reverseProxySSLBaseURL mapCategorygetRootCategory()Returns the root category using the id specified in the propertychannel.root-categorydefault toj_3.java.util.Set<Category>getRootCategoryAsSet()A convenient method which returns a set containing the root categoryCategoryRightgetRootCategoryRight()Returns the CategoryRight allowing edition of all the cateogryjava.util.Set<Category>getSearchRootSet()Returns the categories to used as root for the search.java.lang.StringgetSecuredBaseUrl(javax.servlet.http.HttpServletRequest request)Returns the base URL of the given request, modifying it according to the fact that SSL is enabled or not.java.lang.StringgetSenderFullEmail()Retrieves the full email address that can be used to send message from JCMS.java.lang.StringgetSenderFullEmail(Publication pub, java.lang.String lang)Deprecated.since JCMS-9, with the removal of Workspace.getEmail(), this method now ALWAYS returns either the channel default email or the default admin email, usegetSenderFullEmail()java.lang.StringgetSenderFullEmail(Workspace ws, Publication pub, java.lang.String lang)Deprecated.since JCMS-9, with the removal of Workspace.getEmail(), this method now ALWAYS returns either the channel default email or the default admin email, usegetSenderFullEmail()java.lang.StringgetSenderFullEmail(Workspace ws, java.lang.String lang)Deprecated.since JCMS-9, with the removal of Workspace.getEmail(), this method now ALWAYS returns either the channel default email or the default admin email, usegetSenderFullEmail()javax.servlet.ServletContextgetServletContext()Returns the ServletContext used for this site.java.util.Map<java.lang.String,java.lang.String>getSortedProperties(java.lang.String prefix)Returns a Map containing all the properties whose name starts with the given prefix sorted by key.java.util.Map<java.lang.String,java.lang.String>getSortedProperties(java.lang.String prefix, boolean trim)Returns a Map containing all the properties whose name starts with the given prefix sorted by key.intgetSSLport()StorablegetStorable(java.lang.String id)Returns a storable from its id.StoregetStore()Returns the store.
Internal, DO NOT use.intgetStoreCreateCount()Deprecated.usegetStoreInfo().getCreateCount()intgetStoreDeleteCount()Deprecated.usegetStoreInfo().getDeleteCount()StoreInfogetStoreInfo()java.util.Map<java.lang.Class<?>,java.util.Set<StoreListener>>getStoreListenerClassMap()Returns the map class/StoreListener.java.util.Set<StoreListener>getStoreListenerSet()Returns the set of StoreListener listening for all data.LoadReportgetStoreLoadReport()Deprecated.usegetStoreInfo().getLoadReport()intgetStoreSize()Deprecated.usegetStoreInfo().getStorableCount()intgetStoreUpdateCount()Deprecated.usegetStoreInfo().getUpdateCount()java.lang.String[]getStringArrayProperty(java.lang.String name, java.lang.String[] defaultValue)Gets the value of a property as a String array.java.util.Map<java.lang.String,java.lang.Object>getSubProperties(java.lang.String prefix)<T> java.util.List<java.lang.Class<? extends T>>getSubTypeList(java.lang.Class<T> clazz)Returns a list of the publication types which extends the giving one.<T> java.util.List<java.lang.Class<? extends T>>getSubTypeList(java.lang.Class<T> clazz, java.lang.String lang)Returns a list of the publication types which extends the giving one.CategorygetTagRoot()Returns the common tag root.CategorygetTagRoot(Workspace ws)Returns the tag root for the given workspace if it exists ; otherwise return the common tag root.java.io.FilegetTempDir()Retrieve the temporary directory which can be used to store temporary files and directory for this Channel instance.TypeFieldEntrygetTypeAbstractFieldEntry(java.lang.Class<?> clazz)Returns theTypeFieldEntryassociated to the abstract (summary) field of the specified type.java.lang.StringgetTypeDescription(java.lang.Class clazz, Workspace workspace, java.lang.String lang)Returns the description of the given type for the given workspace in the given language.java.lang.StringgetTypeDescription(java.lang.Class clazz, java.lang.String lang)Returns the description of the given type (class) in the given language.TypeEntrygetTypeEntry(java.lang.Class<?> clazz)Return the TypeEntry bound to givenClass.TypeEntrygetTypeEntry(java.lang.String className)Return the TypeEntry bound to givenclassName.TypeFieldEntry[]getTypeFieldEntries(java.lang.Class<?> clazz)Return an array ofTypeFieldEntrybound to givenClass.TypeFieldEntry[]getTypeFieldEntries(java.lang.String className)Return an array ofTypeFieldEntrybound to givenClass.TypeFieldEntrygetTypeFieldEntry(java.lang.Class<?> clazz, java.lang.String fieldName)Returns the TypeFieldEntry bound to the given field of the given class.TypeFieldEntrygetTypeFieldEntry(java.lang.Class<?> clazz, java.lang.String fieldName, boolean checkAll)Return theTypeFieldEntryassociated to the givenClassand fieldName.java.lang.StringgetTypeFieldLabel(Data data, java.lang.String fieldName)Returns the localized label of the given field of the given data.java.lang.StringgetTypeFieldLabel(Data data, java.lang.String fieldName, java.lang.String lang)Returns the localized label of the given field of the given data.java.lang.StringgetTypeFieldLabel(java.lang.Class<?> clazz, java.lang.String fieldName)Returns the localized label of the given field of the given class.java.lang.StringgetTypeFieldLabel(java.lang.Class<?> clazz, java.lang.String fieldName, java.lang.String lang)Returns the localized label of the given field of the given class.java.lang.StringgetTypeLabel(java.lang.Class<?> clazz, Workspace workspace, java.lang.String lang)Returns the label of the given type (class) in the given workspace in the given language.java.lang.StringgetTypeLabel(java.lang.Class<?> clazz, java.lang.String lang)Returns the label of the given type (class) in the given language.Channel.TypeLabelComparatorgetTypeLabelComparator(java.lang.String lang)Retrieves a new instance of a TypeLabelComparator which sorts Class using their TypeProcessor label.java.lang.StringgetUploadParentPath()Returns the path of the directoy that contains the upload directory.java.lang.StringgetUploadPath(java.lang.String uri)Retrieves the file system path of the specified uri relative to the upload directory of the webapp (/upload/).
The returned file path will be in native path format, suitable for use withnew File()constructor.java.lang.StringgetUrid()Returns the urid of the channeljava.lang.StringgetUrl()Returns the Url of the channel.java.lang.StringgetUsedLanguage(Data data, java.lang.String fieldName, java.lang.String lang)Retrieve the language code really used if the field of the given publication is requested in the given language.java.util.List<? extends Storable>getVersionList(Data data)Get all the version of a given Data.java.util.List<? extends Storable>getVersionList(java.lang.String id)Get all the version of a Data, given its id.java.util.Set<java.lang.String>getVirtualIDSet(Data data)Returns the set of virtual ID bound to the given data (or null if it does not exist).PageResult<Publication>getVisibleDBPublicationList(PublicationCriteria pubCriteria)Returns a list publications in the database matching the given criteria and in a visible state.int[]getVisiblePstatus()Returns the array of Workflow pstatus visible in FO.java.lang.StringgetWebappPath()Retrieves the file system path of the webapp root.java.lang.StringgetWebInfPath(java.lang.String uri)Retrieves the file system path of the specified uri relative to the directory/WEB-INF/of the webapp.
The returned file path will be in native path format, suitable for use withnew File()constructor.WorkspacegetWorkspace(java.lang.String id)Return a Workspace from its idjava.util.Set<Workspace>getWorkspaceSet(Workflow wf)Return a Set of Workspace that use the given WorkflowWSTypeEntrygetWSTypeEntry(java.lang.Class clazz, Workspace workspace)This method is a substitute of old getTypeEntry(Class) or getTypeEntry(String).WSTypeEntrygetWSTypeEntry(java.lang.String className, Workspace workspace)This method is a substitute of old getTypeEntry(Class) or getTypeEntry(String).java.time.ZoneIdgetZoneId()Retrieve theZoneIdof the Channel.voidhandleDataWriteState(boolean disable, java.lang.String msg, boolean updateProperty)Handle the given data write state and perform the update in properties if needed.voidhandleFinalize()This method is called when the site is restarted or shutdown.voidhandleJcmsDBError(java.lang.String msg, java.lang.Throwable th)This method is called when a fatal error occurs on the JcmsDB.voidhandleStoreError(java.lang.String msg, java.lang.Throwable th)This method is called when a fatal error occurs on the store.protected voidinitAfterLoad()Perform all the initializations after the store has been loaded (called by ChannelInitServlet)protected voidinitAfterStartup()protected voidinitBeforeLoad()Perform all the initializations before the store has been loaded (called by ChannelInitServlet)protected voidinitCollaborativeSpacePluginState()Inits the active state of CollaborativeSpacePlugin.protected voidinitHibernate()protected static voidinitialize(javax.servlet.ServletContext context, java.lang.String logFile, java.lang.String webappPropFile, java.lang.String customPropFile, java.lang.ClassLoader classLoader)Singleton method to Instanciate the channel.voidinitVirtualIDMap()Init the virtual ID map (data, virtual ID).voidinvalidateSearchAndRefineRootSet()Invalidate search and refine root set (they will be computed at the next call).booleanisAuthenticationRequired()Returns true if the authentication is required in this site (use the value of channel.is-authentication-required property)booleanisAvailable()Check if the site is started and ready.protected booleanisCollaborativeSpacePluginActive()Returns the active state of CollaborativeSpacePlugin.booleanisDataWriteEnabled()Checks if data write are enabled (see channel.data-write.enabled property)booleanisDeployManagerEnabled()Returns true if the DeployManager is enabled.booleanisFailSafeMode()booleanisGuestAccountsEnabled()booleanisGzipCompressionEnabled()booleanisIncomingMailEnabled()Deprecated.Since jcms-10.0.5, use MailManager.getInstance().isEnabled() insteadbooleanisJSyncAutoUpdate()booleanisJSyncEnabled()booleanisLdapEnabled()Deprecated.booleanisLoginAccentSensitive()Returns true if login should be treated as accent sensitive (mylogin != mylogìn).booleanisLoginCaseSensitive()Returns true if login should be treated as case sensitive (myLogin != mylogin).booleanisMailEnabled()Deprecated.Since jcms-10.0.5, use MailManager.getInstance().isEnabled() insteadbooleanisMainLanguage(java.lang.String lang)booleanisMainLeader()Return leadership status of JCMS when using in cluster.booleanisMultilingual()booleanisNotificationEnabled()booleanisRegistered(Data data)Checks if the given data is still registered in the Store.booleanisRegistered(java.lang.String id)Checks if the given data is still registered in the Store.booleanisReverseProxyEnabled()Checks if the reverse proxy is enabled.booleanisSSLenabled()booleanisTimeZoneEnabled()Check if use of TimeZone is enable for this site.booleanisUsingAdvancedI18N()Indicates whether JCMS is in advanced internationalization mode.booleanisValidAdminIP(java.lang.String ipAddress)Checks if the specified request is authorized to access admin area.booleanisValidAdminIP(javax.servlet.ServletRequest request)Checks if the specified request is authorized to access admin area.booleanisValidWorkspacesIP(javax.servlet.ServletRequest request)Checks if the specified request is authorized to access workspace area.booleanisWebdavEnabled()Check if Webdav is enablebooleanisWSAttachmentEnabled()Checks if ws attachment is enabled.protected voidloadStore()Load the JCMS store file.voidperformStoreBackup()Perform a backup of the store.java.lang.StringprocessReverseProxyRedirect(javax.servlet.ServletRequest request, java.lang.String url)Check if the given request comes from one of the reverse proxies specified in the configuration (channel.reverse-proxy.conf*).booleanprocessReverseProxyRequest(javax.servlet.ServletRequest request)Check if the given request comes from one of the reverse proxies specified in the configuration (channel.reverse-proxy.conf*).voidpropertiesChange(JProperties p)This methods triggers re-initialization of all the managers/parameters of this JCMS site, only those that can be reinitialized without a restart.
It is the method to support implementation of the JPropertiesListener and is called after a change of the properties.QueryResultSetquery(QueryHandler qh, javax.servlet.ServletRequest request, java.util.Set<? extends Publication> proposedDataSet)Perform a query using parameters specified in the givenQueryHandler.voidreloadLanguageProperties()Reload languages properties of JCMS (WEB-INF/jalios/languages/{lang}.prop) and its plugin.voidreloadProperties()Reload all properties and notify all JPropertiesListener.voidremoveAuthenticationHandler(AuthenticationHandler authHandler)Remove the specifiedAuthenticationHandlerfrom the list of AuthenticationHandlers used by the AuthenticationManager to process users' authentication.voidremoveChannelListener(ChannelListener listener)Removes a ChannelListener.voidremoveCleanFilter(CustomCleanFilter filter)Removes a custom clean filter.voidremoveDataController(DataController dc, java.lang.Class<?> clazz)Remove the given DataControllervoidremoveDBListener(DBListener listener)Remove a DBListener.voidremoveDBListener(DBListener listener, java.lang.Class<?> clazz)Remove a DBListener.voidremoveJSyncListener(JSyncListener listener)Removes a JSyncListener.static voidremoveMultipleLaunchCheck()Remove the property used to check that the current site has not been started multiple times.voidremovePropertiesListener(JPropertiesListener listener)Removes a properties listener.voidremoveQueryFilter(QueryFilter qf)Remove the givenQueryFilterfrom the list of QueryFilters used by the QueryManager (getQueryManager()).voidremoveStoreListener(StoreListener listener)Removes a StoreListener for all storable classes.voidremoveStoreListener(StoreListener listener, java.lang.Class<?> clazz)Removes a StoreListener associated to a given class.voidrestart()Restarts the channel.<T> java.util.TreeSet<T>select(java.util.Collection<? extends T> dataColl, DataSelector selector, java.util.Comparator comparator)Perform a selection on aCollectionofDatausing the givenDataSelector, and return a TreeSet sorted using the givenComparator.voidsetAvailable(boolean isAvailable)Enable or disable the site.voidsetCurrentRequestAttribute(java.lang.String name, java.lang.Object value)Sets the given request attribute with the given valuevoidsetCurrentServletRequest(javax.servlet.http.HttpServletRequest request)Assigns the current servlet request.voidsetCurrentServletResponse(javax.servlet.http.HttpServletResponse response)Assigns the current servlet response.voidsetProperty(java.lang.String name, java.lang.String value)Modify an internal property with the given value.
Do not change any JCMS property at runtime, behaviour of JCMS maybe incorrect if you do so, use the user interface for such task.booleansupportFlowChartBackwardCompatibility()Check if backward compatibility with legacy FlowChart plugin should be supported.booleansupportFlowChartBackwardCompatibilityForDBMemberManager()Check if support for flowchart backward compatibility is enabled and required to handle DB Members' manager.java.lang.StringtoString()voidupdateAndSaveProperties(JProperties prop)Updates and save specified properties.voidupdateAndSaveProperties(JProperties prop, boolean notifyListener)Updates and saves specified properties.protected voidupdateClass2DataSet(Data data, boolean add)This methods is called by a DataListener when a Data is updated or created to update the map which link Class to Set of Data.voidupdateData(Data updated, Member opAuthor)Updates a data in the store.booleanuseLegacyJavaxMail()
-
-
-
Field Detail
-
context
protected javax.servlet.ServletContext context
-
classLoader
protected java.lang.ClassLoader classLoader
-
jcmsInfo
protected JcmsInfo jcmsInfo
-
name
protected java.lang.String name
-
appServerInfo
protected AppServerInfo appServerInfo
-
isAvailable
protected boolean isAvailable
-
urid
protected java.lang.String urid
-
url
protected java.lang.String url
-
securedUrl
protected java.lang.String securedUrl
-
uri
protected java.lang.String uri
-
store
protected Store store
-
storeInfo
protected StoreInfo storeInfo
-
language
protected java.lang.String language
-
defaultLanguage
protected java.lang.String defaultLanguage
-
country
protected java.lang.String country
-
locale
protected java.util.Locale locale
-
zoneId
protected java.time.ZoneId zoneId
-
isTimeZoneEnabled
protected java.lang.Boolean isTimeZoneEnabled
-
dateTimeFormat
protected java.text.SimpleDateFormat dateTimeFormat
-
dateFormat
protected java.text.SimpleDateFormat dateFormat
-
defaultGroup
protected Group defaultGroup
-
organizationRootGroup
protected Group organizationRootGroup
-
defaultAdmin
protected Member defaultAdmin
-
defaultWorkspace
protected Workspace defaultWorkspace
-
defaultEmail
protected java.lang.String defaultEmail
-
realPathLength
protected int realPathLength
-
contextRootRealPath
protected java.lang.String contextRootRealPath
-
webappDir
protected java.io.File webappDir
-
propMgr
protected PropertyManager propMgr
-
alarmManagerMap
protected java.util.Map<java.lang.String,AlarmManager> alarmManagerMap
-
cacheManager
protected CacheManager cacheManager
-
typeProcessor
protected TypeProcessor typeProcessor
-
adminIpPattern
protected org.apache.oro.text.regex.Pattern adminIpPattern
-
adminIpNoPattern
protected boolean adminIpNoPattern
-
workspacesIpPattern
protected org.apache.oro.text.regex.Pattern workspacesIpPattern
-
workspacesIpNoPattern
protected boolean workspacesIpNoPattern
-
isDataWriteEnabled
protected boolean isDataWriteEnabled
-
isDataWriteEnabledComputed
protected boolean isDataWriteEnabledComputed
-
isAttachWSEnabled
protected boolean isAttachWSEnabled
-
isAttachWSEnabledComputed
protected boolean isAttachWSEnabledComputed
-
isWebdavEnable
protected boolean isWebdavEnable
-
isWebdavEnableComputed
protected boolean isWebdavEnableComputed
-
isGzipCompressionEnabled
protected boolean isGzipCompressionEnabled
-
isDeployManagerEnabled
protected boolean isDeployManagerEnabled
-
webdavEncoding
protected java.lang.String webdavEncoding
-
currentServletRequest
protected java.lang.ThreadLocal<javax.servlet.http.HttpServletRequest> currentServletRequest
-
currentServletResponse
protected java.lang.ThreadLocal<javax.servlet.http.HttpServletResponse> currentServletResponse
-
nlAlarmEntry
protected AlarmEntry nlAlarmEntry
-
storeBackupDir
protected java.io.File storeBackupDir
-
storeBackupMax
protected int storeBackupMax
-
httpHeaderMap
protected java.util.Map<java.lang.String,java.lang.String> httpHeaderMap
-
httpHeaderExcludedSet
protected java.util.Set<java.lang.String> httpHeaderExcludedSet
-
globalHttpHeaderMap
protected java.util.Map<java.lang.String,java.lang.String> globalHttpHeaderMap
-
globalHttpHeaderExcludedSet
protected java.util.Set<java.lang.String> globalHttpHeaderExcludedSet
-
isReverseProxyEnabled
protected boolean isReverseProxyEnabled
-
ipToReverseProxyConfNameMap
protected java.util.HashMap<java.lang.String,java.lang.String> ipToReverseProxyConfNameMap
-
reverseProxyContextPath
protected java.util.HashMap<java.lang.String,java.lang.String> reverseProxyContextPath
-
reverseProxyBaseURL
protected java.util.HashMap<java.lang.String,java.lang.String> reverseProxyBaseURL
-
reverseProxySSLBaseURL
protected java.util.HashMap<java.lang.String,java.lang.String> reverseProxySSLBaseURL
-
authMgr
protected AuthenticationManager authMgr
-
notificationManager
protected NotificationManager notificationManager
-
isNotificationEnabled
protected boolean isNotificationEnabled
-
isIncomingMailEnabled
@Deprecated protected boolean isIncomingMailEnabled
Deprecated.the MailManager.isIncomingMailEnabled should be used instead
-
isSSLenabled
protected static boolean isSSLenabled
-
SSLport
protected static int SSLport
-
limitController
protected LimitController limitController
-
jsyncReplica
protected JSyncReplica jsyncReplica
-
jsyncEnabled
protected boolean jsyncEnabled
-
jsyncReplicaUrl
protected java.lang.String jsyncReplicaUrl
-
jsyncLeaderUrl
protected java.lang.String jsyncLeaderUrl
-
jsyncHasLeader
protected boolean jsyncHasLeader
-
jsyncUpdateMode
protected java.lang.String jsyncUpdateMode
-
jsyncStabDelay
protected long jsyncStabDelay
-
jsyncAutoUpdate
protected boolean jsyncAutoUpdate
-
jsyncSyncFiles
protected boolean jsyncSyncFiles
-
jsyncDownloadInterval
protected long jsyncDownloadInterval
-
jsyncIpPattern
protected org.apache.oro.text.regex.Pattern jsyncIpPattern
-
jsyncSuggestJoin
protected boolean jsyncSuggestJoin
-
jsyncExplicitReplicaList
protected java.util.List<java.lang.String> jsyncExplicitReplicaList
-
jsyncRequestTimeout
protected int jsyncRequestTimeout
-
jsyncUpdateRequestTimeout
protected int jsyncUpdateRequestTimeout
-
jsyncPartialUpdateInterval
protected int jsyncPartialUpdateInterval
-
lim
protected LinkIndexManager lim
-
fim
protected FileIndexManager fim
-
dataListener
protected DataListener dataListener
-
pubListener
protected PublicationListener pubListener
-
channelListenerSet
protected java.util.TreeSet<ChannelListener> channelListenerSet
-
class2dataSet
protected java.util.Map<java.lang.Class<? extends Data>,java.util.Set<Data>> class2dataSet
-
rootCategory
protected Category rootCategory
-
tagRoot
protected Category tagRoot
-
rootCategoryAsSet
protected java.util.Set<Category> rootCategoryAsSet
-
searchRootSet
protected java.util.Set<Category> searchRootSet
-
refineRootSet
protected java.util.Set<Category> refineRootSet
-
advRefineRootSet
protected java.util.Set<Category> advRefineRootSet
-
coreTypeList
protected java.util.ArrayList<java.lang.Class<? extends Publication>> coreTypeList
-
publicationTypeMap
protected java.util.Map<java.lang.String,java.util.List<java.lang.Class<? extends Publication>>> publicationTypeMap
-
defaultQueryTypes
protected java.lang.String[] defaultQueryTypes
-
defaultQueryTypesOff
protected java.lang.String[] defaultQueryTypesOff
-
rootCategoryRight
protected CategoryRight rootCategoryRight
-
noCategoryRight
protected CategoryRight noCategoryRight
-
pubWithoutCategories
protected java.util.Set<Publication> pubWithoutCategories
-
virtualIDMap
protected java.util.HashMap<java.lang.String,java.util.Set<java.lang.String>> virtualIDMap
-
allTypeFieldEntriesCacheMap
protected java.util.HashMap<java.lang.Class<?>,java.util.Map<java.lang.String,TypeFieldEntry>> allTypeFieldEntriesCacheMap
-
exactTypeFieldEntriesCacheMap
protected java.util.HashMap<java.lang.Class<?>,java.util.Map<java.lang.String,TypeFieldEntry>> exactTypeFieldEntriesCacheMap
-
dataControllerMap
protected java.util.HashMap<java.lang.Class<?>,java.util.Set<DataController>> dataControllerMap
-
queryMgr
protected QueryManager queryMgr
-
mbrSearchEngine
protected LuceneMemberSearchEngine mbrSearchEngine
-
cleanFilterList
protected java.util.List<CustomCleanFilter> cleanFilterList
-
publicationSuperTypes
protected java.lang.Class<?>[] publicationSuperTypes
-
isUsingAdvancedI18N
protected boolean isUsingAdvancedI18N
-
rightToLeftLanguageSet
protected java.util.HashSet<java.lang.String> rightToLeftLanguageSet
-
channel
protected static Channel channel
-
-
Method Detail
-
removeMultipleLaunchCheck
public static void removeMultipleLaunchCheck()
Remove the property used to check that the current site has not been started multiple times.
-
reloadLanguageProperties
public void reloadLanguageProperties() throws java.io.IOExceptionReload languages properties of JCMS (WEB-INF/jalios/languages/{lang}.prop) and its plugin.- Throws:
java.io.IOException- If an error occurs
-
reloadProperties
public void reloadProperties()
Reload all properties and notify all JPropertiesListener.- Since:
- jcms-9.0.0
-
getCustomPropFilePath
public java.lang.String getCustomPropFilePath()
Returns the file path of the custom.prop file.- Returns:
- the file path of the custom.prop file.
- Since:
- jcms-10.0.0
-
getChannel
public static Channel getChannel()
Singleton Method to get the channel- Returns:
- The Channel Singleton
-
initialize
protected static void initialize(javax.servlet.ServletContext context, java.lang.String logFile, java.lang.String webappPropFile, java.lang.String customPropFile, java.lang.ClassLoader classLoader) throws java.lang.ExceptionSingleton method to Instanciate the channel.
You do not need to call this method which is called automatically on startup by the servlet ChannelInitServlet declared in web.xml.- Parameters:
context- the ServletContextlogFile- the relative file path of the logwebappPropFile- the relative file path of the webapp.prop propertiescustomPropFile- the relative file path of the webapp.prop propertiesclassLoader- the web-app ClassLoader- Throws:
java.lang.Exception- If an error occurs
-
destroy
protected static void destroy()
Singleton Method to finalize and destroy the channel.
-
finalize
protected void finalize() throws java.lang.ThrowableHandles the finalize invocation- Overrides:
finalizein classjava.lang.Object- Throws:
java.lang.Throwable- Since:
- jcms-2.1
-
fireChannelFinalize
public void fireChannelFinalize()
Call methodChannelListener.handleFinalize()of every registeredChannelListener.
This methods is called when the site is restarted or shutdown. You MUST NOT call this method.- Since:
- jcms-2.1
- See Also:
addChannelListener(ChannelListener),removeChannelListener(ChannelListener)
-
handleFinalize
public void handleFinalize()
This method is called when the site is restarted or shutdown.- Since:
- jcms-2.1
- See Also:
ChannelListener
-
initHibernate
protected void initHibernate() throws java.lang.Exception- Throws:
java.lang.Exception
-
initBeforeLoad
protected void initBeforeLoad() throws java.lang.ExceptionPerform all the initializations before the store has been loaded (called by ChannelInitServlet)- Throws:
java.lang.Exception- If an error occurs- Since:
- jcms-5.0.3
-
loadStore
protected void loadStore() throws LogExceptionLoad the JCMS store file.- Throws:
LogException- If an error occurs
-
initAfterLoad
protected void initAfterLoad() throws java.lang.ExceptionPerform all the initializations after the store has been loaded (called by ChannelInitServlet)- Throws:
java.lang.Exception- If an error occurs- Since:
- jcms-2.1
-
initAfterStartup
protected void initAfterStartup()
-
propertiesChange
public void propertiesChange(JProperties p)
This methods triggers re-initialization of all the managers/parameters of this JCMS site, only those that can be reinitialized without a restart.
It is the method to support implementation of the JPropertiesListener and is called after a change of the properties.- Specified by:
propertiesChangein interfaceJPropertiesListener- Parameters:
p- the properties which have been submitted to change
-
getAppServerInfo
public AppServerInfo getAppServerInfo()
Return the AppServerInfo instance (a singleton) which describe the underlying application server.- Returns:
- a AppServerInfo singleton instance
- Since:
- jcms-4.0
-
isReverseProxyEnabled
public boolean isReverseProxyEnabled()
Checks if the reverse proxy is enabled.- Returns:
- true if the reverse proxy is enabled false otherwise.
- Since:
- jcms-5.5.0
-
getReverseProxyBaseURLMap
public java.util.HashMap<java.lang.String,java.lang.String> getReverseProxyBaseURLMap()
returns the reverseProxyBaseURL map- Returns:
- the reverseProxyBaseURL map
- Since:
- jcms-10.0.7
-
getReverseProxySSLBaseURL
public java.util.HashMap<java.lang.String,java.lang.String> getReverseProxySSLBaseURL()
returns the reverseProxySSLBaseURL map- Returns:
- the reverseProxySSLBaseURL map
- Since:
- jcms-10.0.7
-
getReverseProxyContextPathMap
public java.util.HashMap<java.lang.String,java.lang.String> getReverseProxyContextPathMap()
returns the reverseProxyContextPath map- Returns:
- the reverseProxyContextPath map
- Since:
- jcms-10.0.7
-
processReverseProxyRequest
public boolean processReverseProxyRequest(javax.servlet.ServletRequest request)
Check if the given request comes from one of the reverse proxies specified in the configuration (channel.reverse-proxy.conf*).
If the request is a proxy request, then the following attributes are added to the request:- contextPath
- baseUrl
- securedBaseUrl
Those attributes are used by ServletUtil methods to properly initialize the corresponding value in doInitPage. (Thus this method must be called early in doInitPage.jsp).- Parameters:
request- the current request- Returns:
- true if the request comes from the reverse proxy and that attributes were added to the request
- Since:
- jcms-5.5.0
-
processReverseProxyRedirect
public java.lang.String processReverseProxyRedirect(javax.servlet.ServletRequest request, java.lang.String url)Check if the given request comes from one of the reverse proxies specified in the configuration (channel.reverse-proxy.conf*).
If the request is a proxy request, then make sure the given url is always an absolute url to prevent rewriting problem in apache when url are relative, such as "/index.jsp", when path is different on the reverse proxy and in tomcat.- Parameters:
request- the current requesturl- the URL to be modified with reverse proxy settings- Returns:
- the modified url.
- Since:
- jcms-5.6.2
-
isDeployManagerEnabled
public boolean isDeployManagerEnabled()
Returns true if the DeployManager is enabled.- Returns:
- true if the DeployManager is enabled.
- Since:
- jcms-5.6.2
-
getLimitController
public LimitController getLimitController()
Returns the LimitController which is in charge to validate license limitations of JCMS.- Returns:
- the LimitController.
- Since:
- jcms-5.5.0
-
isJSyncEnabled
public boolean isJSyncEnabled()
- Returns:
- true if JSync is enabled
- Since:
- jcms-4.1
-
isMainLeader
public boolean isMainLeader()
Return leadership status of JCMS when using in cluster. You should use this method in Listener to prevent some actions to be triggered on all replicas (for example, sending mail) but instead only on the main leader.- Returns:
- true if this instance of JCMS is either: - not in cluster - or a replica super leader
- Since:
- jcms-5.0.1
-
getJSyncReplica
public JSyncReplica getJSyncReplica()
- Returns:
- the JSyncReplica singleton
- Since:
- jcms-4.1
-
getJSyncReplicaUrl
public java.lang.String getJSyncReplicaUrl()
- Returns:
- the url of this replica
- Since:
- jcms-4.1
-
getJSyncLeaderUrl
public java.lang.String getJSyncLeaderUrl()
- Returns:
- the url of the JSync leader
- Since:
- jcms-4.1
-
isJSyncAutoUpdate
public boolean isJSyncAutoUpdate()
- Returns:
- true if JSync update mode is set to auto
- Since:
- jcms-4.1
-
getJSyncStabDelay
public long getJSyncStabDelay()
- Returns:
- the delay of stablization for auto update mode
- Since:
- jcms-4.1
-
getJSyncIpPattern
public org.apache.oro.text.regex.Pattern getJSyncIpPattern()
- Returns:
- the pattern to be used to check remote IP
- Since:
- jcms-4.1
-
isGzipCompressionEnabled
public boolean isGzipCompressionEnabled()
- Returns:
- true if the gzip compression is enabled, false otherwise.
- Since:
- jcms-4.1.1
-
isNotificationEnabled
public boolean isNotificationEnabled()
- Returns:
- true if Notification is enabled, false otherwise
-
getNotificationManager
public NotificationManager getNotificationManager()
- Returns:
- the NotificationManager.
-
useLegacyJavaxMail
public boolean useLegacyJavaxMail()
-
isMailEnabled
public boolean isMailEnabled()
Deprecated.Since jcms-10.0.5, use MailManager.getInstance().isEnabled() instead- Returns:
- true if Mail is enabled, false otherwise
- Since:
- jcms-5.5.0
-
isIncomingMailEnabled
public boolean isIncomingMailEnabled()
Deprecated.Since jcms-10.0.5, use MailManager.getInstance().isEnabled() insteadChecks if site incoming mail is enabled (seemail.incoming.enabledproperty)- Returns:
- true if site incoming mail is enabled
- Since:
- jcms-9.0.0
-
getLinkIndexManager
public LinkIndexManager getLinkIndexManager()
Return theLinkIndexManagersingleton instance which manages Data's links on each other.- Returns:
- the LinkIndexManager singleton
-
getLinkIndexedDataSet
public <T> java.util.TreeSet<T> getLinkIndexedDataSet(Data data, java.lang.Class<T> clazz)
Returns the Set of Data of the given Class, referring the given data.
CAUTION: returns all the data whatever their rights and their state. CAUTION: returns an internal Set, DO NOT alter this Set, clone prior modification.- Type Parameters:
T- any object type (usually something extending Data)- Parameters:
data- the dataclazz- the class to search the referring instances- Returns:
- a immutable TreeSet of Data
- Since:
- jcms-3.0
-
getLinkIndexedDataSet
public <T> java.util.TreeSet<T> getLinkIndexedDataSet(Data data, java.lang.Class<T> clazz, java.lang.String field)
Returns the Set of Data of the given Class, referring the given data with the given field.
CAUTION: returns all the data whatever their rights and their state. CAUTION: returns an internal Set, DO NOT alter this Set, clone prior modification.- Type Parameters:
T- any object type (usually something extending Data)- Parameters:
data- the dataclazz- the class to search the referring instancesfield- the name of the field which contains the reference- Returns:
- a TreeSet of Data
- Since:
- jcms-4.0.2
-
getLinkCount
public int getLinkCount(Data data)
Returns the number of instances of Data referring the given Data- Parameters:
data- the data for which we want to retrieve link count- Returns:
- the number of instances of Data referring this data
- Since:
- jcms-3.0
-
getFileIndexManager
public FileIndexManager getFileIndexManager()
Return theFileIndexManagersingleton instance which manages Data's links to filename.
It is used to check access rights of a given file (using its access filename) when accessing file using- Returns:
- the FileIndexManager singleton
- Since:
- jcms-3.0
-
getCleanFilename
public java.lang.String getCleanFilename(java.lang.String filename)
Clean the given filename.
For example:///upload%2Fmydir///private.%70df -> upload/mydir/private.pdf- Parameters:
filename- the URI to be decoded, converted to a valid path relative to the webapp- Returns:
- the cleaned filename
- Since:
- jcms-4.0
-
getFileIndexedDataSet
public java.util.TreeSet<Data> getFileIndexedDataSet(java.lang.String filename)
Returns the set of data bound to the given filename.- Parameters:
filename- a relative filename ("upload/...").- Returns:
- a set of Data
- Since:
- jcms-3.0
-
canMemberAccessFile
public boolean canMemberAccessFile(java.lang.String filename, Member member)Check if the given member can access the given file (dangling documents are checked, see checkMemberAccessFile()).- Parameters:
filename- the filename to be checkedmember- the member- Returns:
- true if member can access to this file
- Since:
- jcms-3.0
- See Also:
checkMemberAccessFile(String, Member, Set)
-
checkMemberAccessFile
public int checkMemberAccessFile(java.lang.String filename, Member member, java.util.Set<java.lang.String> authorizedFilenames)Check the access mode the given member has for the given file- Parameters:
filename- the filename to be checkedmember- the memberauthorizedFilenames- Set of filename authorized, placed in session while executing version.jsp- Returns:
- one of the JcmsConstants
PRIVATE_FILE_ACCESS,PUBLIC_FILE_ACCESS,FORBIDDEN_FILE_ACCESS - Since:
- jcms-6.1.0
- See Also:
canMemberAccessFile(String, com.jalios.jcms.Member)
-
getOrphanFiles
public java.util.List<java.io.File> getOrphanFiles()
Returns the files which are not referenced by any JCMS publication.- Returns:
- a list of java.io.File
- Since:
- jcms-6.2.0
-
getOrphanFiles
public java.util.List<java.io.File> getOrphanFiles(boolean searchInDB)
Returns the files which are not referenced by any JCMS publication.- Parameters:
searchInDB- if true extends the search to the database- Returns:
- a list of java.io.File
- Since:
- jcms-6.2.0
-
getOrphanFiles
public java.util.List<java.io.File> getOrphanFiles(java.io.FileFilter filter)
Returns the files which are not referenced by any JCMS publication. Technical files such as thumbnails and PDF generated with JCMS Universal are skipped.- Parameters:
filter- the FileFilter to use (may be null)- Returns:
- a list of java.io.File
- Since:
- jcms-5.5.0
-
getOrphanFiles
public java.util.List<java.io.File> getOrphanFiles(java.io.FileFilter filter, boolean searchInDB)Returns the files which are not referenced by any JCMS publication. Technical files such as thumbnails and PDF generated with JCMS Universal are skipped.- Parameters:
filter- the FileFilter to use (may be null)searchInDB- true if file search should also be performed for DBFileDocument, false otherwise- Returns:
- a list of java.io.File
- Since:
- jcms-5.5.0
-
isSSLenabled
public final boolean isSSLenabled()
- Returns:
- true if SSL is enabled, false otherwise
- Since:
- jcms-5.0.0
-
getSSLport
public final int getSSLport()
- Returns:
- the SSL port used for authentication
- Since:
- jcms-5.0.0
-
getSecuredBaseUrl
public final java.lang.String getSecuredBaseUrl(javax.servlet.http.HttpServletRequest request)
Returns the base URL of the given request, modifying it according to the fact that SSL is enabled or not. For example, if the request url is http://mysite.com:8080/dir/webapp/subdir/my.jsp?param=value If SSL is enabled with port 8443, it will return: https://mysite.com:8443/dir/webapp/ otherwise: http://mysite.com:8080/dir/webapp/ Note the trailing slash. Similar to ServletUtil.getBaseUrl(). Used by login forms (doPortletLoginFullDisplay.jsp, login jsp, privateLogin jsp, ...)- Parameters:
request- the request- Returns:
- the possibly secured base URL of the request
- Since:
- jcms-5.0.0
-
getLDAPConfiguration
public LDAPConfiguration getLDAPConfiguration()
Deprecated.Returns the default LDAPConfiguration used by JCMS which you can give toLDAPMapper(LDAPConfiguration)to connect to your LDAP server.- Returns:
- the current LDAPConfiguration used by JCMS
- Since:
- jcms-5.5.0
-
isLdapEnabled
public boolean isLdapEnabled()
Deprecated.- Returns:
- true if LDAP directory is enabled, false otherwise
- Since:
- jcms-4.0
-
getLDAPConfigurationFromLogin
public LDAPConfiguration getLDAPConfigurationFromLogin(java.lang.String login)
Deprecated.Retrieve the LDAPConfiguration to use based on the specified login.If the specified login is a mail, a Windows UPN (User Principal Name) format, or a down-level windows logon format (DOMAIN\sAMAccountName), the domain part is extracted and the LDAP configuration will be read from properties
ldap.server.{DOMAIN}.*(if available) instead of the defaultldap.server.*properties.
Configuration alias can also be defined with propertyldap.conf-aliases.{domain}: confnameallowing several domain to match on LDAP configuration.- Parameters:
login- the login used to determine which configuration to use- Returns:
- a LDAPConfiguration, never return null (default to
getLDAPConfiguration(). - Since:
- jcms-8.0.0
-
getLDAPConfigurationFromDomain
public LDAPConfiguration getLDAPConfigurationFromDomain(java.lang.String domain)
Deprecated.Retrieve the LDAPConfiguration for the specific domain.- Parameters:
domain- an optional configuration name or alias, as declared in ldap configuration propertiesldap.server.{domain}.*or through LDAP configuration alias declared in propertyldap.conf-aliases.{domain}: confname- Returns:
- an instance of LDAPConfiguration, never return null (default to
getLDAPConfiguration()) - Since:
- jcms-8.0.0
-
getLDAPConfigurationFromDN
public LDAPConfiguration getLDAPConfigurationFromDN(java.lang.String dn)
Deprecated.Retrieve the LDAPConfiguration for the specific DN.Look for the first LDAPConfiguration which has a matching baseDN, tested on both user base DN (
LDAPConfiguration.getSuffix()) and group base DN (LDAPConfiguration.getGroupSuffix()).- Parameters:
dn- an LDAP distinguish name- Returns:
- an instance of LDAPConfiguration, never return null (default to
getLDAPConfiguration()) - Since:
- jcms-8.0.0
-
getAuthMgr
public AuthenticationManager getAuthMgr()
Returns the current AuthenticationManager instance used by JCMS to authenticate members into JCMS.- Returns:
- the AuthenticationManager singleton.
-
isAuthenticationRequired
public boolean isAuthenticationRequired()
Returns true if the authentication is required in this site (use the value of channel.is-authentication-required property)- Returns:
- true if authentication is required for JCMS acces, false otherwise.
-
isLoginCaseSensitive
public boolean isLoginCaseSensitive()
Returns true if login should be treated as case sensitive (myLogin != mylogin). Defined by value of propertychannel.login-casesensitive.- Returns:
- true if login is accent sensitive
- Since:
- jcms-4.0.2
- See Also:
AuthenticationManager.isLoginCaseSensitive()
-
isLoginAccentSensitive
public boolean isLoginAccentSensitive()
Returns true if login should be treated as accent sensitive (mylogin != mylogìn). Defined by value of propertychannel.login-accentsensitive.- Returns:
- true if login is sensitive to accent (ie diacritics)
- Since:
- jcms-8.0.2
- See Also:
AuthenticationManager.isLoginAccentSensitive()
-
getCacheManager
public CacheManager getCacheManager()
- Returns:
- the CacheManager
- Since:
- jcms-3.0
-
getAlarmManager
public AlarmManager getAlarmManager(java.lang.String name)
Returns the AlarmManager associated to the given name. If it does not exist, a new AlarmManager is created. This method should only be used if all the alarms of the alarm manager must be homogeneous so that they can be listed (AlarmManager.getAllAlarms()) or removed (AlarmManager.removeAllAlarms()).- Parameters:
name- the name of the AlarmManager.- Returns:
- an AlarmManager.
- See Also:
getCommonAlarmManager()
-
getCommonAlarmManager
public AlarmManager getCommonAlarmManager()
Returns the common AlarmManager. The common AlarmManager should be preferred if the methods (AlarmManager.getAllAlarms()) and (AlarmManager.removeAllAlarms()have not to be called.- Returns:
- the common AlarmManager.
- Since:
- jcms-5.5.0
- See Also:
getAlarmManager(String)
-
getAllAlarmManager
public java.util.Map<java.lang.String,AlarmManager> getAllAlarmManager()
Returns All alarmManager present in the channel- Returns:
- the Map of
AlarmManagerwith the name as key
-
getServletContext
public javax.servlet.ServletContext getServletContext()
Returns the ServletContext used for this site.
This is the ServletContext that was used to initialized this Channel.- Returns:
- the ServletContext
- Since:
- jcms-3.0
-
getRealPath
public java.lang.String getRealPath(java.lang.String uri)
Retrieves the file system path of the specified uri relative to the webapp root folder.
The returned file path will be in native path format, suitable for use withnew File()constructor.String realFilePath = channel.getRealPath("/upload/myfile.txt"); File myFile = new File(realFilePath);- Parameters:
uri- a path relative to the webapp root (with or without starting slash). e.g"/upload/somefile.txt","WEB-INF/data/somefolder"- Returns:
- an absolute file system path, e.g.
"C:\tomcat\webapps\jcms\WEB-INF\data\somefolder".
Returnsnullif uri isnull.
-
getRealPath
public java.lang.String getRealPath(java.lang.String constraintDirectory, java.lang.String uri)Retrieves the file system path of the specified uri relative to the webapp root folder.
The returned file path will be in native path format, suitable for use withnew File()constructor. The returned file is guaranteed to belong to the constraint directory, otherwise null is returned.String realFilePath = channel.getRealPath("/upload", "/upload/myfile.txt"); File myFile = new File(realFilePath); String evilFilePath = channel.getRealPath("/upload", "/upload/../myfile.txt"); // evilFilePath == null- Parameters:
constraintDirectory- a directory path relative to the webapp root (with or without starting slash) in which the specified uri MUST belong to be accepted. webapp root directory is used if null is specified
e.g"/upload/","WEB-INF/data/"uri- a path relative to the webapp root (with or without starting slash).
e.g"upload/docs/somefile.txt","/WEB-INF/data/custom.prop"- Returns:
- an absolute file system path, e.g.
"C:\tomcat\webapps\jcms\WEB-INF\data\somefolder".
Returnsnullif uri is outsideconstraintDirectory.
Returnsnullif uri isnull. - Since:
- jcms-10.0.4
-
getWebappPath
public java.lang.String getWebappPath()
Retrieves the file system path of the webapp root.- Returns:
- the path of the root of the webapp. e.g
"C:\tomcat\webapps\jcms\". - Since:
- jcms-5.7.3
-
getWebInfPath
public java.lang.String getWebInfPath(java.lang.String uri)
Retrieves the file system path of the specified uri relative to the directory/WEB-INF/of the webapp.
The returned file path will be in native path format, suitable for use withnew File()constructor.String webXmlPath = channel.getWebInfPath("web.xml"); File webXmlFile = new File(webXmlPath);- Parameters:
uri- a path relative to the/WEB-INF/directory (with or without starting slash). e.g"web.xml"- Returns:
- an absolute file system path, e.g.
"C:\tomcat\webapps\jcms\WEB-INF\web.xml"..
Returns null if specified uri is null or invalid. - See Also:
getRealPath(String)
-
getDataPath
public java.lang.String getDataPath(java.lang.String uri)
Retrieves the file system path of the specified uri relative to the directory/WEB-INF/data/of the webapp.
The returned file path will be in native path format, suitable for use withnew File()constructor.String statusPropPath = channel.getDataPath("status.prop"); File statusPropFile = new File(statusPropPath);- Parameters:
uri- a path relative to the/WEB-INF/data/directory (with or without starting slash). e.g"status.prop"- Returns:
- an absolute file system path, e.g.
"C:\tomcat\webapps\jcms\WEB-INF\data\status.prop"..
Returns null if specified uri is null or invalid. - See Also:
getRealPath(String)
-
getLucenePath
public java.lang.String getLucenePath(java.lang.String uri)
Retrieves the file system path of the specified uri relative to the directory/WEB-INF/data/lucene/of the webapp.
The returned file path will be in native path format, suitable for use withnew File()constructor.String fileIndexPath = channel.getLucenePath("FilesIndex"); File fileIndexFile = new File(fileIndexPath);- Parameters:
uri- a path relative to the/WEB-INF/data/lucene/directory (with or without starting slash). e.g"FilesIndex"- Returns:
- an absolute file system path, e.g.
"C:\tomcat\webapps\jcms\WEB-INF\data\lucene\FilesIndex\"..
Returns null if specified uri is null or invalid. - Since:
- jcms-5.5.0
- See Also:
getRealPath(String)
-
getJaliosPath
public java.lang.String getJaliosPath(java.lang.String uri)
Retrieves the file system path of the specified uri relative to the directory/WEB-INF/jalios/of the webapp.
The returned file path will be in native path format, suitable for use withnew File()constructor.String jcmsPropPath = channel.getJaliosPath("jcms.prop"); File jcmsPropFile = new File(jcmsPropPath);- Parameters:
uri- a path relative to the/WEB-INF/jalios/directory (with or without starting slash). e.g"jcms.prop"- Returns:
- an absolute file system path, e.g.
"C:\tomcat\webapps\jcms\WEB-INF\jalios\jcms.prop"..
Returns null if specified uri is null or invalid. - Since:
- jcms-3.0
- See Also:
getRealPath(String)
-
getJcmsWorkPath
public java.lang.String getJcmsWorkPath(java.lang.String uri)
Retrieves the file system path of the specified uri relative to the directory/WEB-INF/jcmswork/of the webapp.
The returned file path will be in native path format, suitable for use withnew File()constructor.String myLockFilePath = channel.getJcmsWorkPath("myfile.lock"); File myLockFile = new File(myLockFilePath);- Parameters:
uri- a path relative to the/WEB-INF/jcmswork/directory (with or without starting slash). e.g"myfile.lock"- Returns:
- an absolute file system path, e.g.
"C:\tomcat\webapps\jcms\WEB-INF\jcmswork\myfile.lock"..
Returns null if specified uri is null or invalid. - Since:
- jcms-3.0
- See Also:
getRealPath(String)
-
getUploadPath
public java.lang.String getUploadPath(java.lang.String uri)
Retrieves the file system path of the specified uri relative to the upload directory of the webapp (/upload/).
The returned file path will be in native path format, suitable for use withnew File()constructor.String uploadedFilePath = channel.getUploadPath("uploadedfile.txt"); File uploadedFile = new File(uploadedFilePath); // uploadedFile == File("/path/to/webapp/upload/uploadedfile.txt")- Parameters:
uri- a path relative to the/upload/folder (with or without starting slash). e.g"myfile.lock"- Returns:
- an absolute file system path, e.g.
"C:\tomcat\webapps\jcms\upload\".
Returns null if specified uri is null or invalid. - Since:
- jcms-5.0.0
- See Also:
getRealPath(String)
-
getUploadParentPath
public java.lang.String getUploadParentPath()
Returns the path of the directoy that contains the upload directory.- Returns:
- the path of the directoy that contains the upload directory.
- Since:
- jcms-5.7.3
-
getRelativePath
public java.lang.String getRelativePath(java.io.File file)
Retrieves a path relative to the webapp root, from a File instance.
Example: given a File pointing the folder"C:\tomcat\webapps\ROOT\AnyFolder\MyFileOrFolder"returns"AnyFolder/MyFileOrFolder".- Parameters:
file- the File to convert into a relative filepath, e.g.new File("C:\\tomcat\\webapps\\jcms\\upload\\myfile.txt")- Returns:
- a path relative to the webapp root, e.g.
"upload/myfile.txt"
-
getTempDir
public java.io.File getTempDir()
Retrieve the temporary directory which can be used to store temporary files and directory for this Channel instance.Warning: You must not alter the directory itself (move, delete, ...).
Implementation details :
- This directory is created in the default temporary directory of the JVM,
- this directory is marked for deletion on JVM exit using
File.deleteOnExit(), - the path of the directory will be different after each JPlatform restart.
- the path of the directory is not constant and will be different after each JPlatform restart.
- Returns:
- a File referencing the temporary directory in which you can store temporary files and directory.
- Since:
- jcms-10.0.6 / JCMS-8960
-
getDataSourceLabel
public java.lang.String getDataSourceLabel(java.lang.String dataSource, java.lang.String userLang)Returns the label for the given data source.If no label exists for this data source, the name of the data source is returned.
Data source label must be declared in webapp.prop with this syntax for the key :
<lang>.data-source.<ds-name>.
E.g.:en.data-source.jdbc/mydb: My Data Source.- Parameters:
dataSource- the name of the DataSource (eg. "jdbc/mydb")userLang- the userLang- Returns:
- the label for the given data source
-
getBcryptLogRoundsMin
public int getBcryptLogRoundsMin()
Returns the mininum log2 of the number of rounds of hashing authorized in the password bcrypt hash.- Returns:
- an integer value
- Since:
- 10.0.7 / JCMS-9787
-
getBcryptLogRoundsMax
public int getBcryptLogRoundsMax()
Returns the maximum log2 of the number of rounds of hashing authorized in the password bcrypt hash.- Returns:
- an integer value
- Since:
- 10.0.7 / JCMS-9787
-
crypt
public java.lang.String crypt(java.lang.String str)
Hash the specified string with the BCrypt encryption algorithm.Use
checkCrypt(String, String)method to verify the encrypted version against a plain text entry.- Parameters:
str- the String to encrypt- Returns:
- the encrypted string
- Since:
- jcms-4.0
- See Also:
checkCrypt(String, String)
-
checkCrypt
public boolean checkCrypt(java.lang.String candidate_plaintext, java.lang.String stored_hash)Check a plain text string against an encrypted string previoulsy stored in JCMS.As of current implementation, this method is compatible with the following crypt algorythm :
BCrypt : default encoding used since from JCMS 7.1- Parameters:
candidate_plaintext- the plain text to be tested (information usually received from the client, eg : a plain text password recevied from a login form)stored_hash- the encrypted version stored (information known only on the server side, eg : member.getPassword())- Returns:
- true if the plain text string match the stored hash, false otherwise
- Since:
- jcms-7.1
- See Also:
crypt(String)
-
getDefaultGroup
public Group getDefaultGroup()
Returns the default group. This group is get from the property channel.default-group or from j_36 (if this property is not set)- Returns:
- the default Group
-
getDefaultAdmin
public Member getDefaultAdmin()
Returns the default admin. This admin is get from the property channel.default-admin or from j_2 (if this property is not set)- Returns:
- a member representing the default admin or null if the member associated with the id (property or j_2) is not an admin
-
getDefaultWorkspace
public Workspace getDefaultWorkspace()
Returns the default workspace. This workspace is get from the property channel.default-workspace or from j_4 (if this property is not set)- Returns:
- the default Workspace
-
getDefaultEmail
public java.lang.String getDefaultEmail()
Returns the default email of the channel get from the property channel.default-email- Returns:
- a String containing the default email
-
getDefaultQueryTypes
public java.lang.String[] getDefaultQueryTypes()
Returns the default 'types' attribute to use for query (get from the property query.default.types)- Returns:
- an array string containing the types to perform the query on.
- Since:
- jcms-2.1
-
getDefaultQueryTypesOff
public java.lang.String[] getDefaultQueryTypesOff()
Returns the default 'typesOff' attribute to use for query (get from the property query.default.types-off)- Returns:
- a String containing the types to avoid in a query.
- Since:
- jcms-2.1
-
getOrganizationRootGroup
public Group getOrganizationRootGroup()
Returns the root group of the organization. This group is get from the property $channel.organization-root-group.- Returns:
- the root group of the organization
-
supportFlowChartBackwardCompatibility
public boolean supportFlowChartBackwardCompatibility()
Check if backward compatibility with legacy FlowChart plugin should be supported.If supported, manager and assistant are retrieved from legacy flowchart plugin extradata.
- Returns:
- true if backward compatibility is enabled, false otherwise
- Since:
- 10.0.7 / JCMS-9478
-
supportFlowChartBackwardCompatibilityForDBMemberManager
public boolean supportFlowChartBackwardCompatibilityForDBMemberManager()
Check if support for flowchart backward compatibility is enabled and required to handle DB Members' manager.- Returns:
- true if flowchart backward compatibility is enabled AND there are some non empty ExtraDBData
"extradb.DBMember.flowchart.manager". - Since:
- JCMS-9805
-
initCollaborativeSpacePluginState
protected void initCollaborativeSpacePluginState()
Inits the active state of CollaborativeSpacePlugin.- Since:
- jcms-10.0.5 / JCMS-8503
-
isCollaborativeSpacePluginActive
protected boolean isCollaborativeSpacePluginActive()
Returns the active state of CollaborativeSpacePlugin.- Returns:
- true if CSP plugin is present and active
- Since:
- jcms-10.0.5 / JCMS-8503
-
isGuestAccountsEnabled
public boolean isGuestAccountsEnabled()
- Returns:
- true if CollaborativeSpace plugin is active, and guest accounts feature is enabled.
- Since:
- jcms-10.0.5 / JCMS-8503
-
getGuestGroup
public Group getGuestGroup()
Returns the Guests group bound to virtual IDMember.GUEST_GROUP_VID.- Returns:
- the Guests group if any
- Since:
- jcms-10.0.5 / JCMS-8503
-
getVisiblePstatus
public int[] getVisiblePstatus()
Returns the array of Workflow pstatus visible in FO.- Returns:
- the array of Workflow pstatus visible in FO.
- Since:
- jcms-2.1
-
isValidAdminIP
public boolean isValidAdminIP(javax.servlet.ServletRequest request)
Checks if the specified request is authorized to access admin area.- Parameters:
request- the ServletRequest to check- Returns:
- true if the remote IP address is valid according the regexp contains int channel.admin-ip property.
- Since:
- jcms-4.0.2
-
isValidAdminIP
public boolean isValidAdminIP(java.lang.String ipAddress)
Checks if the specified request is authorized to access admin area.- Parameters:
ipAddress- the IP Address- Returns:
- true if the remote IP address is valid according the regexp contains int channel.admin-ip property.
- Since:
- jcms-10.0.0
-
isValidWorkspacesIP
public boolean isValidWorkspacesIP(javax.servlet.ServletRequest request)
Checks if the specified request is authorized to access workspace area.- Parameters:
request- the ServletRequest to check- Returns:
- true if the remote IP address is valid according the regexp contains int channel.workspaces-ip property.
- Since:
- jcms-7.0.2
-
getRootCategory
public Category getRootCategory()
Returns the root category using the id specified in the propertychannel.root-categorydefault toj_3.- Returns:
- the root category
-
getRootCategoryAsSet
public java.util.Set<Category> getRootCategoryAsSet()
A convenient method which returns a set containing the root category- Returns:
- the root category
- Since:
- jcms-4.0
-
getSearchRootSet
public java.util.Set<Category> getSearchRootSet()
Returns the categories to used as root for the search. This set of category is build from the category ids contains in property query.search-roots. If no such property exists, it returns the children of the root category.
Warning: The returned Category TreeSet will NOT be ordered. Therefore make use you always create a new set with a new OrderComparator corresponding to the current user language!!- Returns:
- a set of category
- See Also:
getRootCategory(),getRefineRootSet(),getAdvRefineRootSet()
-
getRefineRootSet
public java.util.Set<Category> getRefineRootSet()
Returns the categories to used as roots for the refinement. This set of category is build from the category ids contains in property query.refine-roots. If no such property exists, it returns the results of getSearchRootSet().
Warning: The returned Category TreeSet will NOT be ordered. Therefore make use you always create a new set with a new OrderComparator corresponding to the current user language!!- Returns:
- a set of category
- See Also:
getRootCategory(),getSearchRootSet(),getAdvRefineRootSet()
-
getTagRoot
public Category getTagRoot()
Returns the common tag root.- Returns:
- the common tag root.
- Since:
- jcms-7.1.0
-
getTagRoot
public Category getTagRoot(Workspace ws)
Returns the tag root for the given workspace if it exists ; otherwise return the common tag root.- Parameters:
ws- the workspace- Returns:
- the tag root for the given workspace if it exists ; otherwise return the common tag root.
- Since:
- jcms-7.1.0
-
getAdvRefineRootSet
public java.util.Set<Category> getAdvRefineRootSet()
Returns the categories to used as roots for the advanced refinement. This set of category is build from the category ids contains in property query.adv-refine-roots. If no such property exists, it returns the results of getRefineRootSet().
Warning: The returned Category TreeSet will NOT be ordered. Therefore make use you always create a new set with a new OrderComparator corresponding to the current user language!!- Returns:
- a set of category
- See Also:
getRefineRootSet(),getSearchRootSet(),getRootCategory()
-
invalidateSearchAndRefineRootSet
public void invalidateSearchAndRefineRootSet()
Invalidate search and refine root set (they will be computed at the next call).- Since:
- jcms-5.6.0
-
getMetaDataExtractor
public MetaDataExtractor getMetaDataExtractor(java.lang.String contentType)
Returns a metadata extractor bound to the given contentType- Parameters:
contentType- the content type of the file to extract the metadata- Returns:
- a MetaDataExtractor
- Since:
- jcms-4.0
-
getSenderFullEmail
public java.lang.String getSenderFullEmail()
Retrieves the full email address that can be used to send message from JCMS.If default e-mail was specified (property "
channel.default-email"), returns an address composed of the site name ( property "channel.name") and default e-mail address.
e.g. "Site Name <site@example.com>".Otherwise uses the default admin full email (see
Member.getFullEmail()).
e.g. "name <user@company.com>"Return a properly formatted address (RFC 822 syntax) of Unicode characters.
Important : this value is NOT suitable for presentation to the end user in HTML interface, is is meant to be used in
MailMessagefrom value.- Returns:
- Unicode address string
- See Also:
Member.getFullEmail()
-
getSenderFullEmail
public java.lang.String getSenderFullEmail(Workspace ws, java.lang.String lang)
Deprecated.since JCMS-9, with the removal of Workspace.getEmail(), this method now ALWAYS returns either the channel default email or the default admin email, usegetSenderFullEmail()Retrieves the full email that can be used to send message from JCMS given a workspace and a language- Parameters:
ws- workspace from which we will retrieve emaillang- optional paramereter (set to null if not used)- Returns:
- an email in the form
"name <user@company.com>".
-
getSenderFullEmail
public java.lang.String getSenderFullEmail(Publication pub, java.lang.String lang)
Deprecated.since JCMS-9, with the removal of Workspace.getEmail(), this method now ALWAYS returns either the channel default email or the default admin email, usegetSenderFullEmail()Retrieves the full email that can be used to send message from JCMS given a workspace and a language- Parameters:
pub- publication from which we will retrieve workspace and its emaillang- optional paramereter (set to null if not used)- Returns:
- an email in the form
"name <user@company.com>".
-
getSenderFullEmail
public java.lang.String getSenderFullEmail(Workspace ws, Publication pub, java.lang.String lang)
Deprecated.since JCMS-9, with the removal of Workspace.getEmail(), this method now ALWAYS returns either the channel default email or the default admin email, usegetSenderFullEmail()Retrieves a full email (something <user@company.com>) given some information to retrieve it We try: - first the given workspace email,"WorkspaceName <user@company.com>"- the publication's workspace email,"Pub's WorkspaceName <user@company.com>- the channel default email,"Channel Name <user@company.com>"- last the default admin email,"Default Admin <user@company.com>"- Parameters:
ws- workspace from which we will retrieve emailpub- publication from which we will retrieve workspace and its emaillang- optional paramereter (set to null if not used)- Returns:
- an email in the form
"name <user@company.com>".
-
isRegistered
public boolean isRegistered(Data data)
Checks if the given data is still registered in the Store.- Parameters:
data- the data to check- Returns:
- true if the data is still registered
- Since:
- jcms-5.0.0
-
isRegistered
public boolean isRegistered(java.lang.String id)
Checks if the given data is still registered in the Store.- Parameters:
id- the id of the data to check- Returns:
- true if the data is still registered
- Since:
- jcms-5.0.0
-
initVirtualIDMap
public void initVirtualIDMap()
Init the virtual ID map (data, virtual ID).- Since:
- jcms-5.5.0
-
getVirtualIDSet
public java.util.Set<java.lang.String> getVirtualIDSet(Data data)
Returns the set of virtual ID bound to the given data (or null if it does not exist).- Parameters:
data- the data to get the virtual ID.- Returns:
- the set of virtual ID bound to the given data (or null if it does not exist).
- Since:
- jcms-8.0.0
-
getStorable
public Storable getStorable(java.lang.String id)
Returns a storable from its id. If id starts with character '$', it is considered as a virtual id. That is, the real id used is the value of the proprerty bound to this id.- Parameters:
id- the id of the storable- Returns:
- the storable or null if not found
- Since:
- jcms-5.5.0
-
getData
public Data getData(java.lang.String id)
Returns a data from its id- Parameters:
id- the id of the data- Returns:
- the data or null if not found
-
getData
public <T extends Data> T getData(java.lang.Class<T> clazz, java.lang.String id)
Returns a data from its id.- Type Parameters:
T- any Data type- Parameters:
clazz- the class of the Dataid- its id.- Returns:
- the data or null if not found or if the data is not
- Since:
- jcms-6.0.0
-
getWorkspace
public Workspace getWorkspace(java.lang.String id)
Return a Workspace from its id- Parameters:
id- the id of the workspace- Returns:
- a workspace
-
getCategory
public Category getCategory(java.lang.String id)
Returns a category from its id- Parameters:
id- the id of the category- Returns:
- the category or null if not found
-
getPublication
public Publication getPublication(java.lang.String id)
Returns a publication from its id- Parameters:
id- the id of the publication- Returns:
- the publication or null if not found
-
getGroup
public Group getGroup(java.lang.String id)
Returns a group from its id- Parameters:
id- the id of the group- Returns:
- the group or null if not found
-
getGroupFromDN
public Group getGroupFromDN(java.lang.String dn)
Returns a LDAP group from its distinguish name.- Parameters:
dn- the dn of the group- Returns:
- the group or null if not found
- Since:
- jcms-5.7.0
-
getMember
public Member getMember(java.lang.String id)
Returns a member from its id- Parameters:
id- the id of the member- Returns:
- the member or null if not found
-
getMemberFromLogin
public Member getMemberFromLogin(java.lang.String login)
Returns the member with the given login.This method is only available after JCMS startup (both JStore and JcmsDB access must be fully ready).
- Parameters:
login- the member's login- Returns:
- the member or
nullif no member has this login.
-
getMemberFromLogin
public Member getMemberFromLogin(java.lang.String login, boolean checkDisabled)
Returns the member with the given login.This method is only available after JCMS startup (both JStore and JcmsDB access must be fully ready).
- Parameters:
login- the member's logincheckDisabled- if true do not return member if account is disabled- Returns:
- the member or
nullif no member has this login.
-
getMemberFromEmail
public Member getMemberFromEmail(java.lang.String email)
Returns the member with the given email.This method is only available after JCMS startup (both JStore and JcmsDB access must be fully ready).
- Parameters:
email- the member's email- Returns:
- the member or
nullif no member has this email.
-
getVersionList
public java.util.List<? extends Storable> getVersionList(Data data) throws LogException
Get all the version of a given Data. Since jcms-5.5, if this data is deleted, the list contains one more element which represents the deleted version. This element contains the deletion date (getDdate()) and the deletion author (getOpAuthor()). CAUTION: SLOW! this method parses the store to find the version, use with care.- Parameters:
data- the data- Returns:
- a unmodifiable list of Data
- Throws:
LogException- if an error occured while reading store.xml- Since:
- jcms-3.0
-
getVersionList
public java.util.List<? extends Storable> getVersionList(java.lang.String id) throws LogException
Get all the version of a Data, given its id. Since jcms-5.5, if this data is deleted, the list contains one more element which represents the deleted version. This element contains the deletion date (getDdate()) and the deletion author (getOpAuthor()). CAUTION: SLOW! this method parses the store to find the version, use with care.- Parameters:
id- the data id- Returns:
- a unmodifable List of Data
- Throws:
LogException- if an error occured while reading store.xml- Since:
- jcms-3.0
-
getDeletedSet
public java.util.TreeSet<? extends Storable> getDeletedSet(java.lang.Class<? extends Storable> clazz) throws LogException
Get the latest version of the deleted Data for a given class. CAUTION: SLOW! this methods re-read the store to find the deleted object of the given Class, use with care.- Parameters:
clazz- the searched class- Returns:
- a Set of Data
- Throws:
LogException- if an error occured while reading store.xml- Since:
- jcms-3.0
-
getPublicationSuperTypes
public java.lang.Class<?>[] getPublicationSuperTypes()
Returns the super publication types (i.e. Content, UserContent, Portlet and Form).- Returns:
- the super publication types (i.e. Content, UserContent, Portlet and Form).
- Since:
- jcms-6.0.0
-
getPublicationTypeList
public java.util.List<java.lang.Class<? extends Publication>> getPublicationTypeList()
Returns all the available publication types (sorted on the main language). That is, the core publication types (FileDocument, ...) and the custom publication types.- Returns:
- a list of classes (caution: this list is always the same object. Do not modify it.)
- See Also:
getCustomTypeList(),getCoreTypeList(),getPublicationTypeList(String)
-
getPublicationTypeList
public java.util.List<java.lang.Class<? extends Publication>> getPublicationTypeList(java.lang.String lang)
Retrieves all the available publication types sorted on the given language. That is, the core publication types (FileDocument, ...) and the custom publication types.- Parameters:
lang- the ISO-639 language code of the language to use for sorting, use default site's language if null.- Returns:
- a list of classes (caution: this list is always the same object. Do not modify it.)
- See Also:
getCustomTypeList(),getCoreTypeList(),getPublicationTypeList()
-
getTypeLabelComparator
public Channel.TypeLabelComparator getTypeLabelComparator(java.lang.String lang)
Retrieves a new instance of a TypeLabelComparator which sorts Class using their TypeProcessor label.- Parameters:
lang- the language in which to sort the label.- Returns:
- a new instance of
Channel.TypeLabelComparator - Since:
- jcms-5.7.2
-
getCoreTypeList
public java.util.ArrayList<java.lang.Class<? extends Publication>> getCoreTypeList()
Returns all the available core publication types (FileDocument, ArchivedPublication...)- Returns:
- a list of classes (caution: this list is always the same object. Do not modify it.)
- See Also:
getCustomTypeList(),getPublicationTypeList()
-
getSubTypeList
public <T> java.util.List<java.lang.Class<? extends T>> getSubTypeList(java.lang.Class<T> clazz)
Returns a list of the publication types which extends the giving one.- Type Parameters:
T- any Publication type- Parameters:
clazz- the super class- Returns:
- a list of classes which extends clazz
- Since:
- jcms-4.0
- See Also:
getCustomTypeList(),getCoreTypeList(),getSubTypeList(Class, String)
-
getSubTypeList
public <T> java.util.List<java.lang.Class<? extends T>> getSubTypeList(java.lang.Class<T> clazz, java.lang.String lang)Returns a list of the publication types which extends the giving one. The list is sorted according the given language.- Type Parameters:
T- any Publication type- Parameters:
clazz- the super classlang- the language- Returns:
- a list of classes which extends clazz
- Since:
- jcms-5.7.0
- See Also:
getCustomTypeList(),getCoreTypeList()
-
getPublishableSubTypeList
public <T> java.util.ArrayList<java.lang.Class<? extends T>> getPublishableSubTypeList(java.lang.Class<T> clazz, Member member)Returns all the publication types which extends the giving one and that the given member is allowed to publish and that are not abstract.- Type Parameters:
T- any Publication type- Parameters:
clazz- the super classmember- a member- Returns:
- a list of classes which extends clazz and that can be published by the given member
- Since:
- jcms-4.0.1
- See Also:
getSubTypeList(Class),getCustomTypeList(),getCoreTypeList()
-
getDataRight
public DataRight getDataRight(boolean canPublish, boolean canUpdateOther, boolean canDeleteOther, boolean create)
Returns a DataRight matching the given criteria. Can create a new one if none.- Parameters:
canPublish- the canPublish value of the DataRight that is looked for.canUpdateOther- the canUpdateOther value of the DataRight that is looked for.canDeleteOther- the canDeletOther value of the DataRight that is looked for.create- if true creates the DataRight if it does not exist.- Returns:
- the DataRight or null if none.
- Since:
- jcms-2.1
-
getNoCategoryRight
public CategoryRight getNoCategoryRight()
Returns the CategoryRight which sets edition of cateogry forbidden- Returns:
- the CategoryRight for none category
- Since:
- jcms-2.1
-
getRootCategoryRight
public CategoryRight getRootCategoryRight()
Returns the CategoryRight allowing edition of all the cateogry- Returns:
- the CategoryRight for 'root' category or null if none.
- Since:
- jcms-2.1
-
getCategoryRight
public CategoryRight getCategoryRight(java.util.HashSet<Category> roots, int mode, boolean create)
Returns the CategoryRight matching the given criteria- Parameters:
roots- the categories to look formode- the mode to look for (GROUP_AND_MEMBER = 0, MEMBER_ONLY = 1, GROUP_ONLY = 2)create- if true creates the DataRight if it does not exist.- Returns:
- the CategoryRight or null if none.
- Since:
- jcms-2.1
-
getDataSet
public <T> java.util.TreeSet<T> getDataSet(java.lang.Class<T> clazz)
Returns all instances of a given class and it's subclass. If this class is a subclass of DBData, it returns a set of DBData otherwise it returns only JStore data.
CAUTION: This class does not control the read access nor the pstatus of the publications.
CAUTION: returns an internal Set, DO NOT alter this Set, clone prior modification. CAUTION: getDataSet(Publication.class) only returns JStore data, it does not returns publications saved in the database.- Type Parameters:
T- an object class- Parameters:
clazz- the class of instances to look for- Returns:
- the internal set of data instances associated to the given class
- See Also:
getPublicationSet(Class, Member)
-
getDataCount
public long getDataCount(java.lang.Class<? extends Data> clazz)
Returns the number of data available for the given class.- Parameters:
clazz- the class.- Returns:
- the number of data available for the given class.
- Since:
- jcms-6.0.0
-
getDBDataList
public <T> java.util.List<T> getDBDataList(java.lang.Class<T> clazz)
Returns all the instance for the given class stored in the database.- Type Parameters:
T- any DB type- Parameters:
clazz- the class- Returns:
- a List of all the instance for the given class stored in the database (never return null).
- Since:
- jcms-6.0.0
- See Also:
HibernateUtil.getDBDataList(Class)
-
getDBDataList
public <T> java.util.List<T> getDBDataList(java.lang.Class<T> clazz, int firstResult, int maxResults)Returns all the instance for the given class stored in the database.- Type Parameters:
T- any DB type- Parameters:
clazz- the classfirstResult- set the first data to retrieve. If <= 0, rows will be retrieved beginning from first data.maxResults- set the maximum number of data to retrieve. If <= 0, there is no limit to the number of data retrieved.- Returns:
- a List of all the instance for the given class stored in the database (never return null).
- Since:
- jcms-6.0.0
- See Also:
HibernateUtil.getDBDataList(Class)
-
getDBData
public DBData getDBData(java.lang.Class<?> clazz, java.lang.Long rowId)
Returns a given DBData according its class and it row id.- Parameters:
clazz- the classrowId- the row id- Returns:
- a given DBData according its class and it row id.
- Since:
- jcms-6.0.0
- See Also:
HibernateUtil.getObject(Class, Long)
-
getDBDataIterator
public <T> java.util.Iterator<T> getDBDataIterator(java.lang.Class<T> clazz)
Returns an iterator on the list of instance for the given class stored in the database.- Type Parameters:
T- any DB type- Parameters:
clazz- the class.- Returns:
- an iterator on the list of instance for the given class stored in the database.
- Since:
- jcms-6.0.0
- See Also:
HibernateUtil.getDBDataIterator(Class)
-
getDataAndDBDataIterator
public <T> java.util.Iterator<T> getDataAndDBDataIterator(java.lang.Class<T> clazz)
Returns an iterator on an hybrid list of data stored in the database and JStore.- Type Parameters:
T- any DB type- Parameters:
clazz- the class- Returns:
- an iterator on an hybrid list of data stored in the database and JStore.
- Since:
- jcms-6.0.0
-
getDBPublicationList
public PageResult<Publication> getDBPublicationList(PublicationCriteria pubCriteria)
Returns a list of publications in the database matching the given criteria.- Parameters:
pubCriteria- the PublicationCriteria- Returns:
- a list of publications.
- Since:
- jcms-6.0.0
- See Also:
HibernateUtil.queryPublication(PublicationCriteria)
-
getVisibleDBPublicationList
public PageResult<Publication> getVisibleDBPublicationList(PublicationCriteria pubCriteria)
Returns a list publications in the database matching the given criteria and in a visible state.- Parameters:
pubCriteria- the PublicationCriteria- Returns:
- a list publications in the database matching the given criteria and in a visible state.
- Since:
- jcms-6.0.0
-
getNotVisibleDBPublicationList
public PageResult<Publication> getNotVisibleDBPublicationList(PublicationCriteria pubCriteria)
Returns a list publications in the database matching the given criteria and not in a visible state.- Parameters:
pubCriteria- the PublicationCriteria- Returns:
- a list publications in the database matching the given criteria and not in a visible state.
- Since:
- jcms-6.0.0
-
getDBPublicationClassList
public java.util.List<java.lang.Class<? extends Publication>> getDBPublicationClassList()
Returns the list of Publication subclasses managed by Hibernate.- Returns:
- the list of Publication subclasses managed by Hibernate.
- Since:
- jcms-6.0.0
-
updateClass2DataSet
protected void updateClass2DataSet(Data data, boolean add)
This methods is called by a DataListener when a Data is updated or created to update the map which link Class to Set of Data.- Parameters:
data- the dataadd- = true if add- Since:
- jcms-5.0.1
-
getAllDataSet
public <T> java.util.TreeSet<T> getAllDataSet(java.lang.Class<T> clazz)
Returns all instances of a given class and it's subclass.
CAUTION: This class does not control the read access nor the pstatus of the publications.- Type Parameters:
T- an object class- Parameters:
clazz- the class- Returns:
- all instances of a given class and it's subclass.
- Since:
- jcms-4.0
-
getAllDataSet
public java.util.TreeSet<Data> getAllDataSet()
Returns all the data of this site in a new TreeSet.
CAUTION: This class does not control the read access of Publication.- Returns:
- a new TreeSet of Data containing every Data of this site.
-
getDataSet
public <T> java.util.TreeSet<T> getDataSet(java.lang.String[] ids, java.lang.Class<? extends T> clazz, boolean neverNull)Returns a set of data from an array of idenfiers.- Type Parameters:
T- any data type- Parameters:
ids- an array of identifiers.clazz- the clazz of the identifiers (may be null, if the array is heterogeneous)neverNull- if true and if there is no results, return an empty set instead of null.- Returns:
- a set of data.
- Since:
- jcms-6.0.0
-
getDataSet
public java.util.TreeSet<?> getDataSet(java.lang.String[] ids)
Returns the instances associated to an array of ids. Bad ids are ignored (i.e. not added in the return set).
CAUTION: This class does not control the read access of Publication.- Parameters:
ids- an array of ids- Returns:
- a set of instances
-
getDataList
public java.util.ArrayList<Data> getDataList(java.lang.String[] ids)
Returns the instances associated to an array of ids. Bad ids are ignored (i.e. not added in the return list). CAUTION: This class does not control the read access of Publication.- Parameters:
ids- an array of ids- Returns:
- a set of instances
- See Also:
for generic method
-
getDataList
public <T extends Data> java.util.ArrayList<T> getDataList(java.lang.String[] ids, boolean ignoreNull, java.lang.Class<T> clazz)
Returns the data corresponding to the given array of data ids. Bad ids may be ignored (i.e. not added in the return list). The trailing null are systematically skipped. CAUTION: This class does not control the read access of Publication.- Type Parameters:
T- any data type- Parameters:
ids- an array of idsignoreNull- if true, null are skippedclazz- a filter class- Returns:
- a List of data
-
getAllPublicationSet
public <T extends Publication> java.util.TreeSet<T> getAllPublicationSet(java.lang.Class<T> clazz, Member member)
Returns all publications of a given class AND subclasses that can be accessed by a given member and that are in a visible state. If the member is null, it returns all the publications that have no read right.- Type Parameters:
T- any publication type- Parameters:
clazz- the class of instances to look formember- the member who access the publication set- Returns:
- a set of instances (or an emtpy if clazz is not a subclass of Publication or there is no Publication)
- Since:
- jcms-4.1.1
-
getAllPublicationSet
public <T extends Publication> java.util.TreeSet<T> getAllPublicationSet(java.lang.Class<T> clazz, Member member, boolean checkPstatus)
Returns all publications of a given class AND subclasses that can be accessed by a given member. If the given member is null, it returns all the publications that have no read right.- Type Parameters:
T- any publication type- Parameters:
clazz- the class of instances to look formember- the member who access the publication setcheckPstatus- if true, select only the publications that are in a visible state.- Returns:
- a set of instances (or an emtpy if clazz is not a subclass of Publication or there is no Publication)
- Since:
- jcms-5.0.0
-
getPublicationSet
public <T extends Publication> java.util.TreeSet<T> getPublicationSet(java.lang.Class<T> clazz, Member member)
Returns all publications of a given class that can be accessed by a given member and that are in a visible state. If the member is null, it returns all the publications that have no read right.- Type Parameters:
T- any publication type- Parameters:
clazz- the class of instances to look formember- the member who access the publication set- Returns:
- a set of instances (or an emtpy if clazz is not a subclass of Publication or there is no Publication)
- Since:
- jcms-2.1
-
getPublicationSet
public <T extends Publication> java.util.TreeSet<T> getPublicationSet(java.lang.Class<T> clazz, Member member, boolean checkPstatus)
Returns all publications of a given class that can be accessed by a given member. If the member is null, it returns all the publications that have no read right.- Type Parameters:
T- any publication type- Parameters:
clazz- the class of instances to look formember- the member who access the publication setcheckPstatus- if true, select only the publications that are in a visible state.- Returns:
- a set of instances (or an emtpy if clazz is not a subclass of Publication or there is no Publication)
- Since:
- jcms-2.1
-
getPublicationSet
public <T extends Publication> java.util.TreeSet<T> getPublicationSet(java.lang.Class<T> clazz, Member member, boolean checkPstatus, Workspace workspace)
Returns all publications of a given class that can be accessed by a given member. If the member is null, it returns all the publications that have no read right.- Type Parameters:
T- any publication type- Parameters:
clazz- the class of instances to look formember- the member who access the publication setcheckPstatus- if true, select only the publications that are in a visible state.workspace- if not null select only the publications of this workspace- Returns:
- a set of instances (or an emtpy if clazz is not a subclass of Publication or there is no Publication)
- Since:
- jcms-2.1
-
getPublicationSet
public <T extends Publication> java.util.TreeSet<T> getPublicationSet(java.lang.Class<T> clazz, Member member, boolean checkPstatus, Workspace workspace, boolean searchDB)
-
getPublicationSet
public <T extends Publication> java.util.Set<T> getPublicationSet(java.util.Set<T> publicationSet, boolean specialState)
Return a SubSet of publication in or not in special state.- Type Parameters:
T- an object class- Parameters:
publicationSet- the set of publicationspecialState- true to filter of publication in special state.- Returns:
- a Set of publication
-
getPublicationSet
public java.util.Set<Publication> getPublicationSet(java.util.Set<Publication> publicationSet, Workflow wf)
Return a SubSet of all publication using the given workflow- Parameters:
publicationSet- the set of publicationwf- the workflow- Returns:
- a Set of publication
-
getPublicationSetFromTitle
public java.util.Set<Publication> getPublicationSetFromTitle(java.lang.String title)
Returns all publications with title in default site language matching the given title.- Parameters:
title- the title to be searched for.- Returns:
- a set of publications
-
getPublicationSetFromTitle
public java.util.Set<Publication> getPublicationSetFromTitle(java.lang.String title, boolean searchInDB)
-
getFirstPublicationFromTitle
public Publication getFirstPublicationFromTitle(java.lang.String title)
Returns the first publication with the title in default site language matching the given title.- Parameters:
title- the title to be searched for.- Returns:
- the first publication with the title in default site language matching the given title.
- Since:
- jcms-5.7.2
-
getPublicationSetFromTitle
public <T> java.util.Set<T> getPublicationSetFromTitle(java.lang.Class<T> clazz, java.lang.String title)Returns all publications of the given class with title in default site language matching the given title.- Type Parameters:
T- any Publication type- Parameters:
clazz- the class of the publicationtitle- the title to be searched for.- Returns:
- a set of publications
- Since:
- jcms-6.0.0
-
getFirstPublicationSetFromTitle
public <T> T getFirstPublicationSetFromTitle(java.lang.Class<T> clazz, java.lang.String title)Returns the first publications of the given class with title in default site language matching the given title.- Type Parameters:
T- any Publication type- Parameters:
clazz- the class of the publicationtitle- the title to be searched for.- Returns:
- a publication
- Since:
- jcms-6.0.0
-
getPublicationWithoutCategories
public java.util.HashSet<Publication> getPublicationWithoutCategories()
Returns all the publications without categories in a new HashSet.- Returns:
- a set of publications
- Since:
- jcms-5.5.0
-
isWebdavEnabled
public boolean isWebdavEnabled()
Check if Webdav is enable- Returns:
- boolean true if webdav is enable
- Since:
- jcms-5.5.0
-
disableDataWrite
public void disableDataWrite(java.lang.String msg)
Disable data write.- Parameters:
msg- the maintenance message.- Since:
- jcms-5.5.0
- See Also:
enableDataWrite(),isDataWriteEnabled()
-
enableDataWrite
public void enableDataWrite()
Enable data wirte.- Since:
- jcms-5.5.0
- See Also:
disableDataWrite(String),isDataWriteEnabled()
-
handleDataWriteState
public void handleDataWriteState(boolean disable, java.lang.String msg, boolean updateProperty)Handle the given data write state and perform the update in properties if needed.- Parameters:
disable- if true disable data writesmsg- the messageupdateProperty- if true update properties to persist data write stop.- Since:
- JCMS-6.0
-
isDataWriteEnabled
public boolean isDataWriteEnabled()
Checks if data write are enabled (see channel.data-write.enabled property)- Returns:
- true if data write are enabled
- Since:
- jcms-4.0.2
-
isWSAttachmentEnabled
public boolean isWSAttachmentEnabled()
Checks if ws attachment is enabled.- Returns:
- true if ws attachment is enabled.
- Since:
- jcms-10.0.0
-
handleStoreError
public void handleStoreError(java.lang.String msg, java.lang.Throwable th)This method is called when a fatal error occurs on the store.- Parameters:
msg- the contextual error message.th- the original throwable- Since:
- jcms-5.5.0
-
handleJcmsDBError
public void handleJcmsDBError(java.lang.String msg, java.lang.Throwable th)This method is called when a fatal error occurs on the JcmsDB.- Parameters:
msg- the contextual error message.th- the original throwable- Since:
- jcms-6.1.3
-
getAdminSet
public java.util.Set<Member> getAdminSet()
Returns the set of administrators.- Returns:
- the set of administrators.
- Since:
- jcms-8.0.0
-
createData
public void createData(Data data, Member opAuthor)
Creates a data in the store. This is a low-level method. Since jcms-5.0.0, it is recommanded to useData.performCreate(Member)method.- Parameters:
data- the data to be createdopAuthor- the member which performs the write operation (can be null)- See Also:
Data.performCreate(com.jalios.jcms.Member)
-
updateData
public void updateData(Data updated, Member opAuthor)
Updates a data in the store. It does not update the given data, but the data bound to id of the given data. This methode should only be called on a temporary object. This is a low-level method. Since jcms-5.0.0, it is recommanded to useData.performUpdate(Member)method.- Parameters:
updated- the data to be updatedopAuthor- the member which performs the write operation (can be null)- Since:
- jcms-5.0.0
- See Also:
Data.performUpdate(com.jalios.jcms.Member)
-
deleteData
public void deleteData(Data data, Member opAuthor)
Delete a data in the store. This is a low-level method. Since jcms-5.0.0, it is recommanded to useData.performDelete(Member)method.- Parameters:
data- the data to be deletedopAuthor- the member which performs the write operation (can be null)- See Also:
Data.performDelete(com.jalios.jcms.Member)
-
select
public <T> java.util.TreeSet<T> select(java.util.Collection<? extends T> dataColl, DataSelector selector, java.util.Comparator comparator)Perform a selection on aCollectionofDatausing the givenDataSelector, and return a TreeSet sorted using the givenComparator.
If noComparatoris given,CdateComparatoris used.- Type Parameters:
T- Any Data type- Parameters:
dataColl- theCollectionofDatato select.selector- theDataSelectorto use.comparator- theComparatorto use.- Returns:
- a new or cloned
TreeSetofData. - See Also:
JcmsUtil.select(Collection, DataSelector, Comparator)
-
getQueryManager
public QueryManager getQueryManager()
Retrieve the singleton instance of the QueryManager used by JCMS.- Returns:
- the QueryManager singleton.
-
query
public QueryResultSet query(QueryHandler qh, javax.servlet.ServletRequest request, java.util.Set<? extends Publication> proposedDataSet)
Perform a query using parameters specified in the givenQueryHandler.
Search in the givenCollectionofPublicationor in allPublicationif not specified.- Parameters:
qh- theQueryHandlerfrom which to retrieve the query parameters, MUST NOT be null.request- theServletHttpRequestused to set some error or warning messages in the attributes, can be null.proposedDataSet- theCollectionofPublicationin which to search and apply query parameters, if null, search is done in allPublication.- Returns:
- a
QueryResultSetcontaining all results of this query, it is aHashSetand therefore it is NOT sorted. use eithergetAsSortedSet()orgetAsSortedSet(Comparator)to obtain a sorted Set. - Since:
- jcms-5.0.0
-
getMemberSearchEngine
public LuceneMemberSearchEngine getMemberSearchEngine()
Retrieve the singleton instance of the MemberSearchEngine used by JCMS.- Returns:
- the LuceneMemberSearchEngine singleton.
- Since:
- jcms-6.1.0
-
getWSTypeEntry
public WSTypeEntry getWSTypeEntry(java.lang.Class clazz, Workspace workspace)
This method is a substitute of old getTypeEntry(Class) or getTypeEntry(String). It return a WSTypeEntry that encapsulate a TypeEntry adding custom workspace properties. If workspace is null it will have the same behaviour has a TypeEntry but the method WSTypeEntry#getWorkflow() will throw a RuntimeException.- Parameters:
clazz- theClassof which to find theWSTypeEntryworkspace- the workspace to use or null- Returns:
- WSTypeEntry a wrapper of TypeEntry adding Workspace
- See Also:
Workspace.getWSTypeEntry(Class)
-
getWSTypeEntry
public WSTypeEntry getWSTypeEntry(java.lang.String className, Workspace workspace)
This method is a substitute of old getTypeEntry(Class) or getTypeEntry(String). It return a WSTypeEntry that encapsulate a TypeEntry adding custom workspace properties. If workspace is null it will have the same behaviour has a TypeEntry but the method WSTypeEntry#getWorkflow() will throw a RuntimeException.- Parameters:
className- theStringrepresenting the name the Class of which to find theWSTypeEntryworkspace- the workspace to use or null- Returns:
- WSTypeEntry a wrapper of TypeEntry adding Workspace
-
getTypeEntry
public TypeEntry getTypeEntry(java.lang.Class<?> clazz)
Return the TypeEntry bound to givenClass. Since jcms-5.5.0 should call #getTypeEntry(Class,Workspace)- Parameters:
clazz- theClassof which to find theTypeEntry- Returns:
- the
TypeEntryassociated to the given class or null if not available. - Since:
- jcms-3.0
- See Also:
TypeProcessor.getTypeEntry(Class)
-
getTypeEntry
public TypeEntry getTypeEntry(java.lang.String className)
Return the TypeEntry bound to givenclassName.- Parameters:
className- the name the Class of which to find theTypeEntry- Returns:
- the
TypeEntryassociated to the given class or null if not available. - Since:
- jcms-5.5
- See Also:
TypeProcessor.getTypeEntry(String)
-
getTypeAbstractFieldEntry
public TypeFieldEntry getTypeAbstractFieldEntry(java.lang.Class<?> clazz)
Returns theTypeFieldEntryassociated to the abstract (summary) field of the specified type.- Parameters:
clazz- the Class of which to find theTypeFieldEntry- Returns:
- the
TypeFieldEntryassociated to the specified class or null if not available. - Since:
- jcms-5.7.0
-
getTypeFieldEntry
public TypeFieldEntry getTypeFieldEntry(java.lang.Class<?> clazz, java.lang.String fieldName, boolean checkAll)
Return theTypeFieldEntryassociated to the givenClassand fieldName.- Parameters:
clazz- the Class of which to find theTypeFieldEntryfieldName- the field name of which to find theTypeFieldEntrycheckAll- whether to check in inherited field entry of the class.- Returns:
- the
TypeFieldEntryassociated to the given class and fieldName or null if not available. - Since:
- jcms-5.5.0
- See Also:
getTypeFieldEntries(Class clazz),getAllTypeFieldEntries(Class clazz)
-
getTypeFieldEntry
public TypeFieldEntry getTypeFieldEntry(java.lang.Class<?> clazz, java.lang.String fieldName)
Returns the TypeFieldEntry bound to the given field of the given class.- Parameters:
clazz- the classfieldName- the field name- Returns:
- the TypeFieldEntry bound to the given field of the given class.
- Since:
- jcms-5.7.0
-
getTypeFieldLabel
public java.lang.String getTypeFieldLabel(java.lang.Class<?> clazz, java.lang.String fieldName, java.lang.String lang)Returns the localized label of the given field of the given class.- Parameters:
clazz- the classfieldName- the field namelang- the language in which localized the label- Returns:
- the localized label of the given field of the given class.
- Since:
- jcms-5.7.0
-
getTypeFieldLabel
public java.lang.String getTypeFieldLabel(java.lang.Class<?> clazz, java.lang.String fieldName)Returns the localized label of the given field of the given class. The localization is based on the current user language.- Parameters:
clazz- the classfieldName- the field name- Returns:
- the localized label of the given field of the given class.
- Since:
- jcms-5.7.0
- See Also:
getCurrentUserLang()
-
getTypeFieldLabel
public java.lang.String getTypeFieldLabel(Data data, java.lang.String fieldName, java.lang.String lang)
Returns the localized label of the given field of the given data. The localization is based on the current user language.- Parameters:
data- the datafieldName- the field namelang- the language in which localized the label- Returns:
- the localized label of the given field of the given data.
- Since:
- jcms-5.7.0
-
getTypeFieldLabel
public java.lang.String getTypeFieldLabel(Data data, java.lang.String fieldName)
Returns the localized label of the given field of the given data. The localization is based on the current user language.- Parameters:
data- the datafieldName- the field name- Returns:
- the localized label of the given field of the given data.
- Since:
- jcms-5.7.0
- See Also:
getCurrentUserLang()
-
getTypeFieldEntries
public TypeFieldEntry[] getTypeFieldEntries(java.lang.Class<?> clazz)
Return an array ofTypeFieldEntrybound to givenClass.
This array does not contain inherited TypeFieldEntry from super classes of givenClass.- Parameters:
clazz- theClassof which to find theTypeFieldEntry.- Returns:
- an array of
TypeFieldEntrycontaining all Field used byClassor an empty array (never return null) - Since:
- jcms-5.5.0
- See Also:
TypeProcessor.getTypeFieldEntries(Class)
-
getTypeFieldEntries
public TypeFieldEntry[] getTypeFieldEntries(java.lang.String className)
Return an array ofTypeFieldEntrybound to givenClass.
This array does not contain inherited TypeFieldEntry from super classes of givenClass.- Parameters:
className- theStringrepresenting the name the Class of which to find theTypeFieldEntry- Returns:
- an array of
TypeFieldEntrycontaining all Field used byClassor an empty array (never return null) - Since:
- jcms-5.5.0
- See Also:
TypeProcessor.getTypeFieldEntries(String)
-
getAllTypeFieldEntries
public TypeFieldEntry[] getAllTypeFieldEntries(java.lang.Class<?> clazz)
Return an array ofTypeFieldEntrybound to givenClass.
This array does contain inherited TypeFieldEntry from super classes of givenClass.- Parameters:
clazz- theClassof which to find theTypeFieldEntry.- Returns:
- an array of
TypeFieldEntrycontaining all Field used byClassor an empty array (never return null) - Since:
- jcms-5.5.0
- See Also:
TypeProcessor.getAllTypeFieldEntries(Class)
-
getAllTypeFieldEntries
public TypeFieldEntry[] getAllTypeFieldEntries(java.lang.String className)
Return an array ofTypeFieldEntrybound to givenClassname.
This array does contain inherited TypeFieldEntry from super classes of givenClass.- Parameters:
className- theStringrepresenting the name the Class of which to find theTypeFieldEntry- Returns:
- an array of
TypeFieldEntrycontaining all Field used byClassor an empty array (never return null) - Since:
- jcms-5.5.0
- See Also:
TypeProcessor.getAllTypeFieldEntries(String)
-
getTypeLabel
public java.lang.String getTypeLabel(java.lang.Class<?> clazz, java.lang.String lang)Returns the label of the given type (class) in the given language.- Parameters:
clazz- the classlang- the language- Returns:
- the label of the given type (class) in the given language.
- Since:
- jcms-5.7.0
- See Also:
getTypeLabel(Class, Workspace, String)
-
getTypeLabel
public java.lang.String getTypeLabel(java.lang.Class<?> clazz, Workspace workspace, java.lang.String lang)Returns the label of the given type (class) in the given workspace in the given language.- Parameters:
clazz- the classworkspace- the Workspacelang- the language- Returns:
- the label of the given type (class) in the given workspace in the given language.
- Since:
- jcms-5.5.0
- See Also:
getTypeLabel(Class,String),Workspace.getTypeLabel(Class,String)
-
getTypeDescription
public java.lang.String getTypeDescription(java.lang.Class clazz, java.lang.String lang)Returns the description of the given type (class) in the given language.- Parameters:
clazz- the classlang- the language- Returns:
- the description of the given type (class) in the given language.
- Since:
- jcms-5.7.0
- See Also:
getTypeDescription(Class, Workspace, String)
-
getTypeDescription
public java.lang.String getTypeDescription(java.lang.Class clazz, Workspace workspace, java.lang.String lang)Returns the description of the given type for the given workspace in the given language.- Parameters:
clazz- the classworkspace- the Workspacelang- the language- Returns:
- the description of the given type for the given workspace in the given language.
- Since:
- jcms-5.5.0
- See Also:
getTypeLabel(Class,String),Workspace.getTypeDescription(Class,String)
-
restart
public void restart()
Restarts the channel. Updates the restart file of the current application server, usuallyweb.xml, to force a restart.- See Also:
getAppServerInfo(),AppServerInfo.getRestartFile()
-
isAvailable
public boolean isAvailable()
Check if the site is started and ready.- Returns:
- true if site is available, false otherwise
- Since:
- jcms-5.0.
-
setAvailable
public void setAvailable(boolean isAvailable)
Enable or disable the site.
Warning! should be used very carefully.
This methods can be used to improve speed when generating fake contents in JCMS as it disables some processes (checks and clones) performed to prevent Concurrent Modification Exceptions.- Parameters:
isAvailable- true to enable site, false to disable- Since:
- jcms-5.0.
-
getClassLoader
public java.lang.ClassLoader getClassLoader()
Returns the classLoader- Returns:
- the classLoader
- Since:
- jcms-5.5.0
-
getClass
public java.lang.Class[] getClass(java.lang.String[] clazzStr)
Load and return classes- Parameters:
clazzStr- the full qualified name of the classes to load- Returns:
- the loaded classes
-
getClassOrNull
public java.lang.Class getClassOrNull(java.lang.String className)
Load and return a class- Parameters:
className- the full qualified name of the class to load (or null in an exception occured)- Returns:
- the loaded class
- Since:
- jcms-10.0.5
-
getClass
public java.lang.Class getClass(java.lang.String className) throws java.lang.ClassNotFoundExceptionLoad and return a class- Parameters:
className- the full qualified name of the class to load- Returns:
- the loaded class
- Throws:
java.lang.ClassNotFoundException- if className cannot be foundjava.lang.IllegalStateException- if className represents a class generated by JCMS and such classes have not yet been generated and compiled. If thrown, the site must not been started.
-
getCustomTypeList
public java.util.List getCustomTypeList()
Return the list of custom publication types Class, that is all the Publication Class of package "generated.". CAUTION: returns an internal List, DO NOT alter this List, clone prior modification.- Returns:
- an internal List of Class (caution: this list is always the same object. Do not modify it.)
- See Also:
getCustomTypeList(),getPublicationTypeList()
-
getCustomExtensionMap
public java.util.Map<java.lang.String,java.lang.Class<?>> getCustomExtensionMap()
Returns the map of String (Class) to data extension (Class).
Usually:- "CategoryExtension" ==> class generated.CategoryExtension
- "GroupExtension" ==> class generated.GroupExtension
- "FileDocumentExtension" ==> class generated.FileDocumentExtension
- "WorkspaceExtension" ==> class generated.WorkspaceExtension
- "MemberExtension" ==> class generated.MemberExtension
- Returns:
- an internal Map of String to Class
-
getCustomExtensionCollection
public java.util.Collection<java.lang.Class<?>> getCustomExtensionCollection()
Returns all the DataExtension classes.
Usually:- class generated.CategoryExtension
- class generated.GroupExtension
- class generated.FileDocumentExtension
- class generated.WorkspaceExtension
- class generated.MemberExtension
- Returns:
- a Collection of Class.
- Since:
- jcms-5.5.0
-
getUrl
public java.lang.String getUrl()
Returns the Url of the channel. This is the url to be used for content to be read outside the site (email, newsletter, etc).- Returns:
- the base url of the channel
-
getName
public java.lang.String getName()
Returns the name of the channel- Returns:
- the channel's name, e.g "JCMS".
-
getUrid
public java.lang.String getUrid()
Returns the urid of the channel- Returns:
- the channel's urid, e.g "c".
- Since:
- jcms-4.0.2
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object- See Also:
getName()
-
getJcmsInfo
public JcmsInfo getJcmsInfo()
Return a JcmsInfo instance (a singleton) which describe the JCMS version of this channel.- Returns:
- a JcmsInfo instance
- Since:
- jcms-3.0
-
getHierarchicalWorkspaceLimit
public int getHierarchicalWorkspaceLimit()
Returns the hierarchical workspace limit define by property "hierarchical-ws.menu-limit".- Returns:
- int
-
addChannelListener
public void addChannelListener(ChannelListener listener)
Adds a ChannelListener.- Parameters:
listener- the ChannelListener to add- Since:
- jcms-2.1
-
removeChannelListener
public void removeChannelListener(ChannelListener listener)
Removes a ChannelListener.- Parameters:
listener- the ChannelListener to remove- Since:
- jcms-2.1
-
addStoreListener
public void addStoreListener(StoreListener listener, java.lang.Class<?> clazz, boolean repeat)
Adds a StoreListener associated to a given class. This listener will be notified each time an instance of this class will be created, updated or deleted.- Parameters:
listener- the StoreListener to addclazz- the class to listen to.repeat- If true, the listener will be called every time an operation is processed on the given class, that is during store load (if listener is added before store load) and for every following operation on every replica. If false, the listener will only be called the very first time the operation takes place, and only on the replica where it is done (also not during store load).
-
addStoreListener
public void addStoreListener(StoreListener listener, boolean repeat)
Adds a StoreListener for all storable classes. This listener will be notified each time a storable will be created, updated or deleted.- Parameters:
listener- the StoreListener to addrepeat- true if the listner must notify each time this operation is processed
-
removeStoreListener
public void removeStoreListener(StoreListener listener, java.lang.Class<?> clazz)
Removes a StoreListener associated to a given class.- Parameters:
listener- the StoreListener to removeclazz- the class to listen to.- Since:
- jcms-2.1
-
removeStoreListener
public void removeStoreListener(StoreListener listener)
Removes a StoreListener for all storable classes.- Parameters:
listener- the StoreListener to remove- Since:
- jcms-2.1
-
getStoreListenerSet
public java.util.Set<StoreListener> getStoreListenerSet()
Returns the set of StoreListener listening for all data.- Returns:
- the set of StoreListener listening for all data.
- Since:
- jcms-5.5.0
-
getStoreListenerClassMap
public java.util.Map<java.lang.Class<?>,java.util.Set<StoreListener>> getStoreListenerClassMap()
Returns the map class/StoreListener.- Returns:
- the map class/StoreListener.
- Since:
- jcms-5.5.0
-
addDBListener
public void addDBListener(DBListener listener)
Add a DBListener to listen to all the Data.- Parameters:
listener- the listener to be added.- Since:
- jcms-6.0.0
-
addDBListener
public void addDBListener(DBListener listener, java.lang.Class<?> clazz)
Add a DBListener to listen to the given class of data.- Parameters:
listener- the listener to be added.clazz- the class to listen to.- Since:
- jcms-6.0.0
-
removeDBListener
public void removeDBListener(DBListener listener)
Remove a DBListener.- Parameters:
listener- the listener to be removed.- Since:
- jcms-6.0.0
-
removeDBListener
public void removeDBListener(DBListener listener, java.lang.Class<?> clazz)
Remove a DBListener.- Parameters:
listener- the listener to be removed.clazz- the exact class that was being listened- Since:
- jcms-6.0.0
-
addJSyncListener
public void addJSyncListener(JSyncListener listener)
Adds a JSyncListener. This listener will be notified each time a JSyncEvent occurs- Parameters:
listener- the JSyncListener to add- Since:
- jcms-9.0.0
-
removeJSyncListener
public void removeJSyncListener(JSyncListener listener)
Removes a JSyncListener.- Parameters:
listener- the JSyncListener to remove- Since:
- jcms-9.0.0
-
addDataController
public void addDataController(DataController dc, java.lang.Class<?> clazz)
Add the given DataController- Parameters:
dc- the DataController to be addedclazz- the clazz this DataController must control- Since:
- jcms-5.0.0
-
removeDataController
public void removeDataController(DataController dc, java.lang.Class<?> clazz)
Remove the given DataController- Parameters:
dc- the DataController to be removedclazz- the clazz this DataController controls- Since:
- jcms-5.5.0
-
getDataControllerSet
public java.util.Set<DataController> getDataControllerSet(java.lang.Class<?> clazz)
- Parameters:
clazz- the class- Returns:
- all the DataController bound to the given class
- Since:
- jcms-5.0.0
-
getDataControllerMap
public java.util.Map<java.lang.Class<?>,java.util.Set<DataController>> getDataControllerMap()
Returns the internal map class/DataController.
CAUTION: returns an internal Map, DO NOT alter this Map unless you really know what you do.- Returns:
- the internal map class/DataController.
- Since:
- jcms-5.5.0
-
addQueryFilter
public void addQueryFilter(QueryFilter qf)
Add the givenQueryFilterto the list of QueryFilters used by the QueryManager (getQueryManager()).- Parameters:
qf- the QueryFilter to be added- Since:
- jcms-5.6.0
-
removeQueryFilter
public void removeQueryFilter(QueryFilter qf)
Remove the givenQueryFilterfrom the list of QueryFilters used by the QueryManager (getQueryManager()).- Parameters:
qf- the QueryFilter to be removed- Since:
- jcms-5.6.0
-
addAuthenticationHandler
public void addAuthenticationHandler(AuthenticationHandler authHandler)
Add the specifiedAuthenticationHandlerto the list of AuthenticationHandlers used by the AuthenticationManager to process users' authentication.- Parameters:
authHandler- the AuthenticationHandler to be added- Since:
- jcms-5.7.0
-
removeAuthenticationHandler
public void removeAuthenticationHandler(AuthenticationHandler authHandler)
Remove the specifiedAuthenticationHandlerfrom the list of AuthenticationHandlers used by the AuthenticationManager to process users' authentication.- Parameters:
authHandler- the AuthenticationHandler to be removed- Since:
- jcms-5.7.0
-
getDataIntegrityReport
public java.util.Map<Data,ControllerStatus> getDataIntegrityReport(boolean refresh)
Deprecated.useCheckIntegrityReportManagerto manipulate dataIntegrityReport mapChecks the integrity constraints of all the data in the store.- Parameters:
refresh- if true recompute the report- Returns:
- a map which contains for each data which does not respect integrity constraints, the key is the data and the value is a ControllerStatus
- Since:
- jcms-5.0.0
-
getDataIntegrityReportDate
public java.util.Date getDataIntegrityReportDate()
Deprecated.useCheckIntegrityReportManagerto manipulate dataIntegrityReportDate variableReturns the date of the last report generation.- Returns:
- the date of the last report generation.
- Since:
- jcms-5.5.0
-
generateLogFromMemory
public void generateLogFromMemory()
Generates a cleaned version of the store.
CAUTION:- All operations on deleted data are removed.
- All update operations are integrated in a new creation operation (except cycling data references which are resolved in a second update step).
-
cleanStore
public LogCleanerReport cleanStore(CleanFilter filter, JcmsContext context, LogCleanerObserver observer)
Cleans the store. Data writes are disabled. The previous store is backuped with the extension .backup-date.- Parameters:
filter- the filter to applycontext- current JcmsContextobserver- the LogCleanerObserver- Returns:
- the clean report
- Since:
- jcms-10.0.8
-
addCleanFilter
public void addCleanFilter(CustomCleanFilter filter)
Adds a custom clean filter.- Parameters:
filter- the filter to be added.- Since:
- jcms-5.5.0
-
removeCleanFilter
public void removeCleanFilter(CustomCleanFilter filter)
Removes a custom clean filter.- Parameters:
filter- the filter to be removed.- Since:
- jcms-5.5.0
-
getCleanFilterList
public java.util.List<CustomCleanFilter> getCleanFilterList()
Returns the list of custom clean filters.- Returns:
- the list of custom clean filters.
- Since:
- jcms-5.5.0
-
appendMilestone
public void appendMilestone(java.lang.String text)
Appends a milestone in the store. Warning ! The milestone is not append if JSync is enabled.- Parameters:
text- the text of the milestone.- Since:
- jcms-5.5.0
- See Also:
Store.appendMilestone(String)
-
getStoreInfo
public StoreInfo getStoreInfo()
-
getStoreLoadReport
public LoadReport getStoreLoadReport()
Deprecated.usegetStoreInfo().getLoadReport()Returns the store load report- Returns:
- the store load report
-
getStoreSize
public int getStoreSize()
Deprecated.usegetStoreInfo().getStorableCount()Returns the size of the store (ie the data count) in bytes.- Returns:
- the size of the store in bytes.
-
getStoreCreateCount
public int getStoreCreateCount()
Deprecated.usegetStoreInfo().getCreateCount()Returns the count of create operations recorded in the store.- Returns:
- the count of create operations.
-
getStoreUpdateCount
public int getStoreUpdateCount()
Deprecated.usegetStoreInfo().getUpdateCount()Returns the count of update operations recorded in the store.- Returns:
- the count of update operations.
-
getStoreDeleteCount
public int getStoreDeleteCount()
Deprecated.usegetStoreInfo().getDeleteCount()Returns the count of delete operations recorded in the store.- Returns:
- the count of delete operations.
-
getStore
public Store getStore()
Returns the store.
Internal, DO NOT use.- Returns:
- the internal Store object.
-
performStoreBackup
public void performStoreBackup()
Perform a backup of the store. The backup file is saved in the backup directory (the one defined by property store.backup-dir or, by default, WEB-INF/data/backup). If there are more than maximum of backup files (defined by property store.max-backup) the oldest backup file is removed.- Since:
- jcms-5.7.0
-
getLockTimeout
public long getLockTimeout()
Return the lock timeout in milliseconds.See property
channel.lock-timeout(warning : value must be in minutes!).- Returns:
- a duration in milliseconds
-
getLocale
public java.util.Locale getLocale()
Return the locale of the channel- Returns:
- a Locale, never return null
-
isTimeZoneEnabled
public boolean isTimeZoneEnabled()
Check if use of TimeZone is enable for this site.TimeZone support can be enabled/disabled with property
channel.timezone.enabled: true/false.- Returns:
- true if use of TimeZone is enabled, false otherwise
- Since:
- jcms-10.0.1 / JCMS-4865, enabled by default since 10.0.8 / JCMS-10585
-
getZoneId
public java.time.ZoneId getZoneId()
Retrieve theZoneIdof the Channel.If available uses TimeZone ID specified in property
channel.default-timezone, otherwise default to default system TimeZone.- Returns:
- a TimeZone, never return null, use system default zone id if none was specified in propery
- Since:
- jcms-10.0.1 / JCMS-4865
-
getDateTimeFormat
public java.text.SimpleDateFormat getDateTimeFormat(java.lang.String lang)
Retrieve a Date formated suitable for parsing and formatting of date & time input of JCMS forms.- Parameters:
lang- the language in which the Date&Time will be formatted/parsed- Returns:
- a date formatter based on the property
{lang}.date-time-format - Since:
- jcms-5.7.0
-
getDateFormat
public java.text.SimpleDateFormat getDateFormat(java.lang.String lang)
Retrieve a Date formated suitable for parsing and formatting of date input of JCMS forms.- Parameters:
lang- the language in which the Date will be formatted/parsed- Returns:
- a date formatter based on the property
{lang}.date-format - Since:
- jcms-5.7.0
-
getDateTimeFormatter
public java.time.format.DateTimeFormatter getDateTimeFormatter(java.lang.String lang)
Retrieve a Date formated suitable for parsing and formatting of date & time input of JCMS forms.- Parameters:
lang- the language in which the Date&Time will be formatted/parsed- Returns:
- a date formatter based on the property
{lang}.date-time-format - Since:
- jcms-10.0.1 / JCMS-4865
-
getDateFormatter
public java.time.format.DateTimeFormatter getDateFormatter(java.lang.String lang)
Retrieve a Date formated suitable for parsing and formatting of date input of JCMS forms.- Parameters:
lang- the language in which the Date will be formatted/parsed- Returns:
- a date formatter based on the property
{lang}.date-format - Since:
- jcms-10.0.1 / JCMS-4865
-
getLangValue
public java.lang.Object getLangValue(java.lang.String lang, boolean useDefault, java.lang.Object value, java.util.HashMap valueML, java.lang.String mainLanguage)Return a value bound to the given language- Parameters:
lang- the language to useuseDefault- should the main language use as defaultvalue- the value in the main languagevalueML- the map of value of the other languagesmainLanguage- the main language- Returns:
- a String bound to the given language
- Since:
- jcms-5.7.0
-
getLangValue
public java.lang.Object getLangValue(java.lang.String lang, boolean useDefault, java.lang.Object value, java.util.HashMap valueML)Return a value bound to the given language- Parameters:
lang- the language to useuseDefault- should the main language use as defaultvalue- the value in the main languagevalueML- the map of value of the other languages- Returns:
- a String bound to the given language
- Since:
- jcms-5.7.0
-
getLangValue
public java.lang.String getLangValue(java.lang.String lang, boolean useDefault, java.lang.String value, java.util.HashMap valueML, java.lang.String mainLanguage)Return a value bound to the given language- Parameters:
lang- the language to useuseDefault- should the main language use as defaultvalue- the value in the main languagevalueML- the map of value of the other languagesmainLanguage- the main language- Returns:
- a String bound to the given language (may be empty but never null)
- Since:
- jcms-5.5.0
-
getLangValue
public java.lang.String getLangValue(java.lang.String lang, boolean useDefault, java.lang.String value, java.util.HashMap valueML)Return a value bound to the given language- Parameters:
lang- the language to useuseDefault- should the main language use as defaultvalue- the value in the main languagevalueML- the map of value of the other languages- Returns:
- a String bound to the given language (may be empty but never null)
- Since:
- jcms-4.0
-
getLangValue
public java.lang.Object[] getLangValue(java.lang.String lang, boolean useDefault, java.lang.Object[] value, java.util.HashMap valueML, java.lang.String mainLanguage)Return a value bound to the given language- Parameters:
lang- the language to useuseDefault- should the main language use as defaultvalue- the value in the main languagevalueML- the map of value of the other languagesmainLanguage- the main language- Returns:
- a String[] bound to the given language
- Since:
- jcms-5.7.0
-
getLangValue
public java.lang.Object[] getLangValue(java.lang.String lang, boolean useDefault, java.lang.Object[] value, java.util.HashMap valueML)Return a value bound to the given language- Parameters:
lang- the language to useuseDefault- should the main language use as defaultvalue- the value in the main languagevalueML- the map of value of the other languages- Returns:
- a String[] bound to the given language
- Since:
- jcms-5.7.0
-
getLangValue
public java.lang.String[] getLangValue(java.lang.String lang, boolean useDefault, java.lang.String[] value, java.util.HashMap valueML, java.lang.String mainLanguage)Return a value bound to the given language- Parameters:
lang- the language to useuseDefault- should the main language use as defaultvalue- the value in the main languagevalueML- the map of value of the other languagesmainLanguage- the main language- Returns:
- a String[] bound to the given language
- Since:
- jcms-5.5.0
-
getLangValue
public java.lang.String[] getLangValue(java.lang.String lang, boolean useDefault, java.lang.String[] value, java.util.HashMap valueML)Return a value bound to the given language- Parameters:
lang- the language to useuseDefault- should the main language use as defaultvalue- the value in the main languagevalueML- the map of value of the other languages- Returns:
- a String[] bound to the given language
- Since:
- jcms-4.0
-
isMultilingual
public boolean isMultilingual()
- Returns:
- true if the channel is multilingual i.e. getLanguageList() (channel.languages) contains more than one language.
- Since:
- jcms-4.0
- See Also:
getLanguageList()
-
isMainLanguage
public boolean isMainLanguage(java.lang.String lang)
- Parameters:
lang- the lang to check- Returns:
- true if the given lang is the main language of the channel
- See Also:
getLanguage()
-
isUsingAdvancedI18N
public boolean isUsingAdvancedI18N()
Indicates whether JCMS is in advanced internationalization mode. This mode controls some behavior of JCMS regarding language management:- if html 'lang' attribute should be precised when appropriate.
- if css lang class '{iso639code}-lang' attribute should be precised when appropriate.
- Returns:
- true if advances behavior are enable, false otherwise.
- Since:
- jcms-5.5.0
-
getLanguageDirection
public java.lang.String getLanguageDirection(java.lang.String lang)
Retrieves the text/table direction to use for the given language.- Parameters:
lang- the ISO-639 code of the language to- Returns:
- A String representing the text direction, "rtl" or "ltr", to use for a dir attribute inside an html tag as specified in the html spec. This method never returns null. see http://www.w3.org/TR/REC-html40/struct/dirlang.html
- Since:
- jcms-5.5.0
-
getUsedLanguage
public java.lang.String getUsedLanguage(Data data, java.lang.String fieldName, java.lang.String lang)
Retrieve the language code really used if the field of the given publication is requested in the given language.- Parameters:
data- the Data or Publication of which to retrieve the field valuefieldName- the field name to retrievelang- the language in which the field was asked (ISO-639 code).- Returns:
- an ISO-639 language code.
- Since:
- jcms-5.5.0
-
getLanguageList
public java.util.List<java.lang.String> getLanguageList()
Retrieve all the languages of this channel with the main language as the first one of the list.- Returns:
- all the ISO-639 language code available for this channel, as defined with "channel.languages" property, the default language will be first in the list.
- Since:
- jcms-4.0
-
getLanguageListOrdered
public java.util.List<java.lang.String> getLanguageListOrdered()
Retrieve all the languages of this channel in the exact ordered in which they were specified in the properties.- Returns:
- all the ISO-639 language code available for this channel, as defined with "channel.languages" property, the list will keep order in which they are specified in the property.
- Since:
- jcms-5.5.0
-
getOtherLanguageList
public java.util.List<java.lang.String> getOtherLanguageList()
Retrieve all the languages of this channel excepted the main language.- Returns:
- all ISO-639 language code of this channel, minus the default language (i.e. getLanguageList() - getLanguage())
- Since:
- jcms-4.0
-
getLocalizedLanguageList
public java.util.List<java.lang.String> getLocalizedLanguageList()
Retrieves all the languages specified in the properties in which JCMS is localized.- Returns:
- a List of ISO-639 language code.
-
getJcmsLanguageList
public java.util.List<java.lang.String> getJcmsLanguageList()
Retrieves all the languages in which JCMS is localized.- Returns:
- a List of ISO-639 language code.
-
getLanguage
public java.lang.String getLanguage()
- Returns:
- the main language of the site
-
getDefaultLanguage
public java.lang.String getDefaultLanguage()
- Returns:
- the default language used to display data that are not translated in a given language.
- Since:
- jcms-10.0.5
-
getCountry
public java.lang.String getCountry()
Retrieve the default country of the site- Returns:
- an ISO 3166 country code as used by java
Locale - Since:
- jcms-7.1
-
updateAndSaveProperties
public void updateAndSaveProperties(JProperties prop)
Updates and save specified properties.- Parameters:
prop- the properties to be updated/saved.- See Also:
JProperties.updateAndSave(java.io.File)
-
updateAndSaveProperties
public void updateAndSaveProperties(JProperties prop, boolean notifyListener)
Updates and saves specified properties.- Parameters:
prop- the properties to be updated/saved.notifyListener- if true notify the JPropertyListeners- Since:
- JCMS-9.0.0
- See Also:
JProperties.updateAndSave(java.io.File)
-
containsProperty
public boolean containsProperty(java.lang.String name)
Tests if this JProperties contains the given property key/name.- Parameters:
name- the key/name of the property to check- Returns:
- true if the specified object is a key in this hashtable; false otherwise.
- See Also:
JProperties.containsProperty(java.lang.String)
-
getProperty
public java.lang.String getProperty(java.lang.String name)
Gets value of a property.- Parameters:
name- the key/name of the property to retrieve- Returns:
- the property value
- See Also:
JProperties.getProperty(java.lang.String)
-
getProperty
public java.lang.String getProperty(java.lang.String name, java.lang.String defaultValue)Gets the value of a property given its key/name.- Parameters:
name- the key/name of the property to retrievedefaultValue- the default value to use if the existing value is null.- Returns:
- the value of a property given its key/name.
- See Also:
JProperties.getProperty(java.lang.String, java.lang.String)
-
getBooleanProperty
public boolean getBooleanProperty(java.lang.String name, boolean defaultValue)Gets the value of a property as a boolean given its key/name.- Parameters:
name- the key/name of the property to retrievedefaultValue- the default value to use if the existing value is null or is neither "false" nor "true" (case sensitive).- Returns:
- the boolean value of the property
- See Also:
JProperties.getBooleanProperty(java.lang.String, boolean)
-
getIntegerProperty
public int getIntegerProperty(java.lang.String name, int defaultValue)Gets the value of a property as an int value given its key/name.- Parameters:
name- the key/name of the property to retrievedefaultValue- the default value to use if the existing value is null or if Integer.parseInt() throws exception during String to int conversion.- Returns:
- the int value of the property
- See Also:
JProperties.getIntegerProperty(java.lang.String, int)
-
getLongProperty
public long getLongProperty(java.lang.String name, long defaultValue)Gets the value of a property as a long value given its key/name.- Parameters:
name- the key/name of the property to retrievedefaultValue- the default value to use if the existing value is null or if Long.parseLong() throws exception during String to long conversion.- Returns:
- the long value of the property
- See Also:
JProperties.getLongProperty(java.lang.String, long)
-
getFloatProperty
public float getFloatProperty(java.lang.String name, float defaultValue)Gets the value of a property as a float value given its key/name.- Parameters:
name- the key/name of the property to retrievedefaultValue- the default value to use if the existing value is null or if Float.parseFloat() throws exception during String to float conversion.- Returns:
- the float value of the property
- See Also:
JProperties.getFloatProperty(java.lang.String, float)
-
getDoubleProperty
public double getDoubleProperty(java.lang.String name, double defaultValue)Gets the value of a property as a double value given its key/name.- Parameters:
name- the key/name of the property to retrievedefaultValue- the default value to use if the existing value is null or if Double.parseDouble() throws exception during String to double conversion.- Returns:
- the double value of the property
- See Also:
JProperties.getDoubleProperty(java.lang.String, double)
-
getStringArrayProperty
public java.lang.String[] getStringArrayProperty(java.lang.String name, java.lang.String[] defaultValue)Gets the value of a property as a String array.The property value must be in one of the following forms:
- "@{delim}value1{delim}value2...", where
{delim}is one character delimiter of your choice. - "value1{delim}value2{delim}...", where
{delim}is a character from\t\n\r\f.
String[] array = prop.getStringArrayProperty("missingexample", new String[] { "default", "value"}); assertEquals(2, array.length); assertEquals("default", array[0]); assertEquals("value", array[1]); prop.setProperty("example1", "@|abc|def"); String[] array1 = prop.getStringArrayProperty("example1", new String[] { }); assertEquals(2, array1.length); assertEquals("abc", array1[0]); assertEquals("def", array1[1]); prop.setProperty("example2", "foo bar\tzig"); String[] array2 = prop.getStringArrayProperty("example2", new String[] { }); assertEquals(3, array2.length); assertEquals("foo", array2[0]); assertEquals("bar", array2[1]); assertEquals("zig", array2[2]);- Parameters:
name- the key/name of the property to retrievedefaultValue- the default value to use if the existing value is null or no values could be found in the conversion.- Returns:
- a String array
- See Also:
JProperties.getStringArrayProperty(java.lang.String,java.lang.String[])
- "@{delim}value1{delim}value2...", where
-
getIntArrayProperty
public int[] getIntArrayProperty(java.lang.String name, int[] defaultValue)Gets the value of a property as a int array. Uses same format ofgetStringArrayProperty(String, String[]).- Parameters:
name- the key/name of the property to retrievedefaultValue- the default value to use if the existing value is null or no values could be found in the conversion.- Returns:
- an int array
- See Also:
JProperties.getIntArrayProperty(java.lang.String,int[])
-
getChannelProperties
public JProperties getChannelProperties()
Returns the internal properties used by channel.
As of version 5.5 those properties are the same asgetLanguageProperties()but may differ in a future revision. Do not change any JCMS property at runtime, behaviour of JCMS maybe incorrect if you do so, use the user interface for such task. However you can modify any of your own properties.- Returns:
- the internal LangProperties of this channel.
-
getLanguageProperties
public LangProperties getLanguageProperties()
Gets the internal language properties used by channel.
As of version 5.5 those properties are the same asgetChannelProperties()but may differ in a future revision. Do not change any JCMS property at runtime, behaviour of JCMS maybe incorrect if you do so, use the user interface for such task. However you can modify any of your own properties.- Returns:
- the internal LangProperties of this channel.
- Since:
- jcms-5.5.0
-
getProperties
public LangProperties getProperties(java.lang.String prefix)
Gets a new LangProperties instance containg all the properties whose name starts with the given prefix.- Parameters:
prefix- the prefix- Returns:
- a new instance of LangProperties containing found properties
- See Also:
LangProperties.getProperties(java.lang.String)
-
getSortedProperties
public java.util.Map<java.lang.String,java.lang.String> getSortedProperties(java.lang.String prefix)
Returns a Map containing all the properties whose name starts with the given prefix sorted by key.- Parameters:
prefix- the prefix- Returns:
- a new instance of Map containing found properties sorted by key
- See Also:
LangProperties.getProperties(java.lang.String)
-
getSortedProperties
public java.util.Map<java.lang.String,java.lang.String> getSortedProperties(java.lang.String prefix, boolean trim)Returns a Map containing all the properties whose name starts with the given prefix sorted by key. If boolean trim is set to true then remove prefix from key before sorting.- Parameters:
prefix- the prefixtrim- boolean true to remove prefix from key- Returns:
- a new instance of Map containing found properties with truncated key
- See Also:
getSortedProperties(java.lang.String)
-
getSubProperties
public java.util.Map<java.lang.String,java.lang.Object> getSubProperties(java.lang.String prefix)
- Parameters:
prefix- the prefix- Returns:
- a map with string as the key and either String or JProperties as the value.
- See Also:
JProperties.getSubProperties(java.lang.String)
-
setProperty
public void setProperty(java.lang.String name, java.lang.String value)Modify an internal property with the given value.
Do not change any JCMS property at runtime, behaviour of JCMS maybe incorrect if you do so, use the user interface for such task. However you can modify any of your own properties.- Parameters:
name- the name/key of the property to changevalue- the new value of this propert- See Also:
JProperties.setProperty(String, String)
-
addPropertiesListener
public void addPropertiesListener(JPropertiesListener listener)
Adds a properties listener.- Parameters:
listener- the properties listener- Since:
- jcms-6.0.0
-
removePropertiesListener
public void removePropertiesListener(JPropertiesListener listener)
Removes a properties listener.- Parameters:
listener- the properties listener- Since:
- jcms-6.0.0
-
addHttpHeaders
public void addHttpHeaders(javax.servlet.http.HttpServletResponse response)
An internal method used to add HTTP headers in the response.HTTP headers are read from properties
channel.http-header.{HTTP-Header-Name}: {HTTP-Header-Value}Exclude JSP(s) may be specified in propertychannel.http-header-excluded: {exclude-jsp-name-1} {exclude-jsp-name-2} ....- Parameters:
response- the response- Since:
- jcms-8.0.1
-
addGlobalHttpHeaders
public void addGlobalHttpHeaders(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)An internal method used to add HTTP headers in the response.HTTP headers are read from properties
channel.global-http-header.{HTTP-Header-Name}: {HTTP-Header-Value}Exclude servlet path(s) may be specified in propertychannel.global-http-header-excluded: {exclude-servlet-path-1} {exclude-servlet-path-2} ....- Parameters:
request- the current HttpServletRequestresponse- the current HttpServletResponse- Since:
- jcms-10.0.1 / JCMS-6392
-
getCommonGroupSet
public java.util.Set<Group> getCommonGroupSet()
Return all the global groups- Returns:
- Set a set of groups
-
getWorkspaceSet
public java.util.Set<Workspace> getWorkspaceSet(Workflow wf)
Return a Set of Workspace that use the given Workflow- Parameters:
wf- the Workflow to look for- Returns:
- a Set of Workspace
-
setCurrentServletRequest
public void setCurrentServletRequest(javax.servlet.http.HttpServletRequest request)
Assigns the current servlet request. This method should only be called once byinitFilter.- Parameters:
request- the ServletRequest- Since:
- jcms-5.5.0
-
clearCurrentServletRequest
public void clearCurrentServletRequest()
Removes the current servlet request of the thread. This method should only be called once byinitFilter.- Since:
- jcms-5.5.0
-
getCurrentServletRequest
public javax.servlet.http.HttpServletRequest getCurrentServletRequest()
Returns the current servlet request. It returns a not null value only if it is called in a servlet/jsp context.- Returns:
- the current servlet request or null.
- Since:
- jcms-5.5.0
- See Also:
getCurrentJcmsContext()
-
setCurrentServletResponse
public void setCurrentServletResponse(javax.servlet.http.HttpServletResponse response)
Assigns the current servlet response. This method should only be called once byinitFilter.- Parameters:
response- the ServletResponse- Since:
- jcms-6.0.0.
-
clearCurrentServletResponse
public void clearCurrentServletResponse()
Removes the current servlet response of the thread. This method should only be called once byinitFilter.- Since:
- jcms-6.0.0
-
getCurrentServletResponse
public javax.servlet.http.HttpServletResponse getCurrentServletResponse()
Returns the current servlet response. It returns a not null value only if it is called in a servlet/jsp context.- Returns:
- the current servlet response or null.
- Since:
- jcms-6.0.0
- See Also:
getCurrentJcmsContext()
-
getCurrentRequestAttribute
public java.lang.Object getCurrentRequestAttribute(java.lang.String name)
Returns the value of the given request attribute- Parameters:
name- the name of the attribute- Returns:
- the value of the attribute
- Since:
- jcms-10.0.7
-
setCurrentRequestAttribute
public void setCurrentRequestAttribute(java.lang.String name, java.lang.Object value)Sets the given request attribute with the given value- Parameters:
name- the name of the attributevalue- the value of the attribute- Since:
- jcms-10.0.7
-
getCurrentJcmsContext
public JcmsContext getCurrentJcmsContext()
Returns the JcmsContext of the current servlet request of the current thread.
It returns a null value if it is not called in a jsp context. It must not be called from Servlet or ServletFilter as the JcmsContext has not yet been initialized (doInitPage.jsp) and will always return null in such case.- Returns:
- the JcmsContext instance associated with the current servlet request, returns null if the current thread has no Servlet Request or if the JcmsContext instance has not yet been initialized.
- Since:
- jcms-5.5.0
- See Also:
getCurrentServletRequest()
-
getCurrentUserLang
public java.lang.String getCurrentUserLang()
Returns the user language if it is available (i.e. if called during a user request). Otherwise it returns the main language.- Returns:
- either the user language or the main language.
- Since:
- jcms-5.7.0
-
getCurrentUserLocale
public java.util.Locale getCurrentUserLocale()
Returns the user Locale if it is available (i.e. if called during a user request). Otherwise it returns the Locale of the site's language.- Returns:
- either the user's Locale or the site's Locale.
- Since:
- jcms-5.7.3
-
getCurrentUserZoneId
public java.time.ZoneId getCurrentUserZoneId()
Returns the userZoneIdif it is available (i.e. if called during a user request). Otherwise it returns theZoneIdof the site.- Returns:
- either the user's
ZoneIdor the site'sZoneId. - Since:
- jcms-10.0.1 / JCMS-4865
-
getCurrentLoggedMember
public Member getCurrentLoggedMember()
Returns the Member currently loggued in for the current request.
This method must be called during a user request to work otherwise it returns null.- Returns:
- the Member logged for the current request, or null if user is not logged in.
- Since:
- jcms-5.7.2
-
getCurrentDelegateMember
public Member getCurrentDelegateMember()
Returns the original Member of the current session if he has connected to another account since then (using JCMS_sulogin feature).
UsesDelegationAuthenticationHandler.getSuHistory(HttpServletRequest).
Used by internal method during data creation/update/delete to correctly set the opDelegate field of any Data.
This method must be called during a user request to work otherwise it returns null.- Returns:
- the original Member who created the current session, or null if there has been no changes.
- Since:
- jcms-5.7.0
-
isFailSafeMode
public boolean isFailSafeMode()
-
getCsTypologyRootCat
public Category getCsTypologyRootCat()
- Returns:
- the csTypologyRootCat CollaborativeSpace typology root category if any.
- Since:
- jcms-10.0.7
-
-