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
UseStoreListener
to be informed when Storable are created, updated or deleted from this site. -
Channel Listeners
UseChannelListener
to be informed when the site is shutting down. -
Data Controller
UseDataController
to control Data integrity, validation and execution of Data write operation. -
Query Filters
UseQueryFilter
to customize behavior of JCMS during search. -
Authentication Handlers
UseAuthenticationHandler
to 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, useglp
methods 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 intoFile
s 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)
getCleanFilterList()
generateLogFromMemory()
-
Retrieving Store Informations
-
- Version:
- $Revision: 136255 $
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
Channel.TypeLabelComparator
Sort type according their label in a given language.
-
Field Summary
Fields Modifier and Type Field Description protected boolean
adminIpNoPattern
protected org.apache.oro.text.regex.Pattern
adminIpPattern
protected java.util.Set<Category>
advRefineRootSet
protected java.util.Map<java.lang.String,AlarmManager>
alarmManagerMap
protected java.util.HashMap<java.lang.Class<?>,java.util.Map<java.lang.String,TypeFieldEntry>>
allTypeFieldEntriesCacheMap
protected AppServerInfo
appServerInfo
protected AuthenticationManager
authMgr
protected CacheManager
cacheManager
protected static Channel
channel
protected java.util.TreeSet<ChannelListener>
channelListenerSet
protected java.util.Map<java.lang.Class<? extends Data>,java.util.Set<Data>>
class2dataSet
protected java.lang.ClassLoader
classLoader
protected java.util.List<CustomCleanFilter>
cleanFilterList
protected javax.servlet.ServletContext
context
protected java.util.ArrayList<java.lang.Class<? extends Publication>>
coreTypeList
protected java.lang.String
country
protected java.lang.ThreadLocal<javax.servlet.http.HttpServletRequest>
currentServletRequest
protected java.lang.ThreadLocal<javax.servlet.http.HttpServletResponse>
currentServletResponse
protected java.util.HashMap<java.lang.Class<?>,java.util.Set<DataController>>
dataControllerMap
protected java.util.TreeMap<Data,ControllerStatus>
dataIntegrityReport
protected java.util.Date
dataIntegrityReportDate
protected DataListener
dataListener
protected java.text.SimpleDateFormat
dateFormat
protected java.text.SimpleDateFormat
dateTimeFormat
protected Member
defaultAdmin
protected java.lang.String
defaultEmail
protected Group
defaultGroup
protected java.lang.String
defaultLanguage
protected java.lang.String[]
defaultQueryTypes
protected java.lang.String[]
defaultQueryTypesOff
protected Workspace
defaultWorkspace
protected java.util.HashMap<java.lang.Class<?>,java.util.Map<java.lang.String,TypeFieldEntry>>
exactTypeFieldEntriesCacheMap
protected FileIndexManager
fim
protected java.util.Set<java.lang.String>
globalHttpHeaderExcludedSet
protected java.util.Map<java.lang.String,java.lang.String>
globalHttpHeaderMap
protected java.util.Set<java.lang.String>
httpHeaderExcludedSet
protected java.util.Map<java.lang.String,java.lang.String>
httpHeaderMap
protected java.util.HashMap<java.lang.String,java.lang.String>
ipToReverseProxyConfNameMap
protected boolean
isAttachWSEnabled
protected boolean
isAttachWSEnabledComputed
protected boolean
isAvailable
protected boolean
isDataWriteEnabled
protected boolean
isDataWriteEnabledComputed
protected boolean
isDeployManagerEnabled
protected java.lang.Boolean
isFlowChartBackwardCompatibilityEnabled
protected boolean
isGzipCompressionEnabled
protected boolean
isIncomingMailEnabled
protected boolean
isNotificationEnabled
protected boolean
isReverseProxyEnabled
protected static boolean
isSSLenabled
protected java.lang.Boolean
isTimeZoneEnabled
protected boolean
isUsingAdvancedI18N
protected boolean
isWebdavEnable
protected boolean
isWebdavEnableComputed
protected JcmsInfo
jcmsInfo
protected boolean
jsyncAutoUpdate
protected long
jsyncDownloadInterval
protected boolean
jsyncEnabled
protected java.lang.String
jsyncExplicitReplicaList
protected boolean
jsyncHasLeader
protected org.apache.oro.text.regex.Pattern
jsyncIpPattern
protected java.lang.String
jsyncLeaderUrl
protected JSyncPreviousReplicaManager
jsyncPreviousReplicaManager
protected JSyncReplica
jsyncReplica
protected java.lang.String
jsyncReplicaUrl
protected long
jsyncStabDelay
protected boolean
jsyncSuggestJoin
protected boolean
jsyncSyncFiles
protected java.lang.String
jsyncUpdateMode
protected java.lang.String
language
protected LinkIndexManager
lim
protected LimitController
limitController
protected java.util.Locale
locale
protected LuceneMemberSearchEngine
mbrSearchEngine
protected java.lang.String
name
protected AlarmEntry
nlAlarmEntry
protected CategoryRight
noCategoryRight
protected NotificationManager
notificationManager
protected Group
organizationRootGroup
protected PropertyManager
propMgr
protected java.lang.Class<?>[]
publicationSuperTypes
protected java.util.Map<java.lang.String,java.util.List<java.lang.Class<? extends Publication>>>
publicationTypeMap
protected PublicationListener
pubListener
protected java.util.Set<Publication>
pubWithoutCategories
protected QueryManager
queryMgr
protected int
realPathLength
protected java.util.Set<Category>
refineRootSet
protected java.util.HashMap<java.lang.String,java.lang.String>
reverseProxyBaseURL
protected java.util.HashMap<java.lang.String,java.lang.String>
reverseProxyContextPath
protected java.util.HashMap<java.lang.String,java.lang.String>
reverseProxySSLBaseURL
static java.lang.String
REVISION
protected java.util.HashSet<java.lang.String>
rightToLeftLanguageSet
protected Category
rootCategory
protected java.util.Set<Category>
rootCategoryAsSet
protected CategoryRight
rootCategoryRight
protected java.util.Set<Category>
searchRootSet
protected java.lang.String
securedUrl
protected static int
SSLport
protected Store
store
protected java.io.File
storeBackupDir
protected int
storeBackupMax
protected java.lang.String
storeFilePath
protected Category
tagRoot
protected TypeProcessor
typeProcessor
protected java.lang.String
uri
protected java.lang.String
urid
protected java.lang.String
url
protected java.util.HashMap<java.lang.String,java.util.Set<java.lang.String>>
virtualIDMap
protected java.io.File
webappDir
protected java.lang.String
webdavEncoding
protected boolean
workspacesIpNoPattern
protected org.apache.oro.text.regex.Pattern
workspacesIpPattern
protected java.time.ZoneId
zoneId
-
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, 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_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_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 void
addAuthenticationHandler(AuthenticationHandler authHandler)
Add the specifiedAuthenticationHandler
to the list of AuthenticationHandlers used by the AuthenticationManager to process users' authentication.void
addChannelListener(ChannelListener listener)
Adds a ChannelListener.void
addCleanFilter(CustomCleanFilter filter)
Adds a custom clean filter.void
addDataController(DataController dc, java.lang.Class<?> clazz)
Add the given DataControllervoid
addDBListener(DBListener listener)
Add a DBListener to listen to all the Data.void
addDBListener(DBListener listener, java.lang.Class<?> clazz)
Add a DBListener to listen to the given class of data.void
addGlobalHttpHeaders(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
An internal method used to add HTTP headers in the response.void
addHttpHeaders(javax.servlet.http.HttpServletResponse response)
An internal method used to add HTTP headers in the response.void
addJSyncListener(JSyncListener listener)
Adds a JSyncListener.void
addPropertiesListener(JPropertiesListener listener)
Adds a properties listener.void
addQueryFilter(QueryFilter qf)
Add the givenQueryFilter
to the list of QueryFilters used by the QueryManager (getQueryManager()
).void
addStoreListener(StoreListener listener, boolean repeat)
Adds a StoreListener for all storable classes.void
addStoreListener(StoreListener listener, java.lang.Class<?> clazz, boolean repeat)
Adds a StoreListener associated to a given class.void
appendMilestone(java.lang.String text)
Appends a milestone in the store.boolean
canMemberAccessFile(java.lang.String filename, Member member)
Check if the given member can access the given file (dangling documents are checked, see checkMemberAccessFile()).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.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 filevoid
cleanStore(CleanFilter filter, JcmsContext context)
Cleans the store.void
clearCurrentServletRequest()
Removes the current servlet request of the thread.void
clearCurrentServletResponse()
Removes the current servlet response of the thread.boolean
containsProperty(java.lang.String name)
Tests if this JProperties contains the given property key/name.void
createData(Data data, Member opAuthor)
Creates a data in the store.java.lang.String
crypt(java.lang.String str)
Hash the specified string with the BCrypt encryption algorithm.void
deleteData(Data data, Member opAuthor)
Delete a data in the store.protected static void
destroy()
Singleton Method to finalize and destroy the channel.void
disableDataWrite(java.lang.String msg)
Disable data write.void
enableDataWrite()
Enable data wirte.protected void
finalize()
Handles the finalize invocationvoid
fireChannelFinalize()
Call methodChannelListener.handleFinalize()
of every registeredChannelListener
.
This methods is called when the site is restarted or shutdown.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). 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.AlarmManager
getAlarmManager(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 ofTypeFieldEntry
bound to givenClass
.TypeFieldEntry[]
getAllTypeFieldEntries(java.lang.String className)
Return an array ofTypeFieldEntry
bound to givenClass
name.AppServerInfo
getAppServerInfo()
Return the AppServerInfo instance (a singleton) which describe the underlying application server.AuthenticationManager
getAuthMgr()
Returns the current AuthenticationManager instance used by JCMS to authenticate members into JCMS.int
getBcryptLogRoundsMax()
Returns the maximum log2 of the number of rounds of hashing authorized in the password bcrypt hash.int
getBcryptLogRoundsMin()
Returns the mininum log2 of the number of rounds of hashing authorized in the password bcrypt hash.boolean
getBooleanProperty(java.lang.String name, boolean defaultValue)
Gets the value of a property as a boolean given its key/name.CacheManager
getCacheManager()
Category
getCategory(java.lang.String id)
Returns a category from its idCategoryRight
getCategoryRight(java.util.HashSet<Category> roots, int mode, boolean create)
Returns the CategoryRight matching the given criteriastatic Channel
getChannel()
Singleton Method to get the channelJProperties
getChannelProperties()
Returns the internal properties used by channel.java.lang.Class
getClass(java.lang.String className)
Load and return a classjava.lang.Class[]
getClass(java.lang.String[] clazzStr)
Load and return classesjava.lang.ClassLoader
getClassLoader()
Returns the classLoaderjava.lang.Class
getClassOrNull(java.lang.String className)
Load and return a classjava.lang.String
getCleanFilename(java.lang.String filename)
Clean the given filename.java.util.List<CustomCleanFilter>
getCleanFilterList()
Returns the list of custom clean filters.AlarmManager
getCommonAlarmManager()
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.String
getCountry()
Retrieve the default country of the siteCategory
getCsTypologyRootCat()
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.JcmsContext
getCurrentJcmsContext()
Returns the JcmsContext of the current servlet request of the current thread.Member
getCurrentLoggedMember()
Returns the Member currently loggued in for the current request.java.lang.Object
getCurrentRequestAttribute(java.lang.String name)
Returns the value of the given request attributejavax.servlet.http.HttpServletRequest
getCurrentServletRequest()
Returns the current servlet request.javax.servlet.http.HttpServletResponse
getCurrentServletResponse()
Returns the current servlet response.java.lang.String
getCurrentUserLang()
Returns the user language if it is available (i.e.java.util.Locale
getCurrentUserLocale()
Returns the user Locale if it is available (i.e.java.time.ZoneId
getCurrentUserZoneId()
Returns the userZoneId
if 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.String
getCustomPropFilePath()
Returns the file path of the custom.prop file.java.util.List
getCustomTypeList()
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.Data
getData(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)
long
getDataCount(java.lang.Class<? extends Data> clazz)
Returns the number of data available for the given class.java.util.Map<Data,ControllerStatus>
getDataIntegrityReport(boolean refresh)
Checks the integrity constraints of all the data in the store.java.util.Date
getDataIntegrityReportDate()
Returns the date of the last report generation.java.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.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.DataRight
getDataRight(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.String
getDataSourceLabel(java.lang.String dataSource, java.lang.String userLang)
Returns the label for the given data source.java.text.SimpleDateFormat
getDateFormat(java.lang.String lang)
Retrieve a Date formated suitable for parsing and formatting of date input of JCMS forms.java.time.format.DateTimeFormatter
getDateFormatter(java.lang.String lang)
Retrieve a Date formated suitable for parsing and formatting of date input of JCMS forms.java.text.SimpleDateFormat
getDateTimeFormat(java.lang.String lang)
Retrieve a Date formated suitable for parsing and formatting of date & time input of JCMS forms.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.DBData
getDBData(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.Member
getDefaultAdmin()
Returns the default admin.java.lang.String
getDefaultEmail()
Returns the default email of the channel get from the property channel.default-emailGroup
getDefaultGroup()
Returns the default group.java.lang.String
getDefaultLanguage()
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)Workspace
getDefaultWorkspace()
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.double
getDoubleProperty(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.FileIndexManager
getFileIndexManager()
Return theFileIndexManager
singleton instance which manages Data's links to filename.Publication
getFirstPublicationFromTitle(java.lang.String title)
Returns the first publication with the title in default site language matching the given title.<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.float
getFloatProperty(java.lang.String name, float defaultValue)
Gets the value of a property as a float value given its key/name.Group
getGroup(java.lang.String id)
Returns a group from its idGroup
getGroupFromDN(java.lang.String dn)
Returns a LDAP group from its distinguish name.Group
getGuestGroup()
Returns the Guests group bound to virtual IDMember.GUEST_GROUP_VID
.int
getHierarchicalWorkspaceLimit()
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.int
getIntegerProperty(java.lang.String name, int defaultValue)
Gets the value of a property as an int value given its key/name.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.JcmsInfo
getJcmsInfo()
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.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.org.apache.oro.text.regex.Pattern
getJSyncIpPattern()
java.lang.String
getJSyncLeaderUrl()
JSyncPreviousReplicaManager
getJSyncPreviousReplicaManager()
JSyncReplica
getJSyncReplica()
java.lang.String
getJSyncReplicaUrl()
long
getJSyncStabDelay()
java.lang.String
getLanguage()
java.lang.String
getLanguageDirection(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.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.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.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.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.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 languageLDAPConfiguration
getLDAPConfiguration()
Deprecated.LDAPConfiguration
getLDAPConfigurationFromDN(java.lang.String dn)
Deprecated.LDAPConfiguration
getLDAPConfigurationFromDomain(java.lang.String domain)
Deprecated.LDAPConfiguration
getLDAPConfigurationFromLogin(java.lang.String login)
Deprecated.LimitController
getLimitController()
Returns the LimitController which is in charge to validate license limitations of JCMS.int
getLinkCount(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.LinkIndexManager
getLinkIndexManager()
Return theLinkIndexManager
singleton instance which manages Data's links on each other.java.util.Locale
getLocale()
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.long
getLockTimeout()
Return the lock timeout in milliseconds.long
getLongProperty(java.lang.String name, long defaultValue)
Gets the value of a property as a long value given its key/name.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.Member
getMember(java.lang.String id)
Returns a member from its idMember
getMemberFromEmail(java.lang.String email)
Returns the member with the given email.Member
getMemberFromLogin(java.lang.String login)
Returns the member with the given login.Member
getMemberFromLogin(java.lang.String login, boolean checkDisabled)
Returns the member with the given login.LuceneMemberSearchEngine
getMemberSearchEngine()
Retrieve the singleton instance of the MemberSearchEngine used by JCMS.MetaDataExtractor
getMetaDataExtractor(java.lang.String contentType)
Returns a metadata extractor bound to the given contentTypejava.lang.String
getName()
Returns the name of the channelCategoryRight
getNoCategoryRight()
Returns the CategoryRight which sets edition of cateogry forbiddenNotificationManager
getNotificationManager()
PageResult<Publication>
getNotVisibleDBPublicationList(PublicationCriteria pubCriteria)
Returns a list publications in the database matching the given criteria and not in a visible state.Group
getOrganizationRootGroup()
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.LangProperties
getProperties(java.lang.String prefix)
Gets a new LangProperties instance containg all the properties whose name starts with the given prefix.java.lang.String
getProperty(java.lang.String name)
Gets value of a property.java.lang.String
getProperty(java.lang.String name, java.lang.String defaultValue)
Gets the value of a property given its key/name.Publication
getPublication(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.QueryManager
getQueryManager()
Retrieve the singleton instance of the QueryManager used by JCMS.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.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.java.util.Set<Category>
getRefineRootSet()
Returns the categories to used as roots for the refinement.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"
.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 mapCategory
getRootCategory()
Returns the root category using the id specified in the propertychannel.root-category
default toj_3
.java.util.Set<Category>
getRootCategoryAsSet()
A convenient method which returns a set containing the root categoryCategoryRight
getRootCategoryRight()
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.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.java.lang.String
getSenderFullEmail()
Retrieves the full email address that can be used to send message from JCMS.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()
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()
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()
javax.servlet.ServletContext
getServletContext()
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.int
getSSLport()
Storable
getStorable(java.lang.String id)
Returns a storable from its id.Store
getStore()
Returns the store.
Internal, DO NOT use.int
getStoreCreateCount()
Returns the count of create operations recorded in the store.int
getStoreDeleteCount()
Returns the count of delete operations recorded in the store.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.LoadReport
getStoreLoadReport()
Returns the store load reportint
getStoreSize()
Returns the size of the store (ie the data count) in bytes.int
getStoreUpdateCount()
Returns the count of update operations recorded in the store.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.Category
getTagRoot()
Returns the common tag root.Category
getTagRoot(Workspace ws)
Returns the tag root for the given workspace if it exists ; otherwise return the common tag root.java.io.File
getTempDir()
Retrieve the temporary directory which can be used to store temporary files and directory for this Channel instance.TypeFieldEntry
getTypeAbstractFieldEntry(java.lang.Class<?> clazz)
Returns theTypeFieldEntry
associated to the abstract (summary) field of the specified type.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.java.lang.String
getTypeDescription(java.lang.Class clazz, java.lang.String lang)
Returns the description of the given type (class) in the given language.TypeEntry
getTypeEntry(java.lang.Class<?> clazz)
Return the TypeEntry bound to givenClass
.TypeEntry
getTypeEntry(java.lang.String className)
Return the TypeEntry bound to givenclassName
.TypeFieldEntry[]
getTypeFieldEntries(java.lang.Class<?> clazz)
Return an array ofTypeFieldEntry
bound to givenClass
.TypeFieldEntry[]
getTypeFieldEntries(java.lang.String className)
Return an array ofTypeFieldEntry
bound to givenClass
.TypeFieldEntry
getTypeFieldEntry(java.lang.Class<?> clazz, java.lang.String fieldName)
Returns the TypeFieldEntry bound to the given field of the given class.TypeFieldEntry
getTypeFieldEntry(java.lang.Class<?> clazz, java.lang.String fieldName, boolean checkAll)
Return theTypeFieldEntry
associated to the givenClass
and fieldName.java.lang.String
getTypeFieldLabel(Data data, java.lang.String fieldName)
Returns the localized label of the given field of the given data.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.java.lang.String
getTypeFieldLabel(java.lang.Class<?> clazz, java.lang.String fieldName)
Returns the localized label of the given field of the given class.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.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.java.lang.String
getTypeLabel(java.lang.Class<?> clazz, java.lang.String lang)
Returns the label of the given type (class) in the given language.Channel.TypeLabelComparator
getTypeLabelComparator(java.lang.String lang)
Retrieves a new instance of a TypeLabelComparator which sorts Class using their TypeProcessor label.java.lang.String
getUploadParentPath()
Returns the path of the directoy that contains the upload directory.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.java.lang.String
getUrid()
Returns the urid of the channeljava.lang.String
getUrl()
Returns the Url of the channel.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.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.String
getWebappPath()
Retrieves the file system path of the webapp root.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.Workspace
getWorkspace(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 WorkflowWSTypeEntry
getWSTypeEntry(java.lang.Class clazz, Workspace workspace)
This method is a substitute of old getTypeEntry(Class) or getTypeEntry(String).WSTypeEntry
getWSTypeEntry(java.lang.String className, Workspace workspace)
This method is a substitute of old getTypeEntry(Class) or getTypeEntry(String).java.time.ZoneId
getZoneId()
Retrieve theZoneId
of the Channel.void
handleDataWriteState(boolean disable, java.lang.String msg, boolean updateProperty)
Handle the given data write state and perform the update in properties if needed.void
handleFinalize()
This method is called when the site is restarted or shutdown.void
handleJcmsDBError(java.lang.String msg, java.lang.Throwable th)
This method is called when a fatal error occurs on the JcmsDB.void
handleStoreError(java.lang.String msg, java.lang.Throwable th)
This method is called when a fatal error occurs on the store.protected void
initAfterLoad()
Perform all the initializations after the store has been loaded (called by ChannelInitServlet)protected void
initAfterStartup()
protected void
initBeforeLoad()
Perform all the initializations before the store has been loaded (called by ChannelInitServlet)protected void
initCollaborativeSpacePluginState()
Inits the active state of CollaborativeSpacePlugin.protected void
initHibernate()
protected static void
initialize(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.void
initVirtualIDMap()
Init the virtual ID map (data, virtual ID).void
invalidateSearchAndRefineRootSet()
Invalidate search and refine root set (they will be computed at the next call).boolean
isAuthenticationRequired()
Returns true if the authentication is required in this site (use the value of channel.is-authentication-required property)boolean
isAvailable()
Check if the site is started and ready.protected boolean
isCollaborativeSpacePluginActive()
Returns the active state of CollaborativeSpacePlugin.boolean
isDataWriteEnabled()
Checks if data write are enabled (see channel.data-write.enabled property)boolean
isDeployManagerEnabled()
Returns true if the DeployManager is enabled.boolean
isFailSafeMode()
boolean
isGuestAccountsEnabled()
boolean
isGzipCompressionEnabled()
boolean
isIncomingMailEnabled()
Checks if site incoming mail is enabled (seemail.incoming.enabled
property)boolean
isJSyncAutoUpdate()
boolean
isJSyncEnabled()
boolean
isLdapEnabled()
Deprecated.boolean
isLoginAccentSensitive()
Returns true if login should be treated as accent sensitive (mylogin != mylogìn).boolean
isLoginCaseSensitive()
Returns true if login should be treated as case sensitive (myLogin != mylogin).boolean
isMailEnabled()
boolean
isMainLanguage(java.lang.String lang)
boolean
isMainLeader()
Return leadership status of JCMS when using in cluster.boolean
isMultilingual()
boolean
isNotificationEnabled()
boolean
isRegistered(Data data)
Checks if the given data is still registered in the Store.boolean
isRegistered(java.lang.String id)
Checks if the given data is still registered in the Store.boolean
isReverseProxyEnabled()
Checks if the reverse proxy is enabled.boolean
isSSLenabled()
boolean
isTimeZoneEnabled()
Check if use of TimeZone is enable for this site.boolean
isUsingAdvancedI18N()
Indicates whether JCMS is in advanced internationalization mode.boolean
isValidAdminIP(java.lang.String ipAddress)
Checks if the specified request is authorized to access admin area.boolean
isValidAdminIP(javax.servlet.ServletRequest request)
Checks if the specified request is authorized to access admin area.boolean
isValidWorkspacesIP(javax.servlet.ServletRequest request)
Checks if the specified request is authorized to access workspace area.boolean
isWebdavEnabled()
Check if Webdav is enableboolean
isWSAttachmentEnabled()
Checks if ws attachment is enabled.protected void
loadStore()
Load the JCMS store file.void
performStoreBackup()
Perform a backup of the store.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*).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*).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.QueryResultSet
query(QueryHandler qh, javax.servlet.ServletRequest request, java.util.Set<? extends Publication> proposedDataSet)
Perform a query using parameters specified in the givenQueryHandler
.void
reloadLanguageProperties()
Reload languages properties of JCMS (WEB-INF/jalios/languages/{lang}.prop) and its plugin.void
reloadProperties()
Reload all properties and notify all JPropertiesListener.void
removeAuthenticationHandler(AuthenticationHandler authHandler)
Remove the specifiedAuthenticationHandler
from the list of AuthenticationHandlers used by the AuthenticationManager to process users' authentication.void
removeChannelListener(ChannelListener listener)
Removes a ChannelListener.void
removeCleanFilter(CustomCleanFilter filter)
Removes a custom clean filter.void
removeDataController(DataController dc, java.lang.Class<?> clazz)
Remove the given DataControllervoid
removeDBListener(DBListener listener)
Remove a DBListener.void
removeDBListener(DBListener listener, java.lang.Class<?> clazz)
Remove a DBListener.void
removeJSyncListener(JSyncListener listener)
Removes a JSyncListener.static void
removeMultipleLaunchCheck()
Remove the property used to check that the current site has not been started multiple times.void
removePropertiesListener(JPropertiesListener listener)
Removes a properties listener.void
removeQueryFilter(QueryFilter qf)
Remove the givenQueryFilter
from the list of QueryFilters used by the QueryManager (getQueryManager()
).void
removeStoreListener(StoreListener listener)
Removes a StoreListener for all storable classes.void
removeStoreListener(StoreListener listener, java.lang.Class<?> clazz)
Removes a StoreListener associated to a given class.void
restart()
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 aCollection
ofData
using the givenDataSelector
, and return a TreeSet sorted using the givenComparator
.void
setAvailable(boolean isAvailable)
Enable or disable the site.void
setCurrentRequestAttribute(java.lang.String name, java.lang.Object value)
Sets the given request attribute with the given valuevoid
setCurrentServletRequest(javax.servlet.http.HttpServletRequest request)
Assigns the current servlet request.void
setCurrentServletResponse(javax.servlet.http.HttpServletResponse response)
Assigns the current servlet response.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.boolean
supportFlowChartBackwardCompatibility()
Check if backward compatibility with legacy FlowChart plugin should be supported.java.lang.String
toString()
void
updateAndSaveProperties(JProperties prop)
Updates and save specified properties.void
updateAndSaveProperties(JProperties prop, boolean notifyListener)
Updates and saves specified properties.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.void
updateData(Data updated, Member opAuthor)
Updates a data in the store.
-
-
-
Field Detail
-
REVISION
public static final java.lang.String REVISION
- See Also:
- Constant Field Values
-
context
protected javax.servlet.ServletContext context
-
storeFilePath
protected java.lang.String storeFilePath
-
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
-
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
-
isFlowChartBackwardCompatibilityEnabled
protected java.lang.Boolean isFlowChartBackwardCompatibilityEnabled
-
defaultAdmin
protected Member defaultAdmin
-
defaultWorkspace
protected Workspace defaultWorkspace
-
defaultEmail
protected java.lang.String defaultEmail
-
realPathLength
protected int realPathLength
-
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
protected boolean isIncomingMailEnabled
-
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
-
jsyncPreviousReplicaManager
protected JSyncPreviousReplicaManager jsyncPreviousReplicaManager
-
jsyncSuggestJoin
protected boolean jsyncSuggestJoin
-
jsyncExplicitReplicaList
protected java.lang.String jsyncExplicitReplicaList
-
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
-
dataIntegrityReport
protected java.util.TreeMap<Data,ControllerStatus> dataIntegrityReport
-
dataIntegrityReportDate
protected java.util.Date dataIntegrityReportDate
-
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.IOException
Reload 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.Exception
Singleton 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.Throwable
Handles the finalize invocation- Overrides:
finalize
in 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.Exception
Perform 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 LogException
Load the JCMS store file.- Throws:
LogException
- If an error occurs
-
initAfterLoad
protected void initAfterLoad() throws java.lang.Exception
Perform 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:
propertiesChange
in 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
-
getJSyncPreviousReplicaManager
public JSyncPreviousReplicaManager getJSyncPreviousReplicaManager()
- Returns:
- the Unique JSyncPreviousReplicaManager instance
- Since:
- jcms-5.7.4
-
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.
-
isMailEnabled
public boolean isMailEnabled()
- Returns:
- true if Mail is enabled, false otherwise
- Since:
- jcms-5.5.0
-
isIncomingMailEnabled
public boolean isIncomingMailEnabled()
Checks if site incoming mail is enabled (seemail.incoming.enabled
property)- Returns:
- true if site incoming mail is enabled
- Since:
- jcms-9.0.0
-
getLinkIndexManager
public LinkIndexManager getLinkIndexManager()
Return theLinkIndexManager
singleton 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 theFileIndexManager
singleton 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}: confname
allowing 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
AlarmManager
with 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"
.
Returnsnull
if 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"
.
Returnsnull
if uri is outsideconstraintDirectory
.
Returnsnull
if 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
-
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-category
default 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
MailMessage
from 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
null
if 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
null
if 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
null
if 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 aCollection
ofData
using the givenDataSelector
, and return a TreeSet sorted using the givenComparator
.
If noComparator
is given,CdateComparator
is used.- Type Parameters:
T
- Any Data type- Parameters:
dataColl
- theCollection
ofData
to select.selector
- theDataSelector
to use.comparator
- theComparator
to use.- Returns:
- a new or cloned
TreeSet
ofData
. - 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 givenCollection
ofPublication
or in allPublication
if not specified.- Parameters:
qh
- theQueryHandler
from which to retrieve the query parameters, MUST NOT be null.request
- theServletHttpRequest
used to set some error or warning messages in the attributes, can be null.proposedDataSet
- theCollection
ofPublication
in which to search and apply query parameters, if null, search is done in allPublication
.- Returns:
- a
QueryResultSet
containing all results of this query, it is aHashSet
and 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
- theClass
of which to find theWSTypeEntry
workspace
- 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
- theString
representing the name the Class of which to find theWSTypeEntry
workspace
- 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
- theClass
of which to find theTypeEntry
- Returns:
- the
TypeEntry
associated 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
TypeEntry
associated 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 theTypeFieldEntry
associated to the abstract (summary) field of the specified type.- Parameters:
clazz
- the Class of which to find theTypeFieldEntry
- Returns:
- the
TypeFieldEntry
associated 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 theTypeFieldEntry
associated to the givenClass
and fieldName.- Parameters:
clazz
- the Class of which to find theTypeFieldEntry
fieldName
- the field name of which to find theTypeFieldEntry
checkAll
- whether to check in inherited field entry of the class.- Returns:
- the
TypeFieldEntry
associated 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 ofTypeFieldEntry
bound to givenClass
.
This array does not contain inherited TypeFieldEntry from super classes of givenClass
.- Parameters:
clazz
- theClass
of which to find theTypeFieldEntry
.- Returns:
- an array of
TypeFieldEntry
containing all Field used byClass
or 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 ofTypeFieldEntry
bound to givenClass
.
This array does not contain inherited TypeFieldEntry from super classes of givenClass
.- Parameters:
className
- theString
representing the name the Class of which to find theTypeFieldEntry
- Returns:
- an array of
TypeFieldEntry
containing all Field used byClass
or 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 ofTypeFieldEntry
bound to givenClass
.
This array does contain inherited TypeFieldEntry from super classes of givenClass
.- Parameters:
clazz
- theClass
of which to find theTypeFieldEntry
.- Returns:
- an array of
TypeFieldEntry
containing all Field used byClass
or 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 ofTypeFieldEntry
bound to givenClass
name.
This array does contain inherited TypeFieldEntry from super classes of givenClass
.- Parameters:
className
- theString
representing the name the Class of which to find theTypeFieldEntry
- Returns:
- an array of
TypeFieldEntry
containing all Field used byClass
or 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.ClassNotFoundException
Load 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:
toString
in 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 givenQueryFilter
to 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 givenQueryFilter
from 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 specifiedAuthenticationHandler
to 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 specifiedAuthenticationHandler
from 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)
Checks 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 contraints, the key is the data and the value is a ControllerStatus
- Since:
- jcms-5.0.0
-
getDataIntegrityReportDate
public java.util.Date getDataIntegrityReportDate()
Returns 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 void cleanStore(CleanFilter filter, JcmsContext context)
Cleans the store. Data writes are disabled. The previous store is backuped with the extension .backup-date.- Parameters:
filter
- the filter to applycontext
- current JcmsContext- Since:
- jcms-5.5.0
-
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.- Parameters:
text
- the text of the milestone.- Since:
- jcms-5.5.0
- See Also:
Store.appendMilestone(String)
-
getStoreLoadReport
public LoadReport getStoreLoadReport()
Returns the store load report- Returns:
- the store load report
-
getStoreSize
public int getStoreSize()
Returns the size of the store (ie the data count) in bytes.- Returns:
- the size of the store in bytes.
-
getStoreCreateCount
public int getStoreCreateCount()
Returns the count of create operations recorded in the store.- Returns:
- the count of create operations.
-
getStoreUpdateCount
public int getStoreUpdateCount()
Returns the count of update operations recorded in the store.- Returns:
- the count of update operations.
-
getStoreDeleteCount
public int getStoreDeleteCount()
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
-
getZoneId
public java.time.ZoneId getZoneId()
Retrieve theZoneId
of 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 userZoneId
if it is available (i.e. if called during a user request). Otherwise it returns theZoneId
of the site.- Returns:
- either the user's
ZoneId
or 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
-
-