Search in sources :

Example 1 with ProjectImporterDescriptor

use of org.eclipse.che.api.project.shared.dto.ProjectImporterDescriptor in project che by eclipse.

the class SubversionProjectImporterPresenterTest method testGo.

/**
     * Test for {@link SubversionProjectImporterPresenter#go(AcceptsOneWidget)}.
     *
     * @throws Exception if anything goes wrong
     */
@Test
public void testGo() throws Exception {
    final String importerDescription = "Some description.";
    final AcceptsOneWidget container = mock(AcceptsOneWidget.class);
    final ProjectImporterDescriptor projectImporter = mock(ProjectImporterDescriptor.class);
    when(projectImporter.getDescription()).thenReturn(importerDescription);
    presenter.go(container);
    verify(container).setWidget(eq(view));
    verify(view).setProjectName(anyString());
    verify(view).setProjectDescription(anyString());
    verify(view).setProjectUrl(anyString());
    verify(view).setInputsEnableState(eq(true));
}
Also used : Mockito.anyString(org.mockito.Mockito.anyString) AcceptsOneWidget(com.google.gwt.user.client.ui.AcceptsOneWidget) ProjectImporterDescriptor(org.eclipse.che.api.project.shared.dto.ProjectImporterDescriptor) Test(org.junit.Test)

Example 2 with ProjectImporterDescriptor

use of org.eclipse.che.api.project.shared.dto.ProjectImporterDescriptor in project che by eclipse.

the class MainPagePresenter method loadImporters.

private void loadImporters() {
    final Map<String, Set<ProjectImporterDescriptor>> importersByCategory = new LinkedHashMap<>();
    final Unmarshallable<ProjectImporterData> unmarshaller = dtoUnmarshallerFactory.newUnmarshaller(ProjectImporterData.class);
    AsyncRequestCallback<ProjectImporterData> callback = new AsyncRequestCallback<ProjectImporterData>(unmarshaller) {

        @Override
        protected void onSuccess(ProjectImporterData data) {
            List<ProjectImporterDescriptor> result = data.getImporters();
            String defaultImporterId = data.getConfiguration().get(DEFAULT_PROJECT_IMPORTER);
            Iterator<ProjectImporterDescriptor> itr = result.iterator();
            while (itr.hasNext()) {
                ProjectImporterDescriptor importer = itr.next();
                if (importer.getId().equals(defaultImporterId)) {
                    Set<ProjectImporterDescriptor> importersSet = new LinkedHashSet<>();
                    importersSet.add(importer);
                    importersByCategory.put(importer.getCategory(), importersSet);
                    itr.remove();
                }
            }
            ProjectImporterDescriptor defaultImporter = null;
            for (ProjectImporterDescriptor importer : result) {
                if (importer.isInternal() || importer.getCategory() == null || importWizardRegistry.getWizardRegistrar(importer.getId()) == null) {
                    continue;
                }
                if (importersByCategory.containsKey(importer.getCategory())) {
                    importersByCategory.get(importer.getCategory()).add(importer);
                } else {
                    Set<ProjectImporterDescriptor> importersSet = new LinkedHashSet<>();
                    importersSet.add(importer);
                    importersByCategory.put(importer.getCategory(), importersSet);
                }
                if (importer.getId().equals(defaultImporterId)) {
                    defaultImporter = importer;
                }
            }
            setImporters(defaultImporter);
        }

        private void setImporters(final ProjectImporterDescriptor defaultImporter) {
            new Timer() {

                @Override
                public void run() {
                    view.setImporters(importersByCategory);
                    view.selectImporter(defaultImporter != null ? defaultImporter : importersByCategory.get(importersByCategory.keySet().iterator().next()).iterator().next());
                }
            }.schedule(300);
        }

        @Override
        protected void onFailure(Throwable exception) {
            notificationManager.notify(locale.failedToImportProject(), FAIL, FLOAT_MODE);
        }
    };
    projectImportersService.getProjectImporters(appContext.getDevMachine(), callback);
}
Also used : LinkedHashSet(java.util.LinkedHashSet) LinkedHashSet(java.util.LinkedHashSet) Set(java.util.Set) AsyncRequestCallback(org.eclipse.che.ide.rest.AsyncRequestCallback) LinkedHashMap(java.util.LinkedHashMap) ProjectImporterDescriptor(org.eclipse.che.api.project.shared.dto.ProjectImporterDescriptor) ProjectImporterData(org.eclipse.che.api.project.shared.dto.ProjectImporterData) Timer(com.google.gwt.user.client.Timer)

Example 3 with ProjectImporterDescriptor

use of org.eclipse.che.api.project.shared.dto.ProjectImporterDescriptor in project che by eclipse.

the class GithubImporterPagePresenterTest method testGo.

@Test
public void testGo() throws Exception {
    String importerDescription = "description";
    AcceptsOneWidget container = mock(AcceptsOneWidget.class);
    ProjectImporterDescriptor projectImporter = mock(ProjectImporterDescriptor.class);
    //when(wizardContext.getData(ImportProjectWizard.PROJECT_IMPORTER)).thenReturn(projectImporter);
    when(projectImporter.getDescription()).thenReturn(importerDescription);
    presenter.go(container);
    verify(view).setInputsEnableState(eq(true));
    verify(container).setWidget(eq(view));
    verify(view).focusInUrlInput();
}
Also used : Matchers.anyString(org.mockito.Matchers.anyString) AcceptsOneWidget(com.google.gwt.user.client.ui.AcceptsOneWidget) ProjectImporterDescriptor(org.eclipse.che.api.project.shared.dto.ProjectImporterDescriptor) Test(org.junit.Test)

Aggregations

ProjectImporterDescriptor (org.eclipse.che.api.project.shared.dto.ProjectImporterDescriptor)3 AcceptsOneWidget (com.google.gwt.user.client.ui.AcceptsOneWidget)2 Test (org.junit.Test)2 Timer (com.google.gwt.user.client.Timer)1 LinkedHashMap (java.util.LinkedHashMap)1 LinkedHashSet (java.util.LinkedHashSet)1 Set (java.util.Set)1 ProjectImporterData (org.eclipse.che.api.project.shared.dto.ProjectImporterData)1 AsyncRequestCallback (org.eclipse.che.ide.rest.AsyncRequestCallback)1 Matchers.anyString (org.mockito.Matchers.anyString)1 Mockito.anyString (org.mockito.Mockito.anyString)1