class DLFileEntryResolversImpl implements DLFileEntryResolvers {

    @Override
    public DataFetcher<DLFileEntry> createDLFileEntryDataFetcher() {
        return environment -> {
            // TODO: Finish implementing createDLFileEntryDataFetcher
            long userId = util.getLongArg(environment, "userId", util.getDefaultUserId());
            long groupId = util.getLongArg(environment, "groupId");
            long repositoryId = util.getLongArg(environment, "repositoryId");
            long folderId = util.getLongArg(environment, "folderId", DLFolderConstants.DEFAULT_PARENT_FOLDER_ID);
            String sourceFileName = util.getStringArg(environment, "sourceFileName");
            String mimeType = util.getStringArg(environment, "mimeType");
            String title = util.getStringArg(environment, "title");
            String description = util.getStringArg(environment, "description");
            String changeLog = util.getStringArg(environment, "changeLog");
            long fileEntryTypeId = util.getLongArg(environment, "fileEntryTypeId", DLFileEntryTypeConstants.FILE_ENTRY_TYPE_ID_BASIC_DOCUMENT);
            Map<String, DDMFormValues> ddmFormValuesMap = null;
            File file = null;
            InputStream is = null;
            long size = util.getLongArg(environment, "size");
            ServiceContext serviceContext = new ServiceContext();

            return dlFileEntryLocalService.addFileEntry(
                    userId,
                    groupId,
                    repositoryId,
                    folderId,
                    sourceFileName,
                    mimeType,
                    title,
                    description,
                    changeLog,
                    fileEntryTypeId,
                    ddmFormValuesMap,
                    file,
                    is,
                    size,
                    serviceContext);
        };
    }

}