<commit_before>class UrlMappings {
    static mappings = {
        "/$controller/$action?/$id?" {
            constraints {
                // apply constraints here
            }
        }
        "/"(controller: 'menu', action: 'index')
        /*******
        * API url paths, v1
        */
        "/api/$api_version/execution/$id"(controller: 'execution', action: 'apiExecution')
        "/api/$api_version/execution/$id/state"(controller: 'execution', action: 'apiExecutionState')
        "/api/$api_version/execution/$id/abort"(controller: 'execution', action: 'apiExecutionAbort')
        /** v5 */
        "/api/$api_version/execution/$id/output"(controller: 'execution', action: 'apiExecutionOutput')
        /** v10 */
        "/api/$api_version/execution/$id/output/state"(controller: 'execution', action: 'apiExecutionStateOutput')
        "/api/$api_version/execution/$id/output/node/$nodename"(controller: 'execution', action: 'apiExecutionOutput')
        "/api/$api_version/execution/$id/output/node/$nodename/step/$stepctx**?"(controller: 'execution', action: 'apiExecutionOutput')
        "/api/$api_version/execution/$id/output/step/$stepctx**?"(controller: 'execution', action: 'apiExecutionOutput')

        "/api/$api_version/executions/running"(controller: 'menu', action: 'apiExecutionsRunning')
        "/api/$api_version/executions"(controller: 'execution', action: 'apiExecutionsQuery')
        "/api/$api_version/history"(controller: 'reports', action: 'apiHistory')
        "/api/$api_version/job/$id"(controller: 'scheduledExecution') {
            action = [GET: 'apiJobExport', DELETE: 'apiJobDelete', PUT: 'apiJobUpdateSingle', POST: 'apiJobCreateSingle']
        }
        "/api/$api_version/job/$id/run"(controller: 'scheduledExecution', action: 'apiJobRun')
        "/api/$api_version/job/$id/executions"(controller: 'scheduledExecution', action: 'apiJobExecutions')
        "/api/$api_version/jobs"(controller: 'menu', action: 'apiJobsList')
        "/api/$api_version/jobs/export"(controller: 'menu', action: 'apiJobsExport')
        "/api/$api_version/jobs/import"(controller: 'scheduledExecution', action: 'apiJobsImport')
        "/api/$api_version/jobs/delete"(controller: 'scheduledExecution', action: 'apiJobDeleteBulk')
        "/api/$api_version/project/$project"(controller: 'project'){
            action = [GET: 'apiProjectGet', DELETE:'apiProjectDelete']
        }
        "/api/$api_version/project/$project/config"(controller: 'project'){
            action = [GET: 'apiProjectConfigGet', PUT: 'apiProjectConfigPut']
        }
        "/api/$api_version/project/$project/config/$keypath**"(controller: 'project'){
            action = [GET: 'apiProjectConfigKeyGet', PUT: 'apiProjectConfigKeyPut',
                    DELETE: 'apiProjectConfigKeyDelete']
        }
        "/api/$api_version/project/$project/export"(controller: 'project',action: 'apiProjectExport')
        "/api/$api_version/project/$project/import"(controller: 'project',action: 'apiProjectImport')
        /** v2 */
        "/api/$api_version/project/$project/resources/refresh"(controller: 'framework', action: 'apiProjectResourcesRefresh')
        /** v2  */
        "/api/$api_version/project/$project/resources"(controller: 'framework') {
            action = [GET: "apiResourcesv2",/* PUT: "update", DELETE: "delete",*/ POST: "apiProjectResourcesPost"]
        }
        /** v2 */
        "/api/$api_version/project/$project/jobs"(controller: 'menu', action: 'apiJobsListv2')
        "/api/$api_version/projects"(controller: 'project'){
            action = [GET: 'apiProjectList', POST:'apiProjectCreate']
        }
//        "/api/renderError"(controller: 'api', action: 'renderError')
//        "/api/error"(controller: 'api', action: 'error')
        "/api/$api_version/report/create"(controller: 'reports', action: 'apiReportCreate')
        "/api/$api_version/resources"(controller: 'framework', action: 'apiResources')
        "/api/$api_version/resource/$name"(controller: 'framework', action: 'apiResource')
        "/api/$api_version/run/command"(controller: 'scheduledExecution', action: 'apiRunCommand')
        "/api/$api_version/run/script"(controller: 'scheduledExecution', action: 'apiRunScript')
        "/api/$api_version/run/url"(controller: 'scheduledExecution', action: 'apiRunScriptUrl')
        "/api/$api_version/system/info"(controller: 'api', action: 'apiSystemInfo')

        //incubator endpoints
        "/api/$api_version/incubator/jobs/takeoverSchedule"(controller: 'scheduledExecution', action: 'apiJobClusterTakeoverSchedule')
        "/api/$api_version/incubator/resource/$resourcePath**"(controller: 'resource') {
            action = [
                    GET: "apiGetResource",
                    PUT: "apiPutResource",
                    POST: "apiPostResource",
                    DELETE: "apiDeleteResource"
            ]
        }
        "/api/$api_version/incubator/feature/$featureName?"(controller: 'api',action: 'featureToggle')


        //catchall<commit_msg>Change url mapping for ssh-key and incubator resources to use /storage<commit_after>class UrlMappings {
    static mappings = {
        "/$controller/$action?/$id?" {
            constraints {
                // apply constraints here
            }
        }
        "/"(controller: 'menu', action: 'index')
        /*******
        * API url paths, v1
        */
        "/api/$api_version/execution/$id"(controller: 'execution', action: 'apiExecution')
        "/api/$api_version/execution/$id/state"(controller: 'execution', action: 'apiExecutionState')
        "/api/$api_version/execution/$id/abort"(controller: 'execution', action: 'apiExecutionAbort')
        /** v5 */
        "/api/$api_version/execution/$id/output"(controller: 'execution', action: 'apiExecutionOutput')
        /** v10 */
        "/api/$api_version/execution/$id/output/state"(controller: 'execution', action: 'apiExecutionStateOutput')
        "/api/$api_version/execution/$id/output/node/$nodename"(controller: 'execution', action: 'apiExecutionOutput')
        "/api/$api_version/execution/$id/output/node/$nodename/step/$stepctx**?"(controller: 'execution', action: 'apiExecutionOutput')
        "/api/$api_version/execution/$id/output/step/$stepctx**?"(controller: 'execution', action: 'apiExecutionOutput')

        "/api/$api_version/executions/running"(controller: 'menu', action: 'apiExecutionsRunning')
        "/api/$api_version/executions"(controller: 'execution', action: 'apiExecutionsQuery')
        "/api/$api_version/history"(controller: 'reports', action: 'apiHistory')
        "/api/$api_version/job/$id"(controller: 'scheduledExecution') {
            action = [GET: 'apiJobExport', DELETE: 'apiJobDelete', PUT: 'apiJobUpdateSingle', POST: 'apiJobCreateSingle']
        }
        "/api/$api_version/job/$id/run"(controller: 'scheduledExecution', action: 'apiJobRun')
        "/api/$api_version/job/$id/executions"(controller: 'scheduledExecution', action: 'apiJobExecutions')
        "/api/$api_version/jobs"(controller: 'menu', action: 'apiJobsList')
        "/api/$api_version/jobs/export"(controller: 'menu', action: 'apiJobsExport')
        "/api/$api_version/jobs/import"(controller: 'scheduledExecution', action: 'apiJobsImport')
        "/api/$api_version/jobs/delete"(controller: 'scheduledExecution', action: 'apiJobDeleteBulk')
        "/api/$api_version/project/$project"(controller: 'project'){
            action = [GET: 'apiProjectGet', DELETE:'apiProjectDelete']
        }
        "/api/$api_version/project/$project/config"(controller: 'project'){
            action = [GET: 'apiProjectConfigGet', PUT: 'apiProjectConfigPut']
        }
        "/api/$api_version/project/$project/config/$keypath**"(controller: 'project'){
            action = [GET: 'apiProjectConfigKeyGet', PUT: 'apiProjectConfigKeyPut',
                    DELETE: 'apiProjectConfigKeyDelete']
        }
        "/api/$api_version/project/$project/export"(controller: 'project',action: 'apiProjectExport')
        "/api/$api_version/project/$project/import"(controller: 'project',action: 'apiProjectImport')
        /** v2 */
        "/api/$api_version/project/$project/resources/refresh"(controller: 'framework', action: 'apiProjectResourcesRefresh')
        /** v2  */
        "/api/$api_version/project/$project/resources"(controller: 'framework') {
            action = [GET: "apiResourcesv2",/* PUT: "update", DELETE: "delete",*/ POST: "apiProjectResourcesPost"]
        }
        /** v2 */
        "/api/$api_version/project/$project/jobs"(controller: 'menu', action: 'apiJobsListv2')
        "/api/$api_version/projects"(controller: 'project'){
            action = [GET: 'apiProjectList', POST:'apiProjectCreate']
        }
//        "/api/renderError"(controller: 'api', action: 'renderError')
//        "/api/error"(controller: 'api', action: 'error')
        "/api/$api_version/report/create"(controller: 'reports', action: 'apiReportCreate')
        "/api/$api_version/resources"(controller: 'framework', action: 'apiResources')
        "/api/$api_version/resource/$name"(controller: 'framework', action: 'apiResource')
        "/api/$api_version/run/command"(controller: 'scheduledExecution', action: 'apiRunCommand')
        "/api/$api_version/run/script"(controller: 'scheduledExecution', action: 'apiRunScript')
        "/api/$api_version/run/url"(controller: 'scheduledExecution', action: 'apiRunScriptUrl')
        "/api/$api_version/system/info"(controller: 'api', action: 'apiSystemInfo')

        "/api/$api_version/storage/ssh-key/$resourcePath**"(controller: 'resource', action: 'apiSshKey')

        //incubator endpoints
        "/api/$api_version/incubator/jobs/takeoverSchedule"(controller: 'scheduledExecution', action: 'apiJobClusterTakeoverSchedule')
        "/api/$api_version/incubator/storage/$resourcePath**"(controller: 'resource') {
            action = [
                    GET: "apiGetResource",
                    PUT: "apiPutResource",
                    POST: "apiPostResource",
                    DELETE: "apiDeleteResource"
            ]
        }

        "/api/$api_version/incubator/feature/$featureName?"(controller: 'api',action: 'featureToggle')


        //catchall
{'fraction_non_alphanumeric': 0.16782192716977448, 'fraction_numerical': 0.0017572976666992092, 'mean_word_length': 3.3096339924274294, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4883151', 'n_tokens_mistral': 2979, 'n_tokens_neox': 2812, 'n_words': 435}