public SearchMavenDialogController()

in kit/src/main/java/com/oracle/javafx/scenebuilder/kit/editor/panel/library/maven/search/SearchMavenDialogController.java [112:191]


    public SearchMavenDialogController(EditorController editorController, String userM2Repository,
                                       String tempM2Repository, PreferencesControllerBase preferencesControllerBase,
                                       Stage owner) {
        super(LibraryPanelController.class.getResource("SearchMavenDialog.fxml"), I18N.getBundle(), owner); //NOI18N
        this.userLibrary = (UserLibrary) editorController.getLibrary();
        this.owner = owner;
        this.editorController = editorController;
        this.preferencesControllerBase = preferencesControllerBase;
        
        maven = new MavenRepositorySystem(true, userM2Repository, tempM2Repository,
                preferencesControllerBase.getRepositoryPreferences()); // only releases
        
        searchService = new SearchService(userM2Repository);
        searchService.getResult().addListener((ListChangeListener.Change<? extends Artifact> c) -> {
            while (c.next()) {
                resultsListView.getItems().setAll(searchService.getResult()
                        .stream()
                        .sorted((a1, a2) -> a1.toString().compareTo(a2.toString()))
                        .collect(Collectors.toList()));
            }
        });
        
        installService = new Service<MavenArtifact>() {
            @Override
            protected Task<MavenArtifact> createTask() {
                return new Task<MavenArtifact>() {
                    @Override
                    protected MavenArtifact call() throws Exception {
                        return resolveArtifacts();
                    }
                };
            }
        };
        
        installService.stateProperty().addListener((obs, ov, nv) -> {
            if (ov.equals(Worker.State.RUNNING)) {
                if (nv.equals(Worker.State.SUCCEEDED)) {
                    final MavenArtifact mavenArtifact = installService.getValue();

                    if (mavenArtifact == null || mavenArtifact.getPath().isEmpty() || 
                            !new File(mavenArtifact.getPath()).exists()) {
                        logInfoMessage("log.user.maven.failed", getArtifactCoordinates());
                    } else {
                        List<File> files = new ArrayList<>();
                        files.add(new File(mavenArtifact.getPath()));
                        if (!mavenArtifact.getDependencies().isEmpty()) {
                            files.addAll(Stream
                                    .of(mavenArtifact.getDependencies().split(File.pathSeparator))
                                    .map(File::new)
                                    .collect(Collectors.toList()));
                        }
                        
                        final ImportWindowController iwc
                                = new ImportWindowController(
                                    new LibraryPanelController(editorController,
                                            preferencesControllerBase.getMavenPreferences()),
                                    files, preferencesControllerBase.getMavenPreferences(),
                                    (Stage) installButton.getScene().getWindow(), false,
                                    preferencesControllerBase.getMavenPreferences().getArtifactsFilter());
                        iwc.setToolStylesheet(editorController.getToolStylesheet());
                        ButtonID userChoice = iwc.showAndWait();
                        if (userChoice == ButtonID.OK) {
                            mavenArtifact.setFilter(iwc.getNewExcludedItems());
                            updatePreferences(mavenArtifact);
                            logInfoMessage("log.user.maven.installed", getArtifactCoordinates());
                        }
                        this.onCloseRequest(null);
                    }
                } else if (nv.equals(Worker.State.CANCELLED) || nv.equals(Worker.State.FAILED)) {
                    logInfoMessage("log.user.maven.failed", getArtifactCoordinates());
                }
                installButton.setDisable(false);
                searchButton.setDisable(false);
                resultsListView.setDisable(false);
                searchTextfield.setDisable(false);
                installLabel.setVisible(false);
            }
        });
        
    }