Class JackrabbitRepository
- java.lang.Object
-
- org.apache.avalon.framework.logger.AbstractLogEnabled
-
- org.ametys.plugins.repository.provider.AbstractRepository
-
- org.ametys.plugins.repository.provider.JackrabbitRepository
-
- All Implemented Interfaces:
Repository
,LogoutManager
,Disposable
,Initializable
,Component
,Contextualizable
,LogEnabled
,Serviceable
public class JackrabbitRepository extends AbstractRepository implements LogoutManager, Initializable, Contextualizable, Disposable, Component
JackrabbitRepository is a JCR repository component based on Jackrabbit
-
-
Field Summary
-
Fields inherited from class org.ametys.plugins.repository.provider.AbstractRepository
_delegate, _manager, CONTEXT_CREDENTIALS_KEY, CONTEXT_IS_JNDI_KEY, CONTEXT_REPOSITORY_KEY, ROLE
-
Fields inherited from interface javax.jcr.Repository
IDENTIFIER_STABILITY, IDENTIFIER_STABILITY_INDEFINITE_DURATION, IDENTIFIER_STABILITY_METHOD_DURATION, IDENTIFIER_STABILITY_SAVE_DURATION, IDENTIFIER_STABILITY_SESSION_DURATION, LEVEL_1_SUPPORTED, LEVEL_2_SUPPORTED, NODE_TYPE_MANAGEMENT_AUTOCREATED_DEFINITIONS_SUPPORTED, NODE_TYPE_MANAGEMENT_INHERITANCE, NODE_TYPE_MANAGEMENT_INHERITANCE_MINIMAL, NODE_TYPE_MANAGEMENT_INHERITANCE_MULTIPLE, NODE_TYPE_MANAGEMENT_INHERITANCE_SINGLE, NODE_TYPE_MANAGEMENT_MULTIPLE_BINARY_PROPERTIES_SUPPORTED, NODE_TYPE_MANAGEMENT_MULTIVALUED_PROPERTIES_SUPPORTED, NODE_TYPE_MANAGEMENT_ORDERABLE_CHILD_NODES_SUPPORTED, NODE_TYPE_MANAGEMENT_OVERRIDES_SUPPORTED, NODE_TYPE_MANAGEMENT_PRIMARY_ITEM_NAME_SUPPORTED, NODE_TYPE_MANAGEMENT_PROPERTY_TYPES, NODE_TYPE_MANAGEMENT_RESIDUAL_DEFINITIONS_SUPPORTED, NODE_TYPE_MANAGEMENT_SAME_NAME_SIBLINGS_SUPPORTED, NODE_TYPE_MANAGEMENT_UPDATE_IN_USE_SUPORTED, NODE_TYPE_MANAGEMENT_VALUE_CONSTRAINTS_SUPPORTED, OPTION_ACCESS_CONTROL_SUPPORTED, OPTION_ACTIVITIES_SUPPORTED, OPTION_BASELINES_SUPPORTED, OPTION_JOURNALED_OBSERVATION_SUPPORTED, OPTION_LIFECYCLE_SUPPORTED, OPTION_LOCKING_SUPPORTED, OPTION_NODE_AND_PROPERTY_WITH_SAME_NAME_SUPPORTED, OPTION_NODE_TYPE_MANAGEMENT_SUPPORTED, OPTION_OBSERVATION_SUPPORTED, OPTION_QUERY_SQL_SUPPORTED, OPTION_RETENTION_SUPPORTED, OPTION_SHAREABLE_NODES_SUPPORTED, OPTION_SIMPLE_VERSIONING_SUPPORTED, OPTION_TRANSACTIONS_SUPPORTED, OPTION_UNFILED_CONTENT_SUPPORTED, OPTION_UPDATE_MIXIN_NODE_TYPES_SUPPORTED, OPTION_UPDATE_PRIMARY_NODE_TYPE_SUPPORTED, OPTION_VERSIONING_SUPPORTED, OPTION_WORKSPACE_MANAGEMENT_SUPPORTED, OPTION_XML_EXPORT_SUPPORTED, OPTION_XML_IMPORT_SUPPORTED, QUERY_FULL_TEXT_SEARCH_SUPPORTED, QUERY_JOINS, QUERY_JOINS_INNER, QUERY_JOINS_INNER_OUTER, QUERY_JOINS_NONE, QUERY_LANGUAGES, QUERY_STORED_QUERIES_SUPPORTED, QUERY_XPATH_DOC_ORDER, QUERY_XPATH_POS_INDEX, REP_NAME_DESC, REP_VENDOR_DESC, REP_VENDOR_URL_DESC, REP_VERSION_DESC, SPEC_NAME_DESC, SPEC_VERSION_DESC, WRITE_SUPPORTED
-
-
Constructor Summary
Constructors Constructor Description JackrabbitRepository()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
_backupCustomNodetypes()
Create a backup of custom_nodetypes.xml and make a backup with the curent time in the filename The backup file name is stored to be compared ONCE with the re-created custom_nodetypes.xml by callingcompareCustomNodetypes()
protected boolean
_compareSources(TraversableSource source1, TraversableSource source2)
Compare 2 sourcesvoid
compareCustomNodetypes()
Compare custom_nodetypes.xml with custom_nodetypes-[timestamp].xml and delete the backup if they are the samevoid
contextualize(Context context)
void
dispose()
Session
getAdminSession()
Returns the admin sessionRepositoryStatistics
getRepositoryStatistics()
Get the JCR repository statisticsString[]
getWorkspaces()
Returns the all JCR workspacesvoid
initialize()
Session
login(String workspace)
void
logout(Session session)
Called by the Session when logging out.void
service(ServiceManager smanager)
-
Methods inherited from class org.ametys.plugins.repository.provider.AbstractRepository
getDescriptor, getDescriptorKeys, getDescriptorValue, getDescriptorValues, isSingleValueDescriptor, isStandardDescriptor, login, login, login
-
Methods inherited from class org.apache.avalon.framework.logger.AbstractLogEnabled
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
-
-
-
-
Constructor Detail
-
JackrabbitRepository
public JackrabbitRepository()
-
-
Method Detail
-
contextualize
public void contextualize(Context context) throws ContextException
- Specified by:
contextualize
in interfaceContextualizable
- Throws:
ContextException
-
service
public void service(ServiceManager smanager) throws ServiceException
- Specified by:
service
in interfaceServiceable
- Overrides:
service
in classAbstractRepository
- Throws:
ServiceException
-
initialize
public void initialize() throws Exception
- Specified by:
initialize
in interfaceInitializable
- Throws:
Exception
-
dispose
public void dispose()
- Specified by:
dispose
in interfaceDisposable
-
getRepositoryStatistics
public RepositoryStatistics getRepositoryStatistics()
Get the JCR repository statistics- Returns:
- a
RepositoryStatisticsImpl
representing all the statistics available
-
getAdminSession
public Session getAdminSession() throws RepositoryException
Returns the admin session- Returns:
- the admin session
- Throws:
RepositoryException
- if an error occurs.
-
getWorkspaces
public String[] getWorkspaces() throws RepositoryException
Returns the all JCR workspaces- Returns:
- the available workspaces
- Throws:
RepositoryException
- if an error occurred
-
login
public Session login(String workspace) throws LoginException, NoSuchWorkspaceException, RepositoryException
- Specified by:
login
in interfaceRepository
- Throws:
LoginException
NoSuchWorkspaceException
RepositoryException
-
logout
public void logout(Session session)
Description copied from interface:LogoutManager
Called by the Session when logging out.- Specified by:
logout
in interfaceLogoutManager
- Parameters:
session
- the JCR Session
-
_backupCustomNodetypes
protected void _backupCustomNodetypes()
Create a backup of custom_nodetypes.xml and make a backup with the curent time in the filename The backup file name is stored to be compared ONCE with the re-created custom_nodetypes.xml by callingcompareCustomNodetypes()
-
compareCustomNodetypes
public void compareCustomNodetypes()
Compare custom_nodetypes.xml with custom_nodetypes-[timestamp].xml and delete the backup if they are the same
-
_compareSources
protected boolean _compareSources(TraversableSource source1, TraversableSource source2) throws IOException
Compare 2 sources- Parameters:
source1
- source to comparesource2
- source to compare- Returns:
- true if the content of both sources is equal
- Throws:
IOException
- something went wrong reading the sources
-
-