    importPackage(Packages.java.io);
    importPackage(Packages.de.elo.ix.client);

    //@include lib_Class.js
    //@include lib_sol.common.ix.ServiceBase.js
    //@include lib_sol.common.RepoUtils.js

    var logger = sol.create("sol.Logger", { scope: "sol.dev.ix.services.CreateRepoEntry" });

    /**
     * Creates a new repository entry.
     *
     * This service is useful if repositiory entries should be created from web applications.
     *
     * # As IX service call
     *
     *     sol.common.IxUtils.execute('RF_sol_dev_service_CreateRepoEntry', {
     *       saveToRepoConfig: { repoPath: arcPath, maskId: elo.CONST.DOC_MASK.GUID_ELOSCRIPTS, contentObject: configJson }
     *     });
     *
     * @author JHR, ELO Digital Office GmbH
     * @version 1.0
     *
     * @eloix
     *
     * @requires  sol.Logger
     * @requires  sol.common.RepoUtils
     * @requires  sol.common.ix.RfUtils
     * @requires  sol.common.ix.ServiceBase
     */
    sol.define("sol.dev.ix.services.CreateRepoEntry", {
      extend: "sol.common.ix.ServiceBase",
      requiredConfig: ["saveToRepoConfig"],

      initialize: function (config) {
        var me = this;
        me.$super("sol.common.ix.ServiceBase", "initialize", [config]);
      },

      /**
       * Creates a new repository document or saves a new version to an existing document
       * @return {Object}
       */
      process: function () {
        var me = this,
            objId;

        objId = sol.common.RepoUtils.saveToRepo(me.saveToRepoConfig);

        return {
          objId: objId
        };
      }
    });

    /**
     * @member sol.dev.ix.services.CreateRepoEntry
     * @method RF_sol_dev_service_CreateRepoEntry
     * @static
     * @inheritdoc sol.common.ix.ServiceBase#RF_ServiceBaseName
     */
    function RF_sol_dev_service_CreateRepoEntry(iXSEContext, args) {
      logger.enter("RF_sol_dev_service_CreateRepoEntry", args);
      var params, service, result;

      params = sol.common.ix.RfUtils.parseAndCheckParams(iXSEContext, arguments.callee.name, args, "saveToRepoConfig");
      service = sol.create("sol.dev.ix.services.CreateRepoEntry", params);
      result = sol.common.JsonUtils.stringifyAll(service.process());
      logger.exit("RF_sol_dev_service_CreateRepoEntry", result);
      return result;
    }