entry : devMachine.getDescriptor().getServers().entrySet()) {
+//
+// if (Strings.isNullOrEmpty(entry.getValue().getRef())) {
+// continue;
+// }
+//
+// Macro macro = new BaseMacro(KEY.replace("%", entry.getKey()),
+// entry.getValue().getRef(),
+// "Returns hostname of a server registered by name");
+//
+// macros.add(macro);
+//
+// // register port without "/tcp" suffix
+// if (entry.getKey().endsWith("/tcp")) {
+// final String port = entry.getKey().substring(0, entry.getKey().length() - 4);
+//
+// Macro shortMacro = new BaseMacro(KEY.replace("%", port),
+// entry.getValue().getRef(),
+// "Returns hostname of a server registered by name");
+//
+// macros.add(shortMacro);
+// }
+// }
return macros;
}
diff --git a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/macro/ServerMacro.java b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/macro/ServerMacro.java
index af24be4bc1..344ba6b6ab 100644
--- a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/macro/ServerMacro.java
+++ b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/macro/ServerMacro.java
@@ -16,18 +16,13 @@ import com.google.inject.Inject;
import com.google.inject.Singleton;
import com.google.web.bindery.event.shared.EventBus;
-import org.eclipse.che.api.core.model.machine.Server;
import org.eclipse.che.ide.api.app.AppContext;
-import org.eclipse.che.ide.api.macro.BaseMacro;
+import org.eclipse.che.ide.api.machine.DevMachine;
import org.eclipse.che.ide.api.macro.Macro;
import org.eclipse.che.ide.api.macro.MacroRegistry;
-import org.eclipse.che.ide.api.machine.DevMachine;
-import java.util.Map;
import java.util.Set;
-import static com.google.common.base.Strings.isNullOrEmpty;
-
/**
* Macro which is responsible for the retrieving the address of the registered server.
*
@@ -36,7 +31,6 @@ import static com.google.common.base.Strings.isNullOrEmpty;
* @author Vlad Zhukovskyi
* @see AbstractServerMacro
* @see DevMachine
- * @see Server#getAddress()
* @since 4.7.0
*/
@Beta
@@ -57,28 +51,29 @@ public class ServerMacro extends AbstractServerMacro {
public Set getMacros(DevMachine devMachine) {
final Set macros = Sets.newHashSet();
- for (Map.Entry entry : devMachine.getDescriptor().getRuntime().getServers().entrySet()) {
-
- final String prefix = isNullOrEmpty(entry.getValue().getProtocol()) ? "" : entry.getValue().getProtocol() + "://";
- final String value = prefix + entry.getValue().getAddress() + (isNullOrEmpty(prefix) ? "" : "/");
-
- Macro macro = new BaseMacro(KEY.replace("%", entry.getKey()),
- value,
- "Returns protocol, hostname and port of an internal server");
-
- macros.add(macro);
-
- // register port without "/tcp" suffix
- if (entry.getKey().endsWith("/tcp")) {
- final String port = entry.getKey().substring(0, entry.getKey().length() - 4);
-
- Macro shortMacro = new BaseMacro(KEY.replace("%", port),
- value,
- "Returns protocol, hostname and port of an internal server");
-
- macros.add(shortMacro);
- }
- }
+ // FIXME: spi
+// for (Map.Entry entry : devMachine.getDescriptor().getRuntime().getServers().entrySet()) {
+//
+// final String prefix = isNullOrEmpty(entry.getValue().getProtocol()) ? "" : entry.getValue().getProtocol() + "://";
+// final String value = prefix + entry.getValue().getAddress() + (isNullOrEmpty(prefix) ? "" : "/");
+//
+// Macro macro = new BaseMacro(KEY.replace("%", entry.getKey()),
+// value,
+// "Returns protocol, hostname and port of an internal server");
+//
+// macros.add(macro);
+//
+// // register port without "/tcp" suffix
+// if (entry.getKey().endsWith("/tcp")) {
+// final String port = entry.getKey().substring(0, entry.getKey().length() - 4);
+//
+// Macro shortMacro = new BaseMacro(KEY.replace("%", port),
+// value,
+// "Returns protocol, hostname and port of an internal server");
+//
+// macros.add(shortMacro);
+// }
+// }
return macros;
}
diff --git a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/macro/ServerPortMacro.java b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/macro/ServerPortMacro.java
index 204c6aef92..6e6535197e 100644
--- a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/macro/ServerPortMacro.java
+++ b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/macro/ServerPortMacro.java
@@ -16,7 +16,7 @@ import com.google.inject.Inject;
import com.google.inject.Singleton;
import com.google.web.bindery.event.shared.EventBus;
-import org.eclipse.che.api.core.model.machine.Server;
+import org.eclipse.che.api.core.model.workspace.runtime.Server;
import org.eclipse.che.ide.api.app.AppContext;
import org.eclipse.che.ide.api.macro.BaseMacro;
import org.eclipse.che.ide.api.macro.Macro;
@@ -34,7 +34,6 @@ import java.util.Set;
* @author Vlad Zhukovskyi
* @see AbstractServerMacro
* @see DevMachine
- * @see Server#getAddress()
* @since 4.7.0
*/
@Beta
@@ -55,13 +54,14 @@ public class ServerPortMacro extends AbstractServerMacro {
public Set getMacros(DevMachine devMachine) {
final Set macros = Sets.newHashSet();
- for (Map.Entry entry : devMachine.getDescriptor().getRuntime().getServers().entrySet()) {
+ for (Map.Entry entry : devMachine.getDescriptor().getServers().entrySet()) {
- if (!entry.getValue().getAddress().contains(":")) {
- continue;
- }
+ // FIXME: spi
+// if (!entry.getValue().getAddress().contains(":")) {
+// continue;
+// }
- final String externalPort = entry.getValue().getAddress().split(":")[1];
+ final String externalPort = ""/*entry.getValue().getAddress().split(":")[1]*/;
Macro macro = new BaseMacro(KEY.replace("%", entry.getKey()),
externalPort,
diff --git a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/macro/ServerProtocolMacro.java b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/macro/ServerProtocolMacro.java
index c90b4174a5..6143827a2a 100644
--- a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/macro/ServerProtocolMacro.java
+++ b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/macro/ServerProtocolMacro.java
@@ -11,20 +11,16 @@
package org.eclipse.che.ide.macro;
import com.google.common.annotations.Beta;
-import com.google.common.base.Strings;
import com.google.common.collect.Sets;
import com.google.inject.Inject;
import com.google.inject.Singleton;
import com.google.web.bindery.event.shared.EventBus;
-import org.eclipse.che.api.core.model.machine.Server;
import org.eclipse.che.ide.api.app.AppContext;
-import org.eclipse.che.ide.api.macro.BaseMacro;
+import org.eclipse.che.ide.api.machine.DevMachine;
import org.eclipse.che.ide.api.macro.Macro;
import org.eclipse.che.ide.api.macro.MacroRegistry;
-import org.eclipse.che.ide.api.machine.DevMachine;
-import java.util.Map;
import java.util.Set;
/**
@@ -35,7 +31,6 @@ import java.util.Set;
* @author Vlad Zhukovskyi
* @see AbstractServerMacro
* @see DevMachine
- * @see Server#getProtocol()
* @since 4.7.0
*/
@Beta
@@ -56,29 +51,30 @@ public class ServerProtocolMacro extends AbstractServerMacro {
public Set getMacros(DevMachine devMachine) {
final Set macros = Sets.newHashSet();
- for (Map.Entry entry : devMachine.getDescriptor().getRuntime().getServers().entrySet()) {
-
- if (Strings.isNullOrEmpty(entry.getValue().getProtocol())) {
- continue;
- }
-
- Macro macro = new BaseMacro(KEY.replace("%", entry.getKey()),
- entry.getValue().getProtocol(),
- "Returns protocol of a server registered by name");
-
- macros.add(macro);
-
- // register port without "/tcp" suffix
- if (entry.getKey().endsWith("/tcp")) {
- final String port = entry.getKey().substring(0, entry.getKey().length() - 4);
-
- Macro shortMacro = new BaseMacro(KEY.replace("%", port),
- entry.getValue().getProtocol(),
- "Returns protocol of a server registered by name");
-
- macros.add(shortMacro);
- }
- }
+ // FIXME: spi
+// for (Map.Entry entry : devMachine.getDescriptor().getServers().entrySet()) {
+//
+// if (Strings.isNullOrEmpty(entry.getValue().getProtocol())) {
+// continue;
+// }
+//
+// Macro macro = new BaseMacro(KEY.replace("%", entry.getKey()),
+// entry.getValue().getProtocol(),
+// "Returns protocol of a server registered by name");
+//
+// macros.add(macro);
+//
+// // register port without "/tcp" suffix
+// if (entry.getKey().endsWith("/tcp")) {
+// final String port = entry.getKey().substring(0, entry.getKey().length() - 4);
+//
+// Macro shortMacro = new BaseMacro(KEY.replace("%", port),
+// entry.getValue().getProtocol(),
+// "Returns protocol of a server registered by name");
+//
+// macros.add(shortMacro);
+// }
+// }
return macros;
}
diff --git a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/processes/ProcessTreeRenderer.java b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/processes/ProcessTreeRenderer.java
index 7ec8975cc4..d492a9315f 100644
--- a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/processes/ProcessTreeRenderer.java
+++ b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/processes/ProcessTreeRenderer.java
@@ -19,7 +19,6 @@ import elemental.html.SpanElement;
import com.google.inject.Inject;
-import org.eclipse.che.api.core.model.machine.MachineConfig;
import org.eclipse.che.api.core.model.workspace.Workspace;
import org.eclipse.che.ide.CoreLocalizationConstant;
import org.eclipse.che.ide.api.app.AppContext;
@@ -122,12 +121,14 @@ public class ProcessTreeRenderer implements NodeRenderer {
private SpanElement createMachineElement(final ProcessTreeNode node) {
final MachineEntity machine = (MachineEntity)node.getData();
- final String machineId = machine.getId();
- final MachineConfig machineConfig = machine.getConfig();
- final String machineCategory = machineConfig.isDev() ? locale.devMachineCategory() : machineConfig.getType();
+ // FIXME: spi
+// final String machineId = machine.getId();
+// final MachineConfig machineConfig = machine.getConfig();
+// final String machineCategory = machineConfig.isDev() ? locale.devMachineCategory() : machineConfig.getType();
SpanElement root = Elements.createSpanElement();
- root.appendChild(createMachineLabel(machineCategory));
+ // FIXME: spi
+// root.appendChild(createMachineLabel(machineCategory));
Element statusElement = Elements.createSpanElement(resources.getCss().machineStatus());
root.appendChild(statusElement);
@@ -167,7 +168,8 @@ public class ProcessTreeRenderer implements NodeRenderer {
event.preventDefault();
if (addTerminalClickHandler != null) {
- addTerminalClickHandler.onAddTerminalClick(machineId);
+ // FIXME: spi
+// addTerminalClickHandler.onAddTerminalClick(machineId);
}
}
}, true);
@@ -206,7 +208,8 @@ public class ProcessTreeRenderer implements NodeRenderer {
@Override
public void handleEvent(Event event) {
if (previewSshClickHandler != null) {
- previewSshClickHandler.onPreviewSshClick(machineId);
+ // FIXME: spi
+// previewSshClickHandler.onPreviewSshClick(machineId);
}
}
}, true);
@@ -220,15 +223,17 @@ public class ProcessTreeRenderer implements NodeRenderer {
Element monitorsElement = Elements.createSpanElement(resources.getCss().machineMonitors());
root.appendChild(monitorsElement);
- Node monitorNode = (Node)machineMonitors.getMonitorWidget(machineId, this).getElement();
- monitorsElement.appendChild(monitorNode);
+ // FIXME: spi
+// Node monitorNode = (Node)machineMonitors.getMonitorWidget(machineId, this).getElement();
+// monitorsElement.appendChild(monitorNode);
Element nameElement = Elements.createSpanElement(resources.getCss().nameLabel());
- nameElement.setTextContent(machineConfig.getName());
- Tooltip.create(nameElement,
- BOTTOM,
- MIDDLE,
- machineConfig.getName());
+ // FIXME: spi
+// nameElement.setTextContent(machineConfig.getName());
+// Tooltip.create(nameElement,
+// BOTTOM,
+// MIDDLE,
+// machineConfig.getName());
root.appendChild(nameElement);
return root;
diff --git a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/processes/panel/ProcessesPanelPresenter.java b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/processes/panel/ProcessesPanelPresenter.java
index b4c69f099f..3c8750a75f 100644
--- a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/processes/panel/ProcessesPanelPresenter.java
+++ b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/processes/panel/ProcessesPanelPresenter.java
@@ -18,16 +18,14 @@ import com.google.inject.Inject;
import com.google.inject.Singleton;
import com.google.web.bindery.event.shared.EventBus;
-import org.eclipse.che.api.core.model.machine.Command;
-import org.eclipse.che.api.core.model.machine.Machine;
-import org.eclipse.che.api.core.model.machine.Server;
-import org.eclipse.che.api.core.model.workspace.Environment;
-import org.eclipse.che.api.core.model.workspace.ExtendedMachine;
+import org.eclipse.che.api.core.model.workspace.Runtime;
import org.eclipse.che.api.core.model.workspace.Workspace;
import org.eclipse.che.api.core.model.workspace.WorkspaceConfig;
-import org.eclipse.che.api.core.model.workspace.WorkspaceRuntime;
-import org.eclipse.che.api.machine.shared.dto.MachineConfigDto;
-import org.eclipse.che.api.machine.shared.dto.MachineDto;
+import org.eclipse.che.api.core.model.workspace.config.Command;
+import org.eclipse.che.api.core.model.workspace.config.Environment;
+import org.eclipse.che.api.core.model.workspace.config.MachineConfig;
+import org.eclipse.che.api.core.model.workspace.runtime.Machine;
+import org.eclipse.che.api.core.model.workspace.runtime.Server;
import org.eclipse.che.api.machine.shared.dto.execagent.GetProcessLogsResponseDto;
import org.eclipse.che.api.machine.shared.dto.execagent.GetProcessesResponseDto;
import org.eclipse.che.api.promises.client.Operation;
@@ -44,7 +42,6 @@ import org.eclipse.che.ide.api.dialogs.ConfirmCallback;
import org.eclipse.che.ide.api.dialogs.DialogFactory;
import org.eclipse.che.ide.api.machine.ExecAgentCommandManager;
import org.eclipse.che.ide.api.machine.MachineEntity;
-import org.eclipse.che.ide.api.machine.MachineEntityImpl;
import org.eclipse.che.ide.api.machine.events.ActivateProcessOutputEvent;
import org.eclipse.che.ide.api.machine.events.MachineStateEvent;
import org.eclipse.che.ide.api.machine.events.ProcessFinishedEvent;
@@ -69,7 +66,6 @@ import org.eclipse.che.ide.console.CommandOutputConsole;
import org.eclipse.che.ide.console.CommandOutputConsolePresenter;
import org.eclipse.che.ide.console.DefaultOutputConsole;
import org.eclipse.che.ide.dto.DtoFactory;
-import org.eclipse.che.ide.machine.MachineItem;
import org.eclipse.che.ide.machine.MachineResources;
import org.eclipse.che.ide.processes.ProcessTreeNode;
import org.eclipse.che.ide.processes.ProcessTreeNodeSelectedEvent;
@@ -94,8 +90,6 @@ import static com.google.common.base.Preconditions.checkNotNull;
import static com.google.common.base.Strings.isNullOrEmpty;
import static java.util.Arrays.asList;
import static java.util.Collections.emptyList;
-import static org.eclipse.che.api.core.model.machine.MachineStatus.CREATING;
-import static org.eclipse.che.api.core.model.machine.MachineStatus.RUNNING;
import static org.eclipse.che.api.machine.shared.Constants.TERMINAL_REFERENCE;
import static org.eclipse.che.ide.api.notification.StatusNotification.DisplayMode.FLOAT_MODE;
import static org.eclipse.che.ide.api.notification.StatusNotification.Status.FAIL;
@@ -480,7 +474,8 @@ public class ProcessesPanelPresenter extends BasePresenter implements ProcessesP
final OutputConsole defaultConsole = commandConsoleFactory.create("SSH");
addCommandOutput(machineId, defaultConsole);
- final String machineName = machine.getConfig().getName();
+ // FIXME: spi
+ final String machineName = ""/*machine.getConfig().getName()*/;
String sshServiceAddress = getSshServerAddress(machine);
final String machineHost;
final String sshPort;
@@ -495,7 +490,7 @@ public class ProcessesPanelPresenter extends BasePresenter implements ProcessesP
// user
final String userName;
- String user = machine.getRuntime().getProperties().get("config.user");
+ String user = machine.getProperties().get("config.user");
if (isNullOrEmpty(user)) {
userName = "root";
} else {
@@ -504,7 +499,7 @@ public class ProcessesPanelPresenter extends BasePresenter implements ProcessesP
// ssh key
final String workspaceName = appContext.getWorkspace().getConfig().getName();
- Promise sshPairDtoPromise = sshServiceClient.getPair("workspace", machine.getWorkspaceId());
+ Promise sshPairDtoPromise = sshServiceClient.getPair("workspace", appContext.getWorkspaceId());
sshPairDtoPromise.then(new Operation() {
@Override
@@ -566,9 +561,10 @@ public class ProcessesPanelPresenter extends BasePresenter implements ProcessesP
* @return ssh service address in format host:port
*/
private String getSshServerAddress(Machine machine) {
- Map servers = machine.getRuntime().getServers();
+ Map servers = machine.getServers();
final Server sshServer = servers.get(SSH_PORT + "/tcp");
- return sshServer != null ? sshServer.getAddress() : null;
+ // FIXME: spi
+ return sshServer != null ? sshServer.getUrl() : null;
}
/**
@@ -840,7 +836,7 @@ public class ProcessesPanelPresenter extends BasePresenter implements ProcessesP
return false;
}
for (Environment environment : environments.values()) {
- ExtendedMachine extendedMachine = environment.getMachines().get(machineName);
+ MachineConfig extendedMachine = environment.getMachines().get(machineName);
if (extendedMachine != null) {
if (extendedMachine.getAgents() != null && extendedMachine.getAgents().contains(agent)) {
return true;
@@ -893,7 +889,7 @@ public class ProcessesPanelPresenter extends BasePresenter implements ProcessesP
// remove existed node
for (ProcessTreeNode node : rootNode.getChildren()) {
- if (machine.getConfig().getName().equals(node.getName())) {
+ if (machine.getName().equals(node.getName())) {
children.addAll(node.getChildren());
rootNode.getChildren().remove(node);
break;
@@ -902,7 +898,8 @@ public class ProcessesPanelPresenter extends BasePresenter implements ProcessesP
// create new node
final ProcessTreeNode newMachineNode = new ProcessTreeNode(MACHINE_NODE, rootNode, machine, null, children);
- newMachineNode.setRunning(RUNNING == machine.getStatus());
+ // FIXME: spi
+// newMachineNode.setRunning(RUNNING == machine.getStatus());
newMachineNode.setHasTerminalAgent(hasAgent(machine.getDisplayName(), TERMINAL_AGENT) || hasTerminal(machineId));
newMachineNode.setHasSSHAgent(hasAgent(machine.getDisplayName(), SSH_AGENT));
for (ProcessTreeNode child : children) {
@@ -918,29 +915,29 @@ public class ProcessesPanelPresenter extends BasePresenter implements ProcessesP
view.setProcessesData(rootNode);
// add output for the machine if it is not exist
- if (!consoles.containsKey(machine.getConfig().getName())) {
- OutputConsole outputConsole = commandConsoleFactory.create(machine.getConfig().getName());
- addOutputConsole(machine.getConfig().getName(), newMachineNode, outputConsole, true);
+ if (!consoles.containsKey(machine.getName())) {
+ OutputConsole outputConsole = commandConsoleFactory.create(machine.getName());
+ addOutputConsole(machine.getName(), newMachineNode, outputConsole, true);
}
return newMachineNode;
}
private List getMachines(Workspace workspace) {
- WorkspaceRuntime workspaceRuntime = workspace.getRuntime();
+ Runtime workspaceRuntime = workspace.getRuntime();
if (workspaceRuntime == null) {
return emptyList();
}
- List extends Machine> runtimeMachines = workspaceRuntime.getMachines();
+ Map runtimeMachines = workspaceRuntime.getMachines();
List machines = new ArrayList<>(runtimeMachines.size());
- for (Machine machine : runtimeMachines) {
- if (machine instanceof MachineDto) {
- MachineEntity machineEntity = new MachineEntityImpl(machine);
- machines.add(machineEntity);
- }
-
- }
+ // FIXME: spi
+// for (Machine machine : runtimeMachines.entrySet()) {
+// if (machine instanceof MachineDto) {
+// MachineEntity machineEntity = new MachineEntityImpl(machine);
+// machines.add(machineEntity);
+// }
+// }
return machines;
}
@@ -994,11 +991,12 @@ public class ProcessesPanelPresenter extends BasePresenter implements ProcessesP
notifyTreeNodeSelected(machineToSelect);
}
- for (MachineEntity machine : machines.values()) {
- if (RUNNING.equals(machine.getStatus()) && !wsMachines.contains(machine)) {
- provideMachineNode(machine, true);
- }
- }
+ // FIXME: spi
+// for (MachineEntity machine : machines.values()) {
+// if (RUNNING.equals(machine.getStatus()) && !wsMachines.contains(machine)) {
+// provideMachineNode(machine, true);
+// }
+// }
}
@Override
@@ -1216,17 +1214,18 @@ public class ProcessesPanelPresenter extends BasePresenter implements ProcessesP
*/
public void printMachineOutput(final String machineName, final String text) {
// Create a temporary machine node to display outputs.
- if (!consoles.containsKey(machineName)) {
- MachineDto machineDto = dtoFactory.createDto(MachineDto.class)
- .withId(machineName)
- .withStatus(CREATING)
- .withConfig(dtoFactory.createDto(MachineConfigDto.class)
- .withDev("dev-machine".equals(machineName))
- .withName(machineName)
- .withType("docker")
- );
- provideMachineNode(new MachineItem(machineDto), true);
- }
+ // FIXME: spi
+// if (!consoles.containsKey(machineName)) {
+// MachineDto machineDto = dtoFactory.createDto(MachineDto.class)
+// .withId(machineName)
+// .withStatus(CREATING)
+// .withConfig(dtoFactory.createDto(MachineConfigDto.class)
+// .withDev("dev-machine".equals(machineName))
+// .withName(machineName)
+// .withType("docker")
+// );
+// provideMachineNode(new MachineItem(machineDto), true);
+// }
OutputConsole console = consoles.get(machineName);
if (console != null && console instanceof DefaultOutputConsole) {
@@ -1335,9 +1334,10 @@ public class ProcessesPanelPresenter extends BasePresenter implements ProcessesP
}
Machine machine = (Machine)machineNode.getData();
- if (!machine.getConfig().isDev()) {
- continue;
- }
+ // FIXME: spi
+// if (!machine.isDev()) {
+// continue;
+// }
devMachine = machine;
break;
@@ -1351,7 +1351,8 @@ public class ProcessesPanelPresenter extends BasePresenter implements ProcessesP
" " + DateTimeFormat.getFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) +
".log";
- download(fileName, getText(devMachine.getId()));
+ // FIXME: spi
+// download(fileName, getText(devMachine.getId()));
}
@Override
diff --git a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/projectimport/wizard/ProjectImporter.java b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/projectimport/wizard/ProjectImporter.java
index 388c4eda36..b81caaa433 100644
--- a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/projectimport/wizard/ProjectImporter.java
+++ b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/projectimport/wizard/ProjectImporter.java
@@ -15,7 +15,7 @@ import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.inject.Inject;
import com.google.inject.Singleton;
-import org.eclipse.che.api.core.model.project.SourceStorage;
+import org.eclipse.che.api.core.model.workspace.config.SourceStorage;
import org.eclipse.che.api.promises.client.Function;
import org.eclipse.che.api.promises.client.FunctionException;
import org.eclipse.che.api.promises.client.Operation;
diff --git a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/projectimport/wizard/ProjectResolver.java b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/projectimport/wizard/ProjectResolver.java
index d27cd7a814..c0ebda5220 100644
--- a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/projectimport/wizard/ProjectResolver.java
+++ b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/projectimport/wizard/ProjectResolver.java
@@ -13,7 +13,7 @@ package org.eclipse.che.ide.projectimport.wizard;
import com.google.inject.Inject;
import com.google.inject.Singleton;
-import org.eclipse.che.api.core.model.project.SourceStorage;
+import org.eclipse.che.api.core.model.workspace.config.SourceStorage;
import org.eclipse.che.api.project.shared.Constants;
import org.eclipse.che.api.project.shared.dto.SourceEstimation;
import org.eclipse.che.api.promises.client.Function;
diff --git a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/projecttype/wizard/categoriespage/CategoriesPagePresenter.java b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/projecttype/wizard/categoriespage/CategoriesPagePresenter.java
index 2ecf735535..3dc4959115 100644
--- a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/projecttype/wizard/categoriespage/CategoriesPagePresenter.java
+++ b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/projecttype/wizard/categoriespage/CategoriesPagePresenter.java
@@ -13,13 +13,13 @@ package org.eclipse.che.ide.projecttype.wizard.categoriespage;
import com.google.gwt.user.client.ui.AcceptsOneWidget;
import com.google.inject.Inject;
-import org.eclipse.che.api.core.model.workspace.config.ProjectConfig;
import org.eclipse.che.api.project.shared.NewProjectConfig;
import org.eclipse.che.api.project.shared.dto.ProjectTypeDto;
import org.eclipse.che.api.project.templates.shared.dto.ProjectTemplateDescriptor;
import org.eclipse.che.api.workspace.shared.dto.ProjectConfigDto;
import org.eclipse.che.ide.api.app.AppContext;
import org.eclipse.che.ide.api.project.MutableProjectConfig;
+import org.eclipse.che.ide.api.project.NewProjectConfigImpl;
import org.eclipse.che.ide.api.project.type.ProjectTemplateRegistry;
import org.eclipse.che.ide.api.project.type.ProjectTypeRegistry;
import org.eclipse.che.ide.api.project.type.wizard.PreSelectedProjectTypeManager;
@@ -229,9 +229,17 @@ public class CategoriesPagePresenter extends AbstractWizardPage updatedConfigs = new ArrayList<>(configDtoList.size());
+ final List updatedConfigs = new ArrayList<>(configDtoList.size());
for (ProjectConfigDto configDto : configDtoList) {
- final ProjectConfig newConfig = new ProjectConfigImpl(configDto);
+ // FIXME: spi
+ final NewProjectConfig newConfig = new NewProjectConfigImpl(configDto.getName(),
+ configDto.getPath(),
+ configDto.getDescription(),
+ configDto.getType(),
+ configDto.getSource(),
+ configDto.getMixins(),
+ configDto.getAttributes(),
+ null);
final String projectPath = configDto.getPath();
if (projectPath.startsWith(templatePath)) {
final String path = projectPath.replaceFirst(templatePath, newProjectPath);
diff --git a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/resources/impl/ContainerImpl.java b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/resources/impl/ContainerImpl.java
index f8834986e8..90dc1a6f0d 100644
--- a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/resources/impl/ContainerImpl.java
+++ b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/resources/impl/ContainerImpl.java
@@ -13,7 +13,7 @@ package org.eclipse.che.ide.resources.impl;
import com.google.common.annotations.Beta;
import com.google.common.base.Optional;
-import org.eclipse.che.api.core.model.project.ProjectConfig;
+import org.eclipse.che.api.core.model.workspace.config.ProjectConfig;
import org.eclipse.che.api.project.shared.dto.SourceEstimation;
import org.eclipse.che.api.promises.client.Function;
import org.eclipse.che.api.promises.client.FunctionException;
diff --git a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/resources/impl/FolderImpl.java b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/resources/impl/FolderImpl.java
index 228f01ec83..9aba380162 100644
--- a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/resources/impl/FolderImpl.java
+++ b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/resources/impl/FolderImpl.java
@@ -14,7 +14,7 @@ import com.google.common.annotations.Beta;
import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;
-import org.eclipse.che.api.core.model.project.ProjectConfig;
+import org.eclipse.che.api.core.model.workspace.config.ProjectConfig;
import org.eclipse.che.api.promises.client.Promise;
import org.eclipse.che.api.promises.client.PromiseProvider;
import org.eclipse.che.ide.api.resources.Folder;
diff --git a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/resources/impl/ProjectImpl.java b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/resources/impl/ProjectImpl.java
index 79e78f677e..7f37669e0b 100644
--- a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/resources/impl/ProjectImpl.java
+++ b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/resources/impl/ProjectImpl.java
@@ -16,8 +16,8 @@ import com.google.common.base.Optional;
import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;
-import org.eclipse.che.api.core.model.project.ProjectConfig;
-import org.eclipse.che.api.core.model.project.SourceStorage;
+import org.eclipse.che.api.core.model.workspace.config.ProjectConfig;
+import org.eclipse.che.api.core.model.workspace.config.SourceStorage;
import org.eclipse.che.api.project.shared.dto.SourceEstimation;
import org.eclipse.che.api.promises.client.Promise;
import org.eclipse.che.api.promises.client.PromiseProvider;
diff --git a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/resources/impl/ResourceManager.java b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/resources/impl/ResourceManager.java
index 6726d37926..3e24d03b6b 100644
--- a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/resources/impl/ResourceManager.java
+++ b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/resources/impl/ResourceManager.java
@@ -16,9 +16,9 @@ import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;
import com.google.web.bindery.event.shared.EventBus;
+import org.eclipse.che.api.core.model.workspace.config.ProjectConfig;
+import org.eclipse.che.api.core.model.workspace.config.SourceStorage;
import org.eclipse.che.api.project.shared.NewProjectConfig;
-import org.eclipse.che.api.core.model.project.ProjectConfig;
-import org.eclipse.che.api.core.model.project.SourceStorage;
import org.eclipse.che.api.core.rest.shared.dto.Link;
import org.eclipse.che.api.project.shared.dto.ItemReference;
import org.eclipse.che.api.project.shared.dto.SourceEstimation;
diff --git a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/workspace/DefaultWorkspaceComponent.java b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/workspace/DefaultWorkspaceComponent.java
index ebf6fc981b..a6dc98ad83 100644
--- a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/workspace/DefaultWorkspaceComponent.java
+++ b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/workspace/DefaultWorkspaceComponent.java
@@ -75,9 +75,11 @@ public class DefaultWorkspaceComponent extends WorkspaceComponent {
@Override
public void start(final Callback callback) {
this.callback = callback;
+ // FIXME: spi
+ callback.onSuccess(this);
workspaceServiceClient.getWorkspace(browserAddress.getWorkspaceKey())
.then(workspaceDto -> {
- handleWorkspaceEvents(workspaceDto, callback, null);
+ handleWorkspaceEvents(new WorkspaceImpl(workspaceDto), callback, null);
})
.catchError(error -> {
needToReloadComponents = true;
diff --git a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/workspace/MachineLogsRestorer.java b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/workspace/MachineLogsRestorer.java
index 6b82b799aa..6dca38e085 100644
--- a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/workspace/MachineLogsRestorer.java
+++ b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/workspace/MachineLogsRestorer.java
@@ -14,7 +14,7 @@ import com.google.inject.Inject;
import com.google.inject.Singleton;
import com.google.web.bindery.event.shared.EventBus;
-import org.eclipse.che.api.core.model.machine.Machine;
+import org.eclipse.che.api.core.model.workspace.runtime.Machine;
import org.eclipse.che.api.machine.shared.dto.execagent.event.DtoWithPid;
import org.eclipse.che.ide.api.machine.ExecAgentCommandManager;
import org.eclipse.che.ide.api.workspace.event.EnvironmentOutputEvent;
@@ -40,7 +40,8 @@ public class MachineLogsRestorer {
return;
}
- String machineId = machine.getId();
+ // FIXME: spi
+ String machineId = ""/*machine.getId()*/;
execAgentCommandManager.getProcesses(machineId, false)
.then(processes -> {
@@ -49,7 +50,8 @@ public class MachineLogsRestorer {
.then(logs -> {
logs.forEach(log -> {
String fixedLog = log.getText().replaceAll("\\[STDOUT\\] ", "");
- String machineName = machine.getConfig().getName();
+ // FIXME: spi
+ String machineName = ""/*machine.getConfig().getName()*/;
eventBus.fireEvent(new EnvironmentOutputEvent(fixedLog, machineName));
});
});
diff --git a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/workspace/WorkspaceComponent.java b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/workspace/WorkspaceComponent.java
index cf5bb65852..1e1c29b06d 100644
--- a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/workspace/WorkspaceComponent.java
+++ b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/workspace/WorkspaceComponent.java
@@ -162,7 +162,7 @@ public abstract class WorkspaceComponent implements Component, WsAgentStateHandl
* @param restoreFromSnapshot
* restore or not the workspace from snapshot
*/
- public void handleWorkspaceEvents(final WorkspaceDto workspace, final Callback callback,
+ public void handleWorkspaceEvents(final WorkspaceImpl workspace, final Callback callback,
final Boolean restoreFromSnapshot) {
loader.show(STARTING_WORKSPACE_RUNTIME);
@@ -240,7 +240,7 @@ public abstract class WorkspaceComponent implements Component, WsAgentStateHandl
workspaceServiceClient.getWorkspace(workspaceID).then(new Operation() {
@Override
public void apply(WorkspaceDto workspace) throws OperationException {
- handleWorkspaceEvents(workspace, callback, restoreFromSnapshot);
+ handleWorkspaceEvents(new WorkspaceImpl(workspace), callback, restoreFromSnapshot);
}
});
}
diff --git a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/workspace/WorkspaceImpl.java b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/workspace/WorkspaceImpl.java
index fdf3e32647..4a2cbfebfd 100644
--- a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/workspace/WorkspaceImpl.java
+++ b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/workspace/WorkspaceImpl.java
@@ -10,9 +10,9 @@
*******************************************************************************/
package org.eclipse.che.ide.workspace;
+import org.eclipse.che.api.core.model.workspace.Runtime;
import org.eclipse.che.api.core.model.workspace.Workspace;
import org.eclipse.che.api.core.model.workspace.WorkspaceConfig;
-import org.eclipse.che.api.core.model.workspace.WorkspaceRuntime;
import org.eclipse.che.api.core.model.workspace.WorkspaceStatus;
import java.util.Map;
@@ -25,7 +25,7 @@ import java.util.Map;
public class WorkspaceImpl implements Workspace {
private final String id;
- private final WorkspaceRuntime workspaceRuntime;
+ private final Runtime workspaceRuntime;
private final String namespace;
private final WorkspaceStatus status;
private final Map attributes;
@@ -75,7 +75,7 @@ public class WorkspaceImpl implements Workspace {
}
@Override
- public WorkspaceRuntime getRuntime() {
+ public Runtime getRuntime() {
return workspaceRuntime;
}
}
diff --git a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/workspace/WorkspaceServiceClientImpl.java b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/workspace/WorkspaceServiceClientImpl.java
index 5e33fb33eb..0d331a7cec 100644
--- a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/workspace/WorkspaceServiceClientImpl.java
+++ b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/workspace/WorkspaceServiceClientImpl.java
@@ -14,7 +14,7 @@ import com.google.gwt.http.client.URL;
import com.google.inject.Inject;
import org.eclipse.che.api.machine.shared.dto.CommandDto;
-import org.eclipse.che.api.machine.shared.dto.MachineConfigDto;
+import org.eclipse.che.api.machine.shared.dto.OldMachineConfigDto;
import org.eclipse.che.api.machine.shared.dto.SnapshotDto;
import org.eclipse.che.api.promises.client.Function;
import org.eclipse.che.api.promises.client.Promise;
@@ -32,7 +32,6 @@ import org.eclipse.che.ide.ui.loaders.request.LoaderFactory;
import javax.validation.constraints.NotNull;
import java.util.List;
-import java.util.stream.Collectors;
import java.util.Map;
import static com.google.gwt.http.client.RequestBuilder.PUT;
@@ -238,7 +237,7 @@ public class WorkspaceServiceClientImpl implements WorkspaceServiceClient {
}
@Override
- public Promise createMachine(final String wsId, final MachineConfigDto machineConfig) {
+ public Promise createMachine(final String wsId, final OldMachineConfigDto machineConfig) {
String url = baseHttpUrl + '/' + wsId + "/machine";
return asyncRequestFactory.createPostRequest(url, machineConfig)
.header(ACCEPT, APPLICATION_JSON)
diff --git a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/workspace/WorkspaceWidgetFactory.java b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/workspace/WorkspaceWidgetFactory.java
index aa2438df3b..bb55ab6fe6 100644
--- a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/workspace/WorkspaceWidgetFactory.java
+++ b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/workspace/WorkspaceWidgetFactory.java
@@ -12,7 +12,7 @@ package org.eclipse.che.ide.workspace;
import com.google.inject.Singleton;
-import org.eclipse.che.api.machine.shared.dto.recipe.RecipeDescriptor;
+import org.eclipse.che.api.machine.shared.dto.recipe.OldRecipeDescriptor;
import org.eclipse.che.api.workspace.shared.dto.WorkspaceDto;
import org.eclipse.che.ide.workspace.create.recipewidget.RecipeWidget;
import org.eclipse.che.ide.workspace.start.workspacewidget.WorkspaceWidget;
@@ -32,7 +32,7 @@ public interface WorkspaceWidgetFactory {
* descriptor which contains all information about tag
* @return an instance of {@link RecipeWidget}
*/
- RecipeWidget create(RecipeDescriptor descriptor);
+ RecipeWidget create(OldRecipeDescriptor descriptor);
/**
* Creates view representation of workspace.
diff --git a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/workspace/create/CreateWorkspacePresenter.java b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/workspace/create/CreateWorkspacePresenter.java
index b996f2122c..9167134bf4 100644
--- a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/workspace/create/CreateWorkspacePresenter.java
+++ b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/workspace/create/CreateWorkspacePresenter.java
@@ -17,14 +17,14 @@ import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.Singleton;
-import org.eclipse.che.api.machine.shared.dto.recipe.RecipeDescriptor;
+import org.eclipse.che.api.machine.shared.dto.recipe.OldRecipeDescriptor;
import org.eclipse.che.api.promises.client.Operation;
import org.eclipse.che.api.promises.client.OperationException;
import org.eclipse.che.api.promises.client.Promise;
import org.eclipse.che.api.promises.client.PromiseError;
import org.eclipse.che.api.workspace.shared.dto.EnvironmentDto;
-import org.eclipse.che.api.workspace.shared.dto.EnvironmentRecipeDto;
-import org.eclipse.che.api.workspace.shared.dto.ExtendedMachineDto;
+import org.eclipse.che.api.workspace.shared.dto.MachineConfigDto;
+import org.eclipse.che.api.workspace.shared.dto.RecipeDto;
import org.eclipse.che.api.workspace.shared.dto.WorkspaceConfigDto;
import org.eclipse.che.api.workspace.shared.dto.WorkspaceDto;
import org.eclipse.che.ide.CoreLocalizationConstant;
@@ -51,17 +51,15 @@ import static org.eclipse.che.api.machine.shared.Constants.WS_MACHINE_NAME;
@Singleton
public class CreateWorkspacePresenter implements CreateWorkspaceView.ActionDelegate {
+ protected static final String MEMORY_LIMIT_BYTES = Long.toString(2000L * 1024L * 1024L);
+ static final String RECIPE_TYPE = "docker";
+ static final int SKIP_COUNT = 0;
+ static final int MAX_COUNT = 100;
+ static final int MAX_NAME_LENGTH = 20;
+ static final int MIN_NAME_LENGTH = 3;
private static final RegExp FILE_NAME = RegExp.compile("^[A-Za-z0-9_\\s-\\.]+$");
private static final String URL_PATTERN = "^((ftp|http|https)://[\\w@.\\-\\_]+(:\\d{1,5})?(/[\\w#!:.?+=&%@!\\_\\-/]+)*){1}$";
private static final RegExp URL = RegExp.compile(URL_PATTERN);
- protected static final String MEMORY_LIMIT_BYTES = Long.toString(2000L * 1024L * 1024L);
-
- static final String RECIPE_TYPE = "docker";
- static final int SKIP_COUNT = 0;
- static final int MAX_COUNT = 100;
- static final int MAX_NAME_LENGTH = 20;
- static final int MIN_NAME_LENGTH = 3;
-
private final CreateWorkspaceView view;
private final DtoFactory dtoFactory;
private final WorkspaceServiceClient workspaceClient;
@@ -71,7 +69,7 @@ public class CreateWorkspacePresenter implements CreateWorkspaceView.ActionDeleg
private final BrowserAddress browserAddress;
private Callback callback;
- private List recipes;
+ private List recipes;
private List workspacesNames;
@Inject
@@ -110,11 +108,11 @@ public class CreateWorkspacePresenter implements CreateWorkspaceView.ActionDeleg
workspacesNames.add(workspace.getConfig().getName());
}
- Promise> recipes = recipeService.getAllRecipes();
+ Promise> recipes = recipeService.getAllRecipes();
- recipes.then(new Operation>() {
+ recipes.then(new Operation>() {
@Override
- public void apply(List recipeDescriptors) throws OperationException {
+ public void apply(List recipeDescriptors) throws OperationException {
CreateWorkspacePresenter.this.recipes = recipeDescriptors;
}
});
@@ -157,7 +155,7 @@ public class CreateWorkspacePresenter implements CreateWorkspaceView.ActionDeleg
String recipeUrl = view.getRecipeUrl();
- boolean urlIsIncorrect = !Strings.isNullOrEmpty(recipeUrl) && !URL.test(recipeUrl) ;
+ boolean urlIsIncorrect = !Strings.isNullOrEmpty(recipeUrl) && !URL.test(recipeUrl);
view.setVisibleUrlError(urlIsIncorrect);
@@ -179,9 +177,9 @@ public class CreateWorkspacePresenter implements CreateWorkspaceView.ActionDeleg
/** {@inheritDoc} */
@Override
public void onTagsChanged(final HidePopupCallBack callBack) {
- recipeService.searchRecipes(view.getTags(), RECIPE_TYPE, SKIP_COUNT, MAX_COUNT).then(new Operation>() {
+ recipeService.searchRecipes(view.getTags(), RECIPE_TYPE, SKIP_COUNT, MAX_COUNT).then(new Operation>() {
@Override
- public void apply(List recipes) throws OperationException {
+ public void apply(List recipes) throws OperationException {
boolean isRecipesEmpty = recipes.isEmpty();
if (isRecipesEmpty) {
@@ -229,17 +227,24 @@ public class CreateWorkspacePresenter implements CreateWorkspaceView.ActionDeleg
private WorkspaceConfigDto getWorkspaceConfig() {
String wsName = view.getWorkspaceName();
- EnvironmentRecipeDto recipe = dtoFactory.createDto(EnvironmentRecipeDto.class)
- .withType("dockerimage")
- .withLocation(view.getRecipeUrl());
+ RecipeDto recipe = dtoFactory.createDto(RecipeDto.class)
+ .withType("dockerimage")
+ .withLocation("eclipse/ubuntu_jdk8");
- ExtendedMachineDto machine = dtoFactory.createDto(ExtendedMachineDto.class)
- .withAgents(singletonList("org.eclipse.che.ws-agent"))
- .withAttributes(singletonMap("memoryLimitBytes", MEMORY_LIMIT_BYTES));
+
+ List agents = new ArrayList<>();
+ agents.add("org.eclipse.che.exec");
+ agents.add("org.eclipse.che.terminal");
+ agents.add("org.eclipse.che.ws-agent");
+ agents.add("org.eclipse.che.ssh");
+
+ MachineConfigDto machine = dtoFactory.createDto(MachineConfigDto.class)
+ .withAgents(agents)
+ .withAttributes(singletonMap("memoryLimitBytes", MEMORY_LIMIT_BYTES));
EnvironmentDto environment = dtoFactory.createDto(EnvironmentDto.class)
.withRecipe(recipe)
- .withMachines(singletonMap(WS_MACHINE_NAME, machine));
+ .withMachines(singletonMap("dev-machine", machine));
return dtoFactory.createDto(WorkspaceConfigDto.class)
.withName(wsName)
diff --git a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/workspace/create/CreateWorkspaceView.java b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/workspace/create/CreateWorkspaceView.java
index 087d75943b..f7100b0d60 100644
--- a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/workspace/create/CreateWorkspaceView.java
+++ b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/workspace/create/CreateWorkspaceView.java
@@ -12,7 +12,7 @@ package org.eclipse.che.ide.workspace.create;
import com.google.inject.ImplementedBy;
-import org.eclipse.che.api.machine.shared.dto.recipe.RecipeDescriptor;
+import org.eclipse.che.api.machine.shared.dto.recipe.OldRecipeDescriptor;
import org.eclipse.che.ide.api.mvp.View;
import java.util.List;
@@ -31,14 +31,6 @@ interface CreateWorkspaceView extends View {
/** Hides dialog window. */
void hide();
- /**
- * Sets name for workspace in special place on view
- *
- * @param name
- * name which will be set
- */
- void setWorkspaceName(String name);
-
/** Returns special recipe url to get docker image. */
String getRecipeUrl();
@@ -48,13 +40,21 @@ interface CreateWorkspaceView extends View {
/** Returns name of workspace from special place on view. */
String getWorkspaceName();
+ /**
+ * Sets name for workspace in special place on view
+ *
+ * @param name
+ * name which will be set
+ */
+ void setWorkspaceName(String name);
+
/**
* Sets list of recipes found by tag to special place on view.
*
* @param recipes
* recipes which will be shown
*/
- void showFoundByTagRecipes(List recipes);
+ void showFoundByTagRecipes(List recipes);
/**
* Sets list of predefined recipes to special place on view.
@@ -62,7 +62,7 @@ interface CreateWorkspaceView extends View {
* @param recipes
* recipes which will be shown
*/
- void showPredefinedRecipes(List recipes);
+ void showPredefinedRecipes(List recipes);
/**
* Changes visibility of error message for recipe url.
diff --git a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/workspace/create/CreateWorkspaceViewImpl.java b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/workspace/create/CreateWorkspaceViewImpl.java
index cca5218285..ed6df296fd 100644
--- a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/workspace/create/CreateWorkspaceViewImpl.java
+++ b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/workspace/create/CreateWorkspaceViewImpl.java
@@ -26,7 +26,7 @@ import com.google.gwt.user.client.ui.Widget;
import com.google.inject.Inject;
import com.google.inject.Singleton;
-import org.eclipse.che.api.machine.shared.dto.recipe.RecipeDescriptor;
+import org.eclipse.che.api.machine.shared.dto.recipe.OldRecipeDescriptor;
import org.eclipse.che.ide.CoreLocalizationConstant;
import org.eclipse.che.ide.ui.window.Window;
import org.eclipse.che.ide.workspace.WorkspaceWidgetFactory;
@@ -43,25 +43,14 @@ import java.util.List;
@Singleton
class CreateWorkspaceViewImpl extends Window implements CreateWorkspaceView, RecipeWidget.ActionDelegate {
- interface CreateWorkspaceViewImplUiBinder extends UiBinder {
- }
-
- private static final CreateWorkspaceViewImplUiBinder UI_BINDER = GWT.create(CreateWorkspaceViewImplUiBinder.class);
-
- private static final int BORDER_WIDTH = 1;
-
- private final WorkspaceWidgetFactory tagFactory;
- private final PopupPanel popupPanel;
- private final FlowPanel tagsPanel;
- private final HidePopupCallBack hidePopupCallBack;
-
- private ActionDelegate delegate;
- private Button createButton;
- private boolean isPredefinedRecipe;
-
+ private static final CreateWorkspaceViewImplUiBinder UI_BINDER = GWT.create(CreateWorkspaceViewImplUiBinder.class);
+ private static final int BORDER_WIDTH = 1;
@UiField(provided = true)
- final CoreLocalizationConstant locale;
-
+ final CoreLocalizationConstant locale;
+ private final WorkspaceWidgetFactory tagFactory;
+ private final PopupPanel popupPanel;
+ private final FlowPanel tagsPanel;
+ private final HidePopupCallBack hidePopupCallBack;
@UiField
TextBox wsName;
@UiField
@@ -76,6 +65,9 @@ class CreateWorkspaceViewImpl extends Window implements CreateWorkspaceView, Rec
Label nameError;
@UiField
TextBox predefinedRecipes;
+ private ActionDelegate delegate;
+ private Button createButton;
+ private boolean isPredefinedRecipe;
@Inject
public CreateWorkspaceViewImpl(CoreLocalizationConstant locale,
@@ -124,12 +116,6 @@ class CreateWorkspaceViewImpl extends Window implements CreateWorkspaceView, Rec
addButtonToFooter(createButton);
}
- /** {@inheritDoc} */
- @Override
- public void setWorkspaceName(String name) {
- wsName.setText(name);
- }
-
/** {@inheritDoc} */
@Override
public String getRecipeUrl() {
@@ -158,7 +144,13 @@ class CreateWorkspaceViewImpl extends Window implements CreateWorkspaceView, Rec
/** {@inheritDoc} */
@Override
- public void showFoundByTagRecipes(List recipes) {
+ public void setWorkspaceName(String name) {
+ wsName.setText(name);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void showFoundByTagRecipes(List recipes) {
addRecipesToPanel(recipes);
int xPanelCoordinate = tags.getAbsoluteLeft() + BORDER_WIDTH;
@@ -168,10 +160,10 @@ class CreateWorkspaceViewImpl extends Window implements CreateWorkspaceView, Rec
popupPanel.show();
}
- private void addRecipesToPanel(List recipes) {
+ private void addRecipesToPanel(List recipes) {
tagsPanel.clear();
- for (RecipeDescriptor descriptor : recipes) {
+ for (OldRecipeDescriptor descriptor : recipes) {
RecipeWidget tag = tagFactory.create(descriptor);
tag.setDelegate(this);
@@ -183,7 +175,7 @@ class CreateWorkspaceViewImpl extends Window implements CreateWorkspaceView, Rec
/** {@inheritDoc} */
@Override
- public void showPredefinedRecipes(List recipes) {
+ public void showPredefinedRecipes(List recipes) {
addRecipesToPanel(recipes);
int xPanelCoordinate = predefinedRecipes.getAbsoluteLeft() + BORDER_WIDTH;
@@ -282,4 +274,7 @@ class CreateWorkspaceViewImpl extends Window implements CreateWorkspaceView, Rec
public void setDelegate(ActionDelegate delegate) {
this.delegate = delegate;
}
+
+ interface CreateWorkspaceViewImplUiBinder extends UiBinder {
+ }
}
diff --git a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/workspace/create/recipewidget/RecipeWidgetImpl.java b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/workspace/create/recipewidget/RecipeWidgetImpl.java
index 215a8b09e8..050622820b 100644
--- a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/workspace/create/recipewidget/RecipeWidgetImpl.java
+++ b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/workspace/create/recipewidget/RecipeWidgetImpl.java
@@ -23,7 +23,8 @@ import com.google.gwt.user.client.ui.Widget;
import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;
-import org.eclipse.che.api.machine.shared.dto.recipe.RecipeDescriptor;
+import org.eclipse.che.api.core.model.workspace.config.Recipe;
+import org.eclipse.che.api.machine.shared.dto.recipe.OldRecipeDescriptor;
import org.vectomatic.dom.svg.ui.SVGImage;
/**
@@ -37,7 +38,7 @@ public class RecipeWidgetImpl extends Composite implements RecipeWidget, ClickHa
private static final TagEntryUiBinder UI_BINDER = GWT.create(TagEntryUiBinder.class);
- private final RecipeDescriptor descriptor;
+ private final OldRecipeDescriptor descriptor;
private ActionDelegate delegate;
@@ -51,7 +52,7 @@ public class RecipeWidgetImpl extends Composite implements RecipeWidget, ClickHa
FlowPanel main;
@Inject
- public RecipeWidgetImpl(org.eclipse.che.ide.Resources resources, @Assisted RecipeDescriptor descriptor) {
+ public RecipeWidgetImpl(org.eclipse.che.ide.Resources resources, @Assisted OldRecipeDescriptor descriptor) {
this.descriptor = descriptor;
initWidget(UI_BINDER.createAndBindUi(this));
diff --git a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/workspace/start/StartWorkspaceAction.java b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/workspace/start/StartWorkspaceAction.java
new file mode 100644
index 0000000000..430171c1f7
--- /dev/null
+++ b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/workspace/start/StartWorkspaceAction.java
@@ -0,0 +1,51 @@
+/*******************************************************************************
+ * Copyright (c) 2012-2017 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.ide.workspace.start;
+
+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.workspace.shared.dto.WorkspaceDto;
+import org.eclipse.che.ide.api.action.Action;
+import org.eclipse.che.ide.api.action.ActionEvent;
+import org.eclipse.che.ide.api.workspace.WorkspaceServiceClient;
+
+import java.util.List;
+
+/**
+ * Save editor content Action
+ */
+@Singleton
+public class StartWorkspaceAction extends Action {
+
+ private final StartWorkspacePresenter presenter;
+ private final WorkspaceServiceClient workspaceServiceClient;
+
+ @Inject
+ public StartWorkspaceAction(StartWorkspacePresenter presenter, WorkspaceServiceClient workspaceServiceClient) {
+ super("start", "Save changes for current file");
+
+ this.presenter = presenter;
+ this.workspaceServiceClient = workspaceServiceClient;
+ }
+
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ workspaceServiceClient.getWorkspaces(0, 30).then(new Operation>() {
+ @Override
+ public void apply(List arg) throws OperationException {
+ presenter.show(arg, null);
+ }
+ });
+ }
+}
diff --git a/ide/che-core-ide-app/src/test/java/org/eclipse/che/ide/actions/RunCommandActionTest.java b/ide/che-core-ide-app/src/test/java/org/eclipse/che/ide/actions/RunCommandActionTest.java
index dd175379ea..2d9ca962b1 100644
--- a/ide/che-core-ide-app/src/test/java/org/eclipse/che/ide/actions/RunCommandActionTest.java
+++ b/ide/che-core-ide-app/src/test/java/org/eclipse/che/ide/actions/RunCommandActionTest.java
@@ -10,7 +10,7 @@
*******************************************************************************/
package org.eclipse.che.ide.actions;
-import org.eclipse.che.api.core.model.machine.Machine;
+import org.eclipse.che.api.core.model.workspace.runtime.Machine;
import org.eclipse.che.ide.CoreLocalizationConstant;
import org.eclipse.che.ide.api.action.ActionEvent;
import org.eclipse.che.ide.api.app.AppContext;
diff --git a/ide/che-core-ide-app/src/test/java/org/eclipse/che/ide/command/toolbar/commands/ExecuteCommandPresenterTest.java b/ide/che-core-ide-app/src/test/java/org/eclipse/che/ide/command/toolbar/commands/ExecuteCommandPresenterTest.java
index 07c32252dd..e0714f29bf 100644
--- a/ide/che-core-ide-app/src/test/java/org/eclipse/che/ide/command/toolbar/commands/ExecuteCommandPresenterTest.java
+++ b/ide/che-core-ide-app/src/test/java/org/eclipse/che/ide/command/toolbar/commands/ExecuteCommandPresenterTest.java
@@ -14,7 +14,7 @@ import com.google.gwt.user.client.ui.AcceptsOneWidget;
import com.google.inject.Provider;
import com.google.web.bindery.event.shared.EventBus;
-import org.eclipse.che.api.core.model.machine.Machine;
+import org.eclipse.che.api.core.model.workspace.runtime.Machine;
import org.eclipse.che.ide.api.command.CommandExecutor;
import org.eclipse.che.ide.api.command.CommandGoal;
import org.eclipse.che.ide.api.command.CommandImpl;
diff --git a/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/plugin/gdb/ide/configuration/GdbConfigurationPagePresenter.java b/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/plugin/gdb/ide/configuration/GdbConfigurationPagePresenter.java
index b3d01b10b0..8cced7d158 100644
--- a/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/plugin/gdb/ide/configuration/GdbConfigurationPagePresenter.java
+++ b/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/plugin/gdb/ide/configuration/GdbConfigurationPagePresenter.java
@@ -14,13 +14,11 @@ import com.google.gwt.user.client.ui.AcceptsOneWidget;
import com.google.inject.Inject;
import com.google.inject.Singleton;
-import org.eclipse.che.api.core.model.machine.Machine;
import org.eclipse.che.api.core.model.workspace.Workspace;
-import org.eclipse.che.api.machine.shared.dto.MachineDto;
+import org.eclipse.che.api.core.model.workspace.runtime.Machine;
import org.eclipse.che.ide.api.app.AppContext;
import org.eclipse.che.ide.api.debug.DebugConfiguration;
import org.eclipse.che.ide.api.debug.DebugConfigurationPage;
-import org.eclipse.che.ide.api.machine.MachineEntityImpl;
import org.eclipse.che.ide.macro.CurrentProjectPathMacro;
import java.util.ArrayList;
@@ -108,13 +106,13 @@ public class GdbConfigurationPagePresenter implements GdbConfigurationPageView.A
private void setHosts(List machines) {
Map hosts = new HashMap<>();
for (Machine machine : machines) {
- String host = machine.getRuntime().getProperties().get("network.ipAddress");
+ String host = machine.getProperties().get("network.ipAddress");
if (host == null) {
continue;
}
-
- String description = host + " (" + machine.getConfig().getName() + ")";
- hosts.put(host, description);
+// FIXME: spi
+// String description = host + " (" + machine.getConfig().getName() + ")";
+// hosts.put(host, description);
}
view.setHostsList(hosts);
@@ -126,14 +124,15 @@ public class GdbConfigurationPagePresenter implements GdbConfigurationPageView.A
return emptyList();
}
- List extends Machine> runtimeMachines = workspace.getRuntime().getMachines();
+ Map runtimeMachines = workspace.getRuntime().getMachines();
List machines = new ArrayList<>(runtimeMachines.size());
- for (Machine currentMachine : runtimeMachines) {
- if (currentMachine instanceof MachineDto) {
- Machine machine = new MachineEntityImpl(currentMachine);
- machines.add(machine);
- }
- }
+// FIXME: spi
+// for (Machine currentMachine : runtimeMachines.entrySet()) {
+// if (currentMachine instanceof MachineDto) {
+// Machine machine = new MachineEntityImpl(currentMachine);
+// machines.add(machine);
+// }
+// }
return machines;
}
diff --git a/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/configuration/JavaDebugConfigurationPagePresenter.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/configuration/JavaDebugConfigurationPagePresenter.java
index 82136d2ba1..287dea87d7 100644
--- a/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/configuration/JavaDebugConfigurationPagePresenter.java
+++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/configuration/JavaDebugConfigurationPagePresenter.java
@@ -14,7 +14,7 @@ import com.google.gwt.user.client.ui.AcceptsOneWidget;
import com.google.inject.Inject;
import com.google.inject.Singleton;
-import org.eclipse.che.api.core.model.machine.Server;
+import org.eclipse.che.api.core.model.workspace.runtime.Server;
import org.eclipse.che.ide.api.app.AppContext;
import org.eclipse.che.ide.api.debug.DebugConfiguration;
import org.eclipse.che.ide.api.debug.DebugConfigurationPage;
@@ -81,19 +81,20 @@ public class JavaDebugConfigurationPagePresenter implements JavaDebugConfigurati
/** Extracts list of ports available for connecting to the remote debugger. */
private List> extractPortsList(final MachineEntity machine) {
List> ports = new ArrayList<>();
- if (machine == null || machine.getRuntime() == null) {
+ if (machine == null) {
return ports;
}
- Map servers = machine.getRuntime().getServers();
+ Map servers = machine.getServers();
for (Map.Entry entry : servers.entrySet()) {
String port = entry.getKey();
if (port.endsWith("/tcp")) {
String portWithoutTcp = port.substring(0, port.length() - 4);
- String description = portWithoutTcp + " (" + entry.getValue().getRef() + ")";
- Pair pair = new Pair<>(description, portWithoutTcp);
+ // FIXME: spi
+// String description = portWithoutTcp + " (" + entry.getValue().getRef() + ")";
+// Pair pair = new Pair<>(description, portWithoutTcp);
- ports.add(pair);
+// ports.add(pair);
}
}
diff --git a/plugins/plugin-java/che-plugin-java-ext-lang-server/src/main/java/org/eclipse/che/plugin/java/server/ProjectListeners.java b/plugins/plugin-java/che-plugin-java-ext-lang-server/src/main/java/org/eclipse/che/plugin/java/server/ProjectListeners.java
index 982586e49e..3aeb4a6113 100644
--- a/plugins/plugin-java/che-plugin-java-ext-lang-server/src/main/java/org/eclipse/che/plugin/java/server/ProjectListeners.java
+++ b/plugins/plugin-java/che-plugin-java-ext-lang-server/src/main/java/org/eclipse/che/plugin/java/server/ProjectListeners.java
@@ -15,7 +15,7 @@ import com.google.inject.Singleton;
import com.google.inject.name.Named;
import org.eclipse.che.api.core.NotFoundException;
-import org.eclipse.che.api.core.model.project.ProjectConfig;
+import org.eclipse.che.api.core.model.workspace.config.ProjectConfig;
import org.eclipse.che.api.core.notification.EventService;
import org.eclipse.che.api.core.notification.EventSubscriber;
import org.eclipse.che.api.project.server.ProjectCreatedEvent;
diff --git a/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/TestServiceClient.java b/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/TestServiceClient.java
index f8785bc387..6bd722a632 100644
--- a/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/TestServiceClient.java
+++ b/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/TestServiceClient.java
@@ -14,7 +14,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import org.eclipse.che.api.core.model.machine.Machine;
+import org.eclipse.che.api.core.model.workspace.runtime.Machine;
import org.eclipse.che.api.machine.shared.dto.execagent.ProcessStartResponseDto;
import org.eclipse.che.api.promises.client.Operation;
import org.eclipse.che.api.promises.client.OperationException;
@@ -182,7 +182,8 @@ public class TestServiceClient {
command.getType(), attributes);
final CommandOutputConsole console = commandConsoleFactory.create(expandedCommand, machine);
- final String machineId = machine.getId();
+ // FIXME: spi
+ final String machineId = ""/*machine.getId()*/;
processesPanelPresenter.addCommandOutput(machineId, console);
ExecAgentPromise processPromise = execAgentCommandManager.startProcess(machineId,
diff --git a/spi-tmpbuild.sh b/spi-tmpbuild.sh
index 6e08e5d3a5..40fed3fcf5 100755
--- a/spi-tmpbuild.sh
+++ b/spi-tmpbuild.sh
@@ -2,11 +2,8 @@ mvn clean install \
-Dmaven.test.skip=true \
-Dskip-validate-sources \
-Dmdep.analyze.skip=true \
- -pl "!:che-core-ide-api" \
- -pl "!:che-core-ide-app" \
-pl "!:che-plugin-machine-ext-server" \
-pl "!:che-plugin-debugger-ide" \
- -pl "!:che-plugin-java-ext-lang-server" \
-pl "!:che-dashboard-war" \
-pl "!:che-plugin-java-plain-ide" \
-pl "!:che-plugin-java-ext-lang-client" \
@@ -33,7 +30,3 @@ mvn clean install \
-pl "!:che-core-git-impl-jgit" \
-pl "!:che-plugin-pullrequest-ide" \
$@
-
-
-
-# -pl "!:che-plugin-machine-ext-client" \
\ No newline at end of file