protected ModelAndView doGet()

in nuget-feed/src/jetbrains/buildServer/nuget/feed/server/tab/PackagesSettingsController.java [93:128]


    protected ModelAndView doGet(@NotNull HttpServletRequest request, @NotNull HttpServletResponse response) {
        final String projectExternalId = request.getParameter("projectId");
        final SProject project = myProjectManager.findProjectByExternalId(projectExternalId);
        if (project == null) {
            throw new ProjectNotFoundException("Project with id [" + projectExternalId + " was not found");
        }

        String type = request.getParameter("type");
        if (StringUtil.isEmpty(type)) {
            throw new InvalidParameterException("Repository type must be specified");
        }
        RepositoryType repositoryType = myRepositoryRegistry.findType(type);
        if (repositoryType == null) {
            throw new RuntimeException("Repository type [" + type + "] could not be found");
        }

        final ModelAndView modelAndView = new ModelAndView(myPluginDescriptor.getPluginResourcesPath("editRepositoryParams.jsp"));
        final Map<String, Object> model = modelAndView.getModel();
        final String name = request.getParameter("name");
        final Map<String, String> properties;
        if (StringUtil.isEmpty(name)) {
            properties = repositoryType.getDefaultParameters();
        } else {
            final Repository repository = myRepositoryManager.getRepository(project, type, name);
            if (repository != null) {
                properties = repository.getParameters();
            } else {
                properties = repositoryType.getDefaultParameters();
            }
        }
        model.put("project", project);
        model.put("repositoryType", repositoryType);
        model.put("propertiesBean", new BasePropertiesBean(properties));

        return modelAndView;
    }