Class LibraryArchiveService
- java.lang.Object
-
- com.avoka.fc.core.service.BaseService
-
- com.avoka.fc.core.service.CayenneService
-
- com.avoka.fc.core.service.archive.BaseArchiveService
-
- com.avoka.fc.core.service.archive.LibraryArchiveService
-
public class LibraryArchiveService extends BaseArchiveService
Provides a library archive export and import service.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.avoka.fc.core.service.archive.BaseArchiveService
BaseArchiveService.FormData
-
-
Field Summary
Fields Modifier and Type Field Description static String
LIBRARY_CONFIG_FILENAME
The library configuration file namestatic String
METADATA_LIBRARY_NAME
The name of the metadata value storing the name of the library to be importedstatic String
PARAM_LIBRARY
The name of the parameter containing the library entity during import-
Fields inherited from class com.avoka.fc.core.service.archive.BaseArchiveService
ATTRIBUTE_BUILD_NUMBER, ATTRIBUTE_DB_VERSION, ATTRIBUTE_ENVIRONMENT_NAME, ATTRIBUTE_EXPORT_DATE, ATTRIBUTE_FORM_PORTAL_ANONYMOUS, ATTRIBUTE_FORM_PORTAL_AUTHENTICATED, ATTRIBUTE_SFM_VERSION, DIR_FAR, DIR_FORM, DIR_RECEIPT, DIR_SCHEMA_SEED, DIR_XML_PREFILL, ELEMENT_APPLICATION_PACKAGE, ELEMENT_APPLICATION_PACKAGES, ELEMENT_AUTHENTICATION_MODE, ELEMENT_CATEGORY_NAME, ELEMENT_CLIENT, ELEMENT_CLIENT_CODE, ELEMENT_DOCUMENT_TYPE_CLIENT, ELEMENT_DOCUMENT_TYPE_NAME, ELEMENT_FORM_ABANDON_DELIVERY, ELEMENT_FORM_DELIVERY_PROD, ELEMENT_FORM_DELIVERY_TEST, ELEMENT_FORM_FUNCTION, ELEMENT_FORM_FUNCTIONS, ELEMENT_FORM_GROUP, ELEMENT_FORM_GROUPS, ELEMENT_FORM_PORTAL, ELEMENT_FORM_PORTAL_PORTAL_NAME, ELEMENT_FORM_PORTALS, ELEMENT_FORM_VALIDATION_DELIVERY, ELEMENT_METADATA_TAG_CLIENT, ELEMENT_METADATA_TAG_NAME, ELEMENT_PARAMETER_PREFILL_MAPPING, ELEMENT_PARAMETER_PREFILL_MAPPINGS, ELEMENT_PROPERTY_PREFILL_MAPPING, ELEMENT_PROPERTY_PREFILL_MAPPINGS, ELEMENT_PROPERTY_TYPE_CLIENT, ELEMENT_PROPERTY_TYPE_NAME, ELEMENT_PROPERTY_TYPE_SCOPE, ELEMENT_SCHEMA_CONFIG_MAPPING, ELEMENT_SCHEMA_CONFIG_MAPPINGS, ELEMENT_SCHEMA_EXTRACT_MAPPING, ELEMENT_SCHEMA_EXTRACT_MAPPINGS, ELEMENT_SCHEMA_SEED, ELEMENT_SERVICE, ELEMENT_SERVICE_CLIENT_CODE, ELEMENT_SERVICE_CONNECTION, ELEMENT_SERVICE_CONNECTIONS, ELEMENT_SERVICE_NAME, ELEMENT_SERVICE_PARAMETER, ELEMENT_SERVICE_PARAMETERS, ELEMENT_SERVICE_TYPE, ELEMENT_SERVICE_VERSION, ELEMENT_SERVICES, ELEMENT_TEMPLATE_VERSION, ELEMENT_TEMPLATE_VERSION_DEPLOYMENT, ELEMENT_TEMPLATE_VERSION_DEPLOYMENTS, ELEMENT_TEMPLATE_VERSIONS, ELEMENT_VERSION_ATTACHMENT, ELEMENT_VERSION_ATTACHMENTS, ELEMENT_VERSION_CATEGORIES, ELEMENT_VERSION_CATEGORY, ELEMENT_VERSION_METADATA_VALUE, ELEMENT_VERSION_METADATA_VALUES, ELEMENT_VERSION_PROPERTY_VALUE, ELEMENT_VERSION_PROPERTY_VALUES, ELEMENT_XML_PREFILL_MAPPING, ELEMENT_XML_PREFILL_MAPPINGS, ELEMENT_XML_PREFILL_VERSION, ENCODING, FILE_FAR_DEFAULT, FILE_SCHEMA_SEED_DEFAULT, FILE_XML_PREFILL_DEFAULT, groovySecureAPI, METADATA_ENVIRONMENT_NAME, METADATA_ENVIRONMENT_TYPE, METADATA_ENVIRONMENT_TYPE_MAESTRO, METADATA_EXPORT_DATE, METADATA_EXPORT_DB_VERSION, METADATA_EXPORT_REVISION, METADATA_EXPORT_VERSION, METADATA_IMPORT_ACTION, METADATA_IMPORT_ACTION_CONFLICT, METADATA_IMPORT_ACTION_CREATE, METADATA_IMPORT_ACTION_ERROR, METADATA_IMPORT_ACTION_MESSAGE, METADATA_IMPORT_ACTION_UPDATE, oldCurrentServiceVersions, PORTAL_AUTHENTICATION_DB_VERSION, SERVICE_TYPE_CARD_PAYMENT_OBSOLETE, updatedTemplateVersionIds
-
-
Constructor Summary
Constructors Constructor Description LibraryArchiveService()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
exportAuditLogger(Object object)
Create an entry in the audit log when an export is performedprotected String
getEntityName()
Return the name identifying the individual entity being exported (e.g.Map<String,String>
getImportMetadata(byte[] importData)
Retrieve the set of metadata values describing an archive that is being imported.protected void
importAuditLogger(ImportAction importAction)
Create an entry in the audit log when an import is performedprotected void
performImport(ImportAction importAction, Set<? extends Enum> importOptions, Map<String,Object> parameters)
Performs the act of importing the data contained in the archive to the SFM database.protected void
processImportFile(String fileName, byte[] fileData)
For a given file in the imported archive, the service stores its contents as it sees fit, preserving what it will need to recreate entities later.void
validateImportData(byte[] importData)
Validate an archive before it is imported.protected void
writeExportData(Object object, ZipOutputStream zos, Map<String,String> additionalHeaders)
Does the actual export of the data without having to worry about handling errors or preparing and closing the stream-
Methods inherited from class com.avoka.fc.core.service.archive.BaseArchiveService
addDeploymentSchedule, addForm, addFormFunctions, addFormGroups, addFormPortals, addParameterPrefillMaps, addPropertyPrefillMaps, addSchemaExtractMaps, addSchemaSeed, addService, addServiceConnection, addTemplateVersion, addTemplateVersionData, addVersionAttachments, addVersionCategories, addVersionMetadataValues, addVersionPropertyValues, addXmlPrefillMaps, copyFromElementToEntity, copyFromElementToEntity, createChildProperty, createChildValue, exportData, exportData, findFileInArchive, getByteArrayForElement, getByteArrayForZipEntry, getDefaultImportOptions, getElementForByteArray, getFormData, getFormVersionKey, getFormVersionKey, getImportOptionEnum, importApplicationPackages, importApplicationPackages, importArchive, importArchive, importDeploymentPlan, importFormFunctions, importFormGroups, importFormPortals, importOldSchemaConfigMaps, importParameterPrefillMaps, importPropertyPrefillMaps, importSchemaExtractMaps, importSchemaSeed, importServiceConnection, importServiceDefinition, importServiceParameters, importTemplateVersionData, importTemplateVersions, importTemplateVersions, importVersionAttachments, importVersionCategories, importVersionMetadata, importVersionProperties, importXmlPrefillMaps, isGroovySecureAPI, postExport, postImport, readApplicationPackageReference, readClientCodeReference, readMetadataAttributes, readServiceName, readServiceReference, setGroovySecureAPI, updateUnifiedAppFlagAndDoc, writeApplicationPackageReference, writeClientCodeReference, writeHeaderAttributes, writeServiceReference
-
Methods inherited from class com.avoka.fc.core.service.CayenneService
commitChanges, deleteObject, deleteObjects, findObject, getDataContext, getDataDomain, getObjectForPK, getObjectStore, newObject, performNamedQuery, performNamedQuery, performNamedQuery, performNonSelectingQuery, performNonSelectingQuery, performNonSelectingQuery, performNonSelectingQuery, performQuery, performQuery, refetchEntity, refetchObject, registerNewObject, rollbackChanges, toMap, toMap
-
Methods inherited from class com.avoka.fc.core.service.BaseService
getLogger
-
-
-
-
Field Detail
-
LIBRARY_CONFIG_FILENAME
public static final String LIBRARY_CONFIG_FILENAME
The library configuration file name- See Also:
- Constant Field Values
-
PARAM_LIBRARY
public static final String PARAM_LIBRARY
The name of the parameter containing the library entity during import- See Also:
- Constant Field Values
-
METADATA_LIBRARY_NAME
public static final String METADATA_LIBRARY_NAME
The name of the metadata value storing the name of the library to be imported- See Also:
- Constant Field Values
-
-
Method Detail
-
writeExportData
protected void writeExportData(Object object, ZipOutputStream zos, Map<String,String> additionalHeaders) throws Exception
Description copied from class:BaseArchiveService
Does the actual export of the data without having to worry about handling errors or preparing and closing the stream- Specified by:
writeExportData
in classBaseArchiveService
- Parameters:
object
- the non-null object to be exportedzos
- the stream to be written toadditionalHeaders
- the map of additional headers to be included in metadata- Throws:
Exception
- if an error occurs
-
validateImportData
public void validateImportData(byte[] importData)
Description copied from class:BaseArchiveService
Validate an archive before it is imported.- Specified by:
validateImportData
in classBaseArchiveService
- Parameters:
importData
- the import archive as a byte array
-
getImportMetadata
public Map<String,String> getImportMetadata(byte[] importData) throws Exception
Description copied from class:BaseArchiveService
Retrieve the set of metadata values describing an archive that is being imported.- Specified by:
getImportMetadata
in classBaseArchiveService
- Parameters:
importData
- the import archive as a byte array- Returns:
- a map of metadata names and their values
- Throws:
Exception
- if an error occurs while the metadata is being loaded
-
processImportFile
protected void processImportFile(String fileName, byte[] fileData) throws Exception
Description copied from class:BaseArchiveService
For a given file in the imported archive, the service stores its contents as it sees fit, preserving what it will need to recreate entities later. This operation happens before the database transaction wrapping the actual import to the SFM database.- Specified by:
processImportFile
in classBaseArchiveService
- Parameters:
fileName
- the full file name of the ZIP file entry (e.g. form/TestForm.pdf)fileData
- the file data of the ZIP file entry- Throws:
Exception
- if an error occurs
-
performImport
protected void performImport(ImportAction importAction, Set<? extends Enum> importOptions, Map<String,Object> parameters)
Description copied from class:BaseArchiveService
Performs the act of importing the data contained in the archive to the SFM database. When this method will be called, the caller is expected to have established a transaction, and will also handle errors thrown by this method.- Specified by:
performImport
in classBaseArchiveService
- Parameters:
importAction
- the import action related to this importimportOptions
- the set of import options that should be appliedparameters
- optional parameters to be used during import
-
getEntityName
protected String getEntityName()
Description copied from class:BaseArchiveService
Return the name identifying the individual entity being exported (e.g. for a client, the client's name)- Specified by:
getEntityName
in classBaseArchiveService
- Returns:
- the entity name
-
exportAuditLogger
protected void exportAuditLogger(Object object)
Create an entry in the audit log when an export is performed- Specified by:
exportAuditLogger
in classBaseArchiveService
- Parameters:
object
- Object of type Library that was exported (Optional)- Since:
- 17.10.2
-
importAuditLogger
protected void importAuditLogger(ImportAction importAction)
Create an entry in the audit log when an import is performed- Specified by:
importAuditLogger
in classBaseArchiveService
- Parameters:
importAction
- ImportAction containing action performed (required)- Since:
- 17.10.2
-
-