Class ServiceConnectionArchiveService
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.ServiceConnectionArchiveService
Provides a service connection archive export and import service.
- Since:
- 5.0.0
-
Nested Class Summary
Nested classes/interfaces inherited from class com.avoka.fc.core.service.archive.BaseArchiveService
BaseArchiveService.FormData
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
The service connection configuration file namestatic final String
The name of the metadata value storing the organization for which services were exported (if applicable)static final String
The name of the metadata value storing the name of the service connection to be importedFields 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_STATUS, 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
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
exportAuditLogger
(Object object) Create an entry in the audit log when an export is performedprotected String
Return the name identifying the individual entity being exported (e.g.getImportMetadata
(byte[] importData) Return metadata information about a given import archive.getImportMetadata
(byte[] importData, String newClientCode) Return metadata information about a given import archive.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
setNewClientCode
(String newClientCode) Set the client code of the import target client.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 streamMethods 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 Details
-
CONNECTION_CONFIG_FILENAME
The service connection configuration file name- See Also:
-
METADATA_CONNECTION_NAME
The name of the metadata value storing the name of the service connection to be imported- See Also:
-
METADATA_CLIENT_CODE
The name of the metadata value storing the organization for which services were exported (if applicable)- See Also:
-
-
Constructor Details
-
ServiceConnectionArchiveService
public ServiceConnectionArchiveService()
-
-
Method Details
-
validateImportData
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- Throws:
IOException
ImportValidationException
-
getImportMetadata
Return metadata information about a given import archive.- Specified by:
getImportMetadata
in classBaseArchiveService
- Parameters:
importData
- the archive byte data (required)- Returns:
- a map containing metadata describing the contents of the import archive and predicted outcome of the import
- Throws:
Exception
- if an error occurs
-
getImportMetadata
public Map<String,String> getImportMetadata(byte[] importData, String newClientCode) throws Exception Return metadata information about a given import archive.- Parameters:
importData
- the archive byte data (required)newClientCode
- the code of the client to be imported to (optional; if not set, the client specified in the import archive will be used)- Returns:
- a map containing metadata describing the contents of the import archive and predicted outcome of the import
- Throws:
Exception
- if an error occurs
-
setNewClientCode
Set the client code of the import target client. Note: This client code will be ignored if importAsGlobal is set to true (it defaults to false, but can be flipped usingServiceConnectionArchiveService#setImportAsGlobal(boolean)
).- Parameters:
newClientCode
- the client code (optional; if not specified, the client in the archive will be used)
-
writeExportData
protected void writeExportData(Object object, ZipOutputStream zos, Map<String, String> additionalHeaders) throws ExceptionDescription 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
-
processImportFile
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) throws ExceptionDescription 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- Throws:
Exception
- If an error occurs. The caller is responsible for rolling back the transaction to avoid contaminating the database.
-
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
Create an entry in the audit log when an export is performed- Specified by:
exportAuditLogger
in classBaseArchiveService
- Parameters:
object
- Object of type ServiceConnection that was exported (Optional)- Since:
- 17.10.2
-
importAuditLogger
Create an entry in the audit log when an import is performed- Specified by:
importAuditLogger
in classBaseArchiveService
- Parameters:
object
- ImportAction containing action performed (required)- Since:
- 17.10.2
-