Class DefaultPluginArchiver
- java.lang.Object
-
- org.ametys.runtime.plugin.component.AbstractLogEnabled
-
- org.ametys.plugins.contentio.archive.DefaultPluginArchiver
-
- All Implemented Interfaces:
PluginArchiver,LogEnabled,Serviceable
- Direct Known Subclasses:
DefaultSitePluginArchiver,WebExplorerArchiver
public class DefaultPluginArchiver extends AbstractLogEnabled implements PluginArchiver, Serviceable
Default implementation of aPluginArchiver. It uses the JCR system view for all data but contents. For contents, theContentsArchiverHelperis used.
-
-
Field Summary
Fields Modifier and Type Field Description private static String__CONTENT_ROOT_NODE_NAMEprivate AmetysObjectCollectionFactory_ametysObjectCollectionFactoryprivate ContentsArchiverHelper_contentsArchiverHelperstatic StringEXTENSION_IDId for default implementation
-
Constructor Summary
Constructors Constructor Description DefaultPluginArchiver()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void_importPluginXml(Node allPluginsNode, Path zipPath, String zipPluginEntryPath, Merger merger)voidexport(String pluginName, Node pluginNode, ZipOutputStream zos, String prefix)Export plugin data into the destination archiveprotected ContentHandlergetSystemViewHandler(ContentHandler initialHandler)Returns the actual handler receiving the JCR system view.protected ImportReportimportContentsIfAny(String pluginName, Node allPluginsNode, Path zipPath, String zipPluginEntryPath, Merger merger)Import some contents if there is a folder named 'contents'ImportReportpartialImport(String pluginName, Node allPluginsNode, Path zipPath, String zipPluginEntryPath, Merger merger)Import plugin data from the source archivevoidservice(ServiceManager manager)-
Methods inherited from class org.ametys.runtime.plugin.component.AbstractLogEnabled
getLogger, setLogger
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.ametys.plugins.contentio.archive.PluginArchiver
deleteBeforePartialImport
-
-
-
-
Field Detail
-
EXTENSION_ID
public static final String EXTENSION_ID
Id for default implementation- See Also:
- Constant Field Values
-
__CONTENT_ROOT_NODE_NAME
private static final String __CONTENT_ROOT_NODE_NAME
- See Also:
- Constant Field Values
-
_contentsArchiverHelper
private ContentsArchiverHelper _contentsArchiverHelper
-
_ametysObjectCollectionFactory
private AmetysObjectCollectionFactory _ametysObjectCollectionFactory
-
-
Constructor Detail
-
DefaultPluginArchiver
public DefaultPluginArchiver()
-
-
Method Detail
-
service
public void service(ServiceManager manager) throws ServiceException
- Specified by:
servicein interfaceServiceable- Throws:
ServiceException
-
export
public void export(String pluginName, Node pluginNode, ZipOutputStream zos, String prefix) throws IOException
Description copied from interface:PluginArchiverExport plugin data into the destination archive- Specified by:
exportin interfacePluginArchiver- Parameters:
pluginName- the plugin name.pluginNode- the pluginNode.zos- the output data stream.prefix- the prefix for ZIP entries.- Throws:
IOException- if an error occurs while writing entries to the archive.
-
getSystemViewHandler
protected ContentHandler getSystemViewHandler(ContentHandler initialHandler)
Returns the actual handler receiving the JCR system view. May be used to filter out some parts of the JCR export.- Parameters:
initialHandler- the targetContentHandler.- Returns:
- a ContentHandler.
-
partialImport
public ImportReport partialImport(String pluginName, Node allPluginsNode, Path zipPath, String zipPluginEntryPath, Merger merger) throws IOException
Description copied from interface:PluginArchiverImport plugin data from the source archive- Specified by:
partialImportin interfacePluginArchiver- Parameters:
pluginName- the plugin name.allPluginsNode- theNodefor all plugins.zipPath- The input ZIP filezipPluginEntryPath- The input ZIP entrymerger- TheMerger- Returns:
- The
ImportReport - Throws:
IOException- if an error occurs while reading the archive.
-
_importPluginXml
private void _importPluginXml(Node allPluginsNode, Path zipPath, String zipPluginEntryPath, Merger merger) throws IOException
- Throws:
IOException
-
importContentsIfAny
protected ImportReport importContentsIfAny(String pluginName, Node allPluginsNode, Path zipPath, String zipPluginEntryPath, Merger merger) throws IOException
Import some contents if there is a folder named 'contents'- Parameters:
pluginName- the plugin name.allPluginsNode- theNodefor all plugins.zipPath- The input ZIP filezipPluginEntryPath- The input ZIP entrymerger- TheMerger- Returns:
- The
ImportReport - Throws:
IOException- if an error occurs while reading the archive.
-
-