importPackage(Packages.java.io); importPackage(Packages.de.elo.ix.client); //@include lib_Class.js //@include lib_sol.common.Cache.js //@include lib_sol.common.ObjectUtils.js //@include lib_sol.common.JsonUtils.js //@include lib_sol.common.StringUtils.js //@include lib_sol.common.AclUtils.js //@include lib_sol.common.RepoUtils.js //@include lib_sol.common.SordUtils.js //@include lib_sol.common.ObjectFormatter.js //@include lib_sol.common.ix.RfUtils.js //@include lib_sol.common.ix.ServiceBase.js var logger = sol.create("sol.Logger", { scope: "sol.common.ix.services.DownloadFileContent" }); /** * Downloads a small file content as text from a document that is stored in elo. * * This service is useful if information should be downloaded from web applications. * * # As IX service call * * Download content of work version: * * sol.common.IxUtils.execute('RF_sol_common_service_DownloadFileContent', { * objId: '123' * }); * * Download content of a specific version: * * sol.common.IxUtils.execute('RF_sol_common_service_DownloadFileContent', { * docId: '123' * }); * * Returns content as followed: * * { * content: " --- FILE CONTENT GOES HERE --- " * } * * @author NM, ELO Digital Office GmbH * @version 1.0 * * @eloix * @requires sol.common.Cache * @requires sol.common.ObjectUtils * @requires sol.common.JsonUtils * @requires sol.common.AclUtils * @requires sol.common.RepoUtils * @requires sol.common.SordUtils * @requires sol.common.ObjectFormatter * @requires sol.common.ix.RfUtils * @requires sol.common.ix.ServiceBase */ sol.define("sol.common.ix.services.DownloadFileContent", { extend: "sol.common.ix.ServiceBase", /** * @cfg {String} objId */ /** * @cfg {String} docId */ /** * @cfg {Boolean} preserveBOM */ initialize: function (config) { var me = this; me.$super("sol.common.ix.ServiceBase", "initialize", [config]); if (!me.objId && !me.docId) { throw "IllegalArgumentException: 'sol.common.ix.services.DownloadFileContent' needs either an objId or a docId"; } }, process: function () { var me = this, params, content; params = { preserveBOM: me.preserveBOM, charsets: me.charsets }; if (me.objId) { content = sol.common.RepoUtils.downloadToString(me.objId, null, params); } else if (me.docId) { content = sol.common.RepoUtils.downloadToString(null, me.docId, params); } return { content: content }; } }); /** * @member sol.common.ix.services.DownloadFileContent * @method RF_sol_common_service_DownloadFileContent * @static * @inheritdoc sol.common.ix.ServiceBase#RF_ServiceBaseName */ function RF_sol_common_service_DownloadFileContent(iXSEContext, args) { logger.enter("RF_sol_common_service_DownloadFileContent", args); var params, service, result; params = sol.common.ix.RfUtils.parseAndCheckParams(iXSEContext, arguments.callee.name, args); service = sol.create("sol.common.ix.services.DownloadFileContent", params); result = sol.common.JsonUtils.stringifyAll(service.process()); logger.exit("RF_sol_common_service_DownloadFileContent", result); return result; }