Class PluginsArchiver
- java.lang.Object
-
- org.ametys.runtime.plugin.component.AbstractLogEnabled
-
- org.ametys.plugins.contentio.archive.PluginsArchiver
-
- All Implemented Interfaces:
Archiver,LogEnabled,Serviceable
public class PluginsArchiver extends AbstractLogEnabled implements Archiver, Serviceable
Archives resources in /ametys:plugins
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private classPluginsArchiver.PluginsArchiverManifestReaderWriter
-
Field Summary
Fields Modifier and Type Field Description private static String__PARTIAL_IMPORT_PREFIXprivate ManifestReaderWriter_manifestReaderWriterprivate PluginArchiverExtensionPoint_pluginArchiverExtPointprivate Repository_repositorystatic StringIDArchiver id.
-
Constructor Summary
Constructors Constructor Description PluginsArchiver()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static void_closeSession(Session session)private void_exportPlugin(Node pluginNode, ZipOutputStream zos)private static Node_getAllPluginsNode(Session session)private Map<String,String>_getManifestData()private static Iterator<Node>_getPluginNodes(Session session)private ImportReport_importPlugin(String partialImport, Path zipPath, Merger merger, Node allPluginsNode, boolean deleteBefore)private PluginArchiver_retrievePluginArchiver(String pluginName)voidexport(ZipOutputStream zos)Export data into the destination archiveManifestReaderWritergetManifestReaderWriter()Get theManifestReaderWriterCollection<String>managedPartialImports(Collection<String> partialImports)Returns the partial imports, among the given ones, that thisArchiveris able to manage.ImportReportpartialImport(Path zipPath, Collection<String> partialImports, Merger merger, boolean deleteBefore)Import data (limited to the given partial imports) 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.Archiver
additionalSuccessImportMail
-
-
-
-
Field Detail
-
ID
public static final String ID
Archiver id.- See Also:
- Constant Field Values
-
__PARTIAL_IMPORT_PREFIX
private static final String __PARTIAL_IMPORT_PREFIX
- See Also:
- Constant Field Values
-
_repository
private Repository _repository
-
_pluginArchiverExtPoint
private PluginArchiverExtensionPoint _pluginArchiverExtPoint
-
_manifestReaderWriter
private ManifestReaderWriter _manifestReaderWriter
-
-
Constructor Detail
-
PluginsArchiver
public PluginsArchiver()
-
-
Method Detail
-
service
public void service(ServiceManager manager) throws ServiceException
- Specified by:
servicein interfaceServiceable- Throws:
ServiceException
-
getManifestReaderWriter
public ManifestReaderWriter getManifestReaderWriter()
Description copied from interface:ArchiverGet theManifestReaderWriter- Specified by:
getManifestReaderWriterin interfaceArchiver- Returns:
- the
ManifestReaderWriter
-
_getManifestData
private Map<String,String> _getManifestData()
-
_getAllPluginsNode
private static Node _getAllPluginsNode(Session session) throws RepositoryException
- Throws:
RepositoryException
-
_getPluginNodes
private static Iterator<Node> _getPluginNodes(Session session) throws RepositoryException
- Throws:
RepositoryException
-
_closeSession
private static void _closeSession(Session session)
-
export
public void export(ZipOutputStream zos) throws IOException
Description copied from interface:ArchiverExport data into the destination archive- Specified by:
exportin interfaceArchiver- Parameters:
zos- the output data stream.- Throws:
IOException- if an error occurs while writing entries to the archive.
-
_retrievePluginArchiver
private PluginArchiver _retrievePluginArchiver(String pluginName)
-
_exportPlugin
private void _exportPlugin(Node pluginNode, ZipOutputStream zos) throws Exception
- Throws:
Exception
-
managedPartialImports
public Collection<String> managedPartialImports(Collection<String> partialImports)
Description copied from interface:ArchiverReturns the partial imports, among the given ones, that thisArchiveris able to manage.- Specified by:
managedPartialImportsin interfaceArchiver- Parameters:
partialImports- The partial imports to filter- Returns:
- The managed partial imports
-
partialImport
public ImportReport partialImport(Path zipPath, Collection<String> partialImports, Merger merger, boolean deleteBefore) throws IOException
Description copied from interface:ArchiverImport data (limited to the given partial imports) from the source archive- Specified by:
partialImportin interfaceArchiver- Parameters:
zipPath- the input zip pathpartialImports- The partial imports to do. The passed collection must already be filtered out byArchiver.managedPartialImports(java.util.Collection<java.lang.String>)merger- TheMergerdeleteBefore-trueif objects need to be deleted before applying the partial imports- Returns:
- The
ImportReport - Throws:
IOException- if an error occurs while reading archive entries.
-
_importPlugin
private ImportReport _importPlugin(String partialImport, Path zipPath, Merger merger, Node allPluginsNode, boolean deleteBefore) throws IOException, RepositoryException
- Throws:
IOExceptionRepositoryException
-
-