if jsonParam['path'] == None:
    Application.GetService[ApplicationThread]().InvokeAsynchronously(save(Application))
elif(jsonParam['location'] == 'Local'):
    documentSaveSettings = DocumentSaveSettings();
    documentSaveSettings.ConfigurationBlockText = jsonParam['configurationBlockText']
    Application.GetService[ApplicationThread]().InvokeAsynchronously(saveAsLocal(Application, jsonParam['path'], jsonParam['fileName'], documentSaveSettings))
elif(jsonParam['location'] == 'Library'):
    libraryManager = Application.GetService(LibraryManager)
    documentSaveSettings = DocumentSaveSettings();
    documentSaveSettings.ConfigurationBlockText = jsonParam['configurationBlockText']
    libraryItemMetaData = LibraryItemMetadataSettings()
    libraryItemMetaData.Description = jsonParam['libraryItemMetaDatas']['description']
    customMetaData = jsonParam['libraryItemMetaDatas']['otherData']
    if(customMetaData != None):
        for key,value in customMetaData:
            libraryItemMetaData.SetProperty(key,value)
    success, libraryFolder = libraryManager.TryGetItem(jsonParam['path'], LibraryItemType.Folder)
    Application.GetService[ApplicationThread]().InvokeAsynchronously(saveAsLibraryItem(Application, libraryFolder, jsonParam['fileName'],libraryItemMetaData,documentSaveSettings))
