diff --git a/core/ide/che-core-ide-api/src/main/java/org/eclipse/che/ide/api/action/IdeActions.java b/core/ide/che-core-ide-api/src/main/java/org/eclipse/che/ide/api/action/IdeActions.java index ad70f36ecf8..4ec522f4fb2 100644 --- a/core/ide/che-core-ide-api/src/main/java/org/eclipse/che/ide/api/action/IdeActions.java +++ b/core/ide/che-core-ide-api/src/main/java/org/eclipse/che/ide/api/action/IdeActions.java @@ -32,7 +32,6 @@ public interface IdeActions { String GROUP_RIGHT_TOOLBAR = "rightToolBar"; String GROUP_MAIN_CONTEXT_MENU = "mainContextMenu"; - String GROUP_BUILD_CONTEXT_MENU = "buildGroupContextMenu"; String GROUP_RUN_CONTEXT_MENU = "runGroupContextMenu"; String GROUP_DEBUG_CONTEXT_MENU = "debugGroupContextMenu"; String GROUP_PROJECT_EXPLORER_CONTEXT_MENU = "projectExplorerContextMenu"; diff --git a/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/actions/ActionManagerImpl.java b/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/actions/ActionManagerImpl.java index 06c5e67db4a..4618b76c1f3 100644 --- a/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/actions/ActionManagerImpl.java +++ b/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/actions/ActionManagerImpl.java @@ -105,9 +105,6 @@ private void registerDefaultActionGroups() { DefaultActionGroup mainContextMenuGroup = new DefaultActionGroup(IdeActions.GROUP_MAIN_CONTEXT_MENU, false, this); registerAction(IdeActions.GROUP_MAIN_CONTEXT_MENU, mainContextMenuGroup); - DefaultActionGroup buildContextMenuGroup = new DefaultActionGroup(IdeActions.GROUP_BUILD_CONTEXT_MENU, false, this); - registerAction(IdeActions.GROUP_BUILD_CONTEXT_MENU, buildContextMenuGroup); - DefaultActionGroup runContextMenuGroup = new DefaultActionGroup(IdeActions.GROUP_RUN_CONTEXT_MENU, false, this); registerAction(IdeActions.GROUP_RUN_CONTEXT_MENU, runContextMenuGroup); mainContextMenuGroup.add(runContextMenuGroup); diff --git a/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/core/StandardComponentInitializer.java b/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/core/StandardComponentInitializer.java index 3ea7df85b8f..c40170ab2f0 100644 --- a/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/core/StandardComponentInitializer.java +++ b/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/core/StandardComponentInitializer.java @@ -61,6 +61,7 @@ import org.eclipse.che.ide.api.action.ActionManager; import org.eclipse.che.ide.api.action.DefaultActionGroup; import org.eclipse.che.ide.api.action.IdeActions; +import org.eclipse.che.ide.api.constraints.Constraints; import org.eclipse.che.ide.api.editor.EditorRegistry; import org.eclipse.che.ide.api.editor.texteditor.EditorResources; import org.eclipse.che.ide.api.filetypes.FileType; @@ -538,7 +539,7 @@ public void initialize() { resourceOperation.add(convertFolderToProjectAction); DefaultActionGroup mainContextMenuGroup = (DefaultActionGroup)actionManager.getAction(IdeActions.GROUP_MAIN_CONTEXT_MENU); - mainContextMenuGroup.add(newGroup); + mainContextMenuGroup.add(newGroup, Constraints.FIRST); mainContextMenuGroup.addSeparator(); mainContextMenuGroup.add(resourceOperation); diff --git a/core/ide/che-core-ide-app/src/main/resources/org/eclipse/che/ide/actions/refresh.svg b/core/ide/che-core-ide-app/src/main/resources/org/eclipse/che/ide/actions/refresh.svg index 1190051e938..1a0665709f9 100644 --- a/core/ide/che-core-ide-app/src/main/resources/org/eclipse/che/ide/actions/refresh.svg +++ b/core/ide/che-core-ide-app/src/main/resources/org/eclipse/che/ide/actions/refresh.svg @@ -13,7 +13,7 @@ --> + width="16px" height="16px" viewBox="7 7 18 18" enable-background="new 0 0 32.001 32" xml:space="preserve"> archetypes; + private final MavenResources resources; @Inject public MavenExtension(PreSelectedProjectTypeManager preSelectedProjectManager, MavenMessagesHandler messagesHandler, - ClassFileSourcesDownloader downloader) { + ClassFileSourcesDownloader downloader, + MavenResources resources) { + this.resources = resources; preSelectedProjectManager.setProjectTypeIdToPreselect(MavenAttributes.MAVEN_ID, 100); @@ -65,17 +71,29 @@ public static List getAvailableArchetypes() { @Inject private void prepareActions(ActionManager actionManager, DependencyResolverAction dependencyResolverAction, - GetEffectivePomAction getEffectivePomAction) { + GetEffectivePomAction getEffectivePomAction, + ReimportMavenDependenciesAction reimportMavenDependenciesAction) { // register actions actionManager.registerAction("getEffectivePom", getEffectivePomAction); + actionManager.registerAction("reimportMavenDependenciesAction", reimportMavenDependenciesAction); // add actions in main menu - DefaultActionGroup assistantGroup = (DefaultActionGroup)actionManager.getAction(IdeActions.GROUP_ASSISTANT); + DefaultActionGroup assistantGroup = (DefaultActionGroup)actionManager.getAction(GROUP_ASSISTANT); assistantGroup.add(getEffectivePomAction, Constraints.LAST); + // create maven context menu + DefaultActionGroup mavenContextMenuGroup = new DefaultActionGroup(MAVEN_GROUP_CONTEXT_MENU_NAME, true, actionManager); + actionManager.registerAction(MAVEN_GROUP_CONTEXT_MENU_ID, mavenContextMenuGroup); + mavenContextMenuGroup.getTemplatePresentation().setSVGResource(resources.maven()); + + // add maven context menu to main context menu + DefaultActionGroup mainContextMenuGroup = (DefaultActionGroup)actionManager.getAction("resourceOperation"); + mainContextMenuGroup.addSeparator(); + mainContextMenuGroup.add(mavenContextMenuGroup, Constraints.LAST); + // add actions in context menu - DefaultActionGroup buildContextMenuGroup = (DefaultActionGroup)actionManager.getAction(GROUP_BUILD_CONTEXT_MENU); - buildContextMenuGroup.addSeparator(); + mavenContextMenuGroup.add(reimportMavenDependenciesAction); + mavenContextMenuGroup.addSeparator(); // add resolver widget on right part of bottom panel final DefaultActionGroup rightStatusPanelGroup = (DefaultActionGroup)actionManager.getAction(GROUP_RIGHT_STATUS_PANEL); diff --git a/plugins/plugin-maven/che-plugin-maven-ide/src/main/java/org/eclipse/che/plugin/maven/client/MavenLocalizationConstant.java b/plugins/plugin-maven/che-plugin-maven-ide/src/main/java/org/eclipse/che/plugin/maven/client/MavenLocalizationConstant.java index 27c174d72f7..87b4dc0247a 100644 --- a/plugins/plugin-maven/che-plugin-maven-ide/src/main/java/org/eclipse/che/plugin/maven/client/MavenLocalizationConstant.java +++ b/plugins/plugin-maven/che-plugin-maven-ide/src/main/java/org/eclipse/che/plugin/maven/client/MavenLocalizationConstant.java @@ -31,6 +31,12 @@ public interface MavenLocalizationConstant extends Messages { @Key("action.effectivePom.description") String actionGetEffectivePomDescription(); + @Key("action.reimportDependencies.title") + String actionReimportDependenciesTitle(); + + @Key("action.reimportDependencies.description") + String actionReimportDependenciesDescription(); + @Key("action.createMavenModule.description") String actionCreateMavenModuleDescription(); diff --git a/plugins/plugin-maven/che-plugin-maven-ide/src/main/java/org/eclipse/che/plugin/maven/client/actions/MavenActionsConstants.java b/plugins/plugin-maven/che-plugin-maven-ide/src/main/java/org/eclipse/che/plugin/maven/client/actions/MavenActionsConstants.java new file mode 100644 index 00000000000..f6b74213113 --- /dev/null +++ b/plugins/plugin-maven/che-plugin-maven-ide/src/main/java/org/eclipse/che/plugin/maven/client/actions/MavenActionsConstants.java @@ -0,0 +1,20 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.plugin.maven.client.actions; + +/** @author Roman Nikitenko */ +public final class MavenActionsConstants { + private MavenActionsConstants() { + } + + public static final String MAVEN_GROUP_CONTEXT_MENU_NAME = "Maven"; + public static final String MAVEN_GROUP_CONTEXT_MENU_ID = "mavenGroupContextMenu"; +} diff --git a/plugins/plugin-maven/che-plugin-maven-ide/src/main/java/org/eclipse/che/plugin/maven/client/actions/ReimportMavenDependenciesAction.java b/plugins/plugin-maven/che-plugin-maven-ide/src/main/java/org/eclipse/che/plugin/maven/client/actions/ReimportMavenDependenciesAction.java new file mode 100644 index 00000000000..3ba5abc3dde --- /dev/null +++ b/plugins/plugin-maven/che-plugin-maven-ide/src/main/java/org/eclipse/che/plugin/maven/client/actions/ReimportMavenDependenciesAction.java @@ -0,0 +1,103 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.plugin.maven.client.actions; + +import com.google.inject.Inject; +import com.google.inject.Singleton; + +import org.eclipse.che.api.promises.client.Operation; +import org.eclipse.che.api.promises.client.OperationException; +import org.eclipse.che.api.promises.client.PromiseError; +import org.eclipse.che.api.workspace.shared.dto.ProjectConfigDto; +import org.eclipse.che.ide.Resources; +import org.eclipse.che.ide.api.action.AbstractPerspectiveAction; +import org.eclipse.che.ide.api.action.ActionEvent; +import org.eclipse.che.ide.api.notification.NotificationManager; +import org.eclipse.che.ide.api.selection.Selection; +import org.eclipse.che.ide.api.selection.SelectionAgent; +import org.eclipse.che.ide.project.node.ProjectNode; +import org.eclipse.che.plugin.maven.client.MavenLocalizationConstant; +import org.eclipse.che.plugin.maven.client.service.MavenServerServiceClient; + +import javax.validation.constraints.NotNull; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +import static org.eclipse.che.ide.api.notification.StatusNotification.DisplayMode.EMERGE_MODE; +import static org.eclipse.che.ide.api.notification.StatusNotification.Status.FAIL; +import static org.eclipse.che.ide.workspace.perspectives.project.ProjectPerspective.PROJECT_PERSPECTIVE_ID; +import static org.eclipse.che.plugin.maven.shared.MavenAttributes.MAVEN_ID; + +/** + * Action for reimport maven dependencies. + * + * @author Roman Nikitenko + */ +@Singleton +public class ReimportMavenDependenciesAction extends AbstractPerspectiveAction { + + private final SelectionAgent selectionAgent; + private final NotificationManager notificationManager; + private final MavenServerServiceClient mavenServerServiceClient; + + @Inject + public ReimportMavenDependenciesAction(MavenLocalizationConstant constant, + SelectionAgent selectionAgent, + NotificationManager notificationManager, + Resources resources, + MavenServerServiceClient mavenServerServiceClient) { + super(Collections.singletonList(PROJECT_PERSPECTIVE_ID), + constant.actionReimportDependenciesTitle(), + constant.actionReimportDependenciesDescription(), + null, + resources.refresh()); + this.selectionAgent = selectionAgent; + this.notificationManager = notificationManager; + this.mavenServerServiceClient = mavenServerServiceClient; + } + + + @Override + public void updateInPerspective(@NotNull ActionEvent event) { + event.getPresentation().setEnabledAndVisible(isMavenProjectSelected()); + } + + @Override + public void actionPerformed(ActionEvent e) { + mavenServerServiceClient.reimportDependencies(getPathsToSelectedMavenProject()).catchError(new Operation() { + @Override + public void apply(PromiseError arg) throws OperationException { + notificationManager.notify("Problem with reimporting maven dependencies", arg.getMessage(), FAIL, EMERGE_MODE); + } + }); + } + + private boolean isMavenProjectSelected() { + return !getPathsToSelectedMavenProject().isEmpty(); + } + + private List getPathsToSelectedMavenProject() { + List paths = new ArrayList<>(); + Selection selection = selectionAgent.getSelection(); + for (Object aSelection: selection.getAllElements()) { + if (!(aSelection instanceof ProjectNode)) { + continue; + } + + ProjectConfigDto projectConfig = ((ProjectNode)aSelection).getProjectConfig(); + if (MAVEN_ID.equals(projectConfig.getType())) { + paths.add(projectConfig.getPath()); + } + } + return paths; + } +} diff --git a/plugins/plugin-maven/che-plugin-maven-ide/src/main/java/org/eclipse/che/plugin/maven/client/service/MavenServerServiceClient.java b/plugins/plugin-maven/che-plugin-maven-ide/src/main/java/org/eclipse/che/plugin/maven/client/service/MavenServerServiceClient.java index 2c8206f2907..184301313a0 100644 --- a/plugins/plugin-maven/che-plugin-maven-ide/src/main/java/org/eclipse/che/plugin/maven/client/service/MavenServerServiceClient.java +++ b/plugins/plugin-maven/che-plugin-maven-ide/src/main/java/org/eclipse/che/plugin/maven/client/service/MavenServerServiceClient.java @@ -43,6 +43,14 @@ public interface MavenServerServiceClient { */ Promise downloadSources(String projectPath, String fqn); + /** + * Invokes reimporting maven dependencies. + * + * @param projectsPaths + * the paths to projects which need to be reimported dependencies + */ + Promise reimportDependencies(List projectsPaths); + /** * Invokes reconciling for pom.xml file * @param pomPath tha path to pom.xml file diff --git a/plugins/plugin-maven/che-plugin-maven-ide/src/main/java/org/eclipse/che/plugin/maven/client/service/MavenServerServiceClientImpl.java b/plugins/plugin-maven/che-plugin-maven-ide/src/main/java/org/eclipse/che/plugin/maven/client/service/MavenServerServiceClientImpl.java index cd15fc3da26..c413f1adf48 100644 --- a/plugins/plugin-maven/che-plugin-maven-ide/src/main/java/org/eclipse/che/plugin/maven/client/service/MavenServerServiceClientImpl.java +++ b/plugins/plugin-maven/che-plugin-maven-ide/src/main/java/org/eclipse/che/plugin/maven/client/service/MavenServerServiceClientImpl.java @@ -24,6 +24,7 @@ import org.eclipse.che.ide.rest.Unmarshallable; import org.eclipse.che.ide.ui.loaders.request.LoaderFactory; +import javax.validation.constraints.NotNull; import java.util.List; /** @@ -81,6 +82,17 @@ public Boolean getPayload() { }); } + @Override + public Promise reimportDependencies(@NotNull List projectsPaths) { + StringBuilder queryParameters = new StringBuilder(); + for (String path : projectsPaths) { + queryParameters.append("&projectPath=").append(path); + } + final String url = appContext.getDevMachine().getWsAgentBaseUrl() + servicePath + "reimport" + + queryParameters.toString().replaceFirst("&", "?"); + return asyncRequestFactory.createPutRequest(url, null).send(); + } + @Override public Promise> reconcilePom(String pomPath) { final String url = appContext.getDevMachine().getWsAgentBaseUrl() + servicePath + "pom/reconsile?pompath=" + pomPath; diff --git a/plugins/plugin-maven/che-plugin-maven-ide/src/main/resources/org/eclipse/che/plugin/maven/client/MavenLocalizationConstant.properties b/plugins/plugin-maven/che-plugin-maven-ide/src/main/resources/org/eclipse/che/plugin/maven/client/MavenLocalizationConstant.properties index de21aa50ac9..1e662ae576f 100644 --- a/plugins/plugin-maven/che-plugin-maven-ide/src/main/resources/org/eclipse/che/plugin/maven/client/MavenLocalizationConstant.properties +++ b/plugins/plugin-maven/che-plugin-maven-ide/src/main/resources/org/eclipse/che/plugin/maven/client/MavenLocalizationConstant.properties @@ -14,6 +14,8 @@ action.createMavenModule.text = Maven Module action.createMavenModule.description = Create new Maven module action.effectivePom.title = Generate Effective Pom action.effectivePom.description = Generate effective pom for current project +action.reimportDependencies.title = Reimport +action.reimportDependencies.description = Reimport maven dependencies ##### MavenCommandPageView ##### view.mavenCommandPage.commandLine.text = Command line diff --git a/plugins/plugin-maven/che-plugin-maven-ide/src/main/resources/org/eclipse/che/plugin/maven/client/maven.svg b/plugins/plugin-maven/che-plugin-maven-ide/src/main/resources/org/eclipse/che/plugin/maven/client/maven.svg index d14b27118f9..cd168dc125b 100644 --- a/plugins/plugin-maven/che-plugin-maven-ide/src/main/resources/org/eclipse/che/plugin/maven/client/maven.svg +++ b/plugins/plugin-maven/che-plugin-maven-ide/src/main/resources/org/eclipse/che/plugin/maven/client/maven.svg @@ -12,7 +12,7 @@ --> + width="16px" height="16px" viewBox="7 5 18 18" enable-background="new 0 0 32 32" xml:space="preserve"> - \ No newline at end of file + diff --git a/plugins/plugin-maven/che-plugin-maven-server/pom.xml b/plugins/plugin-maven/che-plugin-maven-server/pom.xml index 234d9883850..0f12c6bf489 100644 --- a/plugins/plugin-maven/che-plugin-maven-server/pom.xml +++ b/plugins/plugin-maven/che-plugin-maven-server/pom.xml @@ -38,6 +38,10 @@ com.google.inject.extensions guice-multibindings + + io.swagger + swagger-annotations + javax.annotation javax.annotation-api @@ -287,4 +291,4 @@ - \ No newline at end of file + diff --git a/plugins/plugin-maven/che-plugin-maven-server/src/main/java/org/eclipse/che/plugin/maven/server/rest/MavenServerService.java b/plugins/plugin-maven/che-plugin-maven-server/src/main/java/org/eclipse/che/plugin/maven/server/rest/MavenServerService.java index 64e5c3690c4..e3e6b710d4f 100644 --- a/plugins/plugin-maven/che-plugin-maven-server/src/main/java/org/eclipse/che/plugin/maven/server/rest/MavenServerService.java +++ b/plugins/plugin-maven/che-plugin-maven-server/src/main/java/org/eclipse/che/plugin/maven/server/rest/MavenServerService.java @@ -10,6 +10,11 @@ *******************************************************************************/ package org.eclipse.che.plugin.maven.server.rest; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import io.swagger.annotations.ApiResponse; +import io.swagger.annotations.ApiResponses; + import com.google.inject.Inject; import org.eclipse.che.api.core.ForbiddenException; @@ -22,15 +27,19 @@ import org.eclipse.che.commons.xml.XMLTreeException; import org.eclipse.che.dto.server.DtoFactory; import org.eclipse.che.ide.ext.java.shared.dto.Problem; +import org.eclipse.che.ide.maven.tools.Model; +import org.eclipse.che.maven.data.MavenProjectProblem; +import org.eclipse.che.maven.server.MavenTerminal; import org.eclipse.che.plugin.maven.server.MavenServerWrapper; import org.eclipse.che.plugin.maven.server.MavenWrapperManager; +import org.eclipse.che.plugin.maven.server.core.EclipseWorkspaceProvider; import org.eclipse.che.plugin.maven.server.core.MavenProgressNotifier; import org.eclipse.che.plugin.maven.server.core.MavenProjectManager; +import org.eclipse.che.plugin.maven.server.core.MavenWorkspace; import org.eclipse.che.plugin.maven.server.core.classpath.ClasspathManager; import org.eclipse.che.plugin.maven.server.core.project.MavenProject; -import org.eclipse.che.ide.maven.tools.Model; -import org.eclipse.che.maven.data.MavenProjectProblem; -import org.eclipse.che.maven.server.MavenTerminal; +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.IWorkspace; import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.jface.text.BadLocationException; import org.eclipse.jface.text.Document; @@ -39,10 +48,11 @@ import org.xml.sax.SAXParseException; import javax.ws.rs.GET; +import javax.ws.rs.PUT; import javax.ws.rs.Path; -import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; +import javax.ws.rs.core.Response; import java.io.IOException; import java.util.ArrayList; import java.util.Collections; @@ -60,10 +70,12 @@ public class MavenServerService { private static final Logger LOG = LoggerFactory.getLogger(MavenServerService.class); - private final MavenWrapperManager wrapperManager; - private final ProjectRegistry projectRegistry; - private final MavenProjectManager mavenProjectManager; - private final ProjectManager cheProjectManager; + private final MavenWrapperManager wrapperManager; + private final ProjectRegistry projectRegistry; + private final MavenProjectManager mavenProjectManager; + private final MavenWorkspace mavenWorkspace; + private final EclipseWorkspaceProvider eclipseWorkspaceProvider; + private final ProjectManager cheProjectManager; @Inject private MavenProgressNotifier notifier; @@ -81,12 +93,16 @@ public class MavenServerService { public MavenServerService(MavenWrapperManager wrapperManager, ProjectRegistry projectRegistry, ProjectManager projectManager, - MavenProjectManager mavenProjectManager) { + MavenProjectManager mavenProjectManager, + MavenWorkspace mavenWorkspace, + EclipseWorkspaceProvider eclipseWorkspaceProvider) { cheProjectManager = projectManager; this.wrapperManager = wrapperManager; this.projectRegistry = projectRegistry; this.mavenProjectManager = mavenProjectManager; + this.mavenWorkspace = mavenWorkspace; + this.eclipseWorkspaceProvider = eclipseWorkspaceProvider; } /** @@ -124,7 +140,7 @@ public String getEffectivePom(@QueryParam("projectpath") String projectPath) thr } return mavenServer.getEffectivePom(pomFile.getVirtualFile().toIoFile(), Collections.emptyList(), Collections.emptyList()); } finally { - wrapperManager.release(mavenServer); + wrapperManager.release(mavenServer); } } @@ -135,6 +151,20 @@ public String downloadSource(@QueryParam("projectpath") String projectPath, @Que return Boolean.toString(classpathManager.downloadSources(projectPath, fqn)); } + @PUT + @Path("reimport") + @ApiOperation(value = "Reimport maven dependencies") + @ApiResponses({@ApiResponse(code = 200, message = "OK"), + @ApiResponse(code = 500, message = "Internal Server Error")}) + public Response reimportDependencies(@ApiParam(value = "The paths to projects which need to be reimported dependencies") + @QueryParam("projectPath") List paths) throws ServerException { + IWorkspace workspace = eclipseWorkspaceProvider.get(); + List projectsList = + paths.stream().map(projectPath -> workspace.getRoot().getProject(projectPath)).collect(Collectors.toList()); + mavenWorkspace.update(projectsList); + return Response.ok().build(); + } + @GET @Path("pom/reconsile") @Produces("application/json") diff --git a/plugins/plugin-maven/che-plugin-maven-server/src/test/java/org/eclipse/che/plugin/maven/server/PomReconcilerTest.java b/plugins/plugin-maven/che-plugin-maven-server/src/test/java/org/eclipse/che/plugin/maven/server/PomReconcilerTest.java index 12942b663a4..04408bbd61f 100644 --- a/plugins/plugin-maven/che-plugin-maven-server/src/test/java/org/eclipse/che/plugin/maven/server/PomReconcilerTest.java +++ b/plugins/plugin-maven/che-plugin-maven-server/src/test/java/org/eclipse/che/plugin/maven/server/PomReconcilerTest.java @@ -53,7 +53,7 @@ public void print(int level, String message, Throwable throwable) throws RemoteE @Test public void testProblemPosition() throws Exception { - MavenServerService serverService = new MavenServerService(null, projectRegistry, pm, projectManager); + MavenServerService serverService = new MavenServerService(null, projectRegistry, pm, projectManager, null, null); FolderEntry testProject = createTestProject("A", ""); VirtualFileEntry child = testProject.getChild("pom.xml"); String newContent = getPomContent("