Skip to content

Commit fbba82f

Browse files
author
Alexander Garagatyi
committed
Merge pull request eclipse-che#350 from eclipse/IDEX-4222
IDEX-4222: Change model of machine & workspace
2 parents 363bb6e + b3b38f8 commit fbba82f

151 files changed

Lines changed: 1994 additions & 2948 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

core/che-core-api-model/pom.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,12 @@
2121
<artifactId>che-core-api-model</artifactId>
2222
<packaging>jar</packaging>
2323
<name>Che Core :: API :: Model</name>
24+
<dependencies>
25+
<dependency>
26+
<groupId>org.eclipse.che.core</groupId>
27+
<artifactId>che-core-commons-annotations</artifactId>
28+
</dependency>
29+
</dependencies>
2430
<build>
2531
<resources>
2632
<resource>

core/che-core-api-model/src/main/java/org/eclipse/che/api/core/model/machine/Channels.java

Lines changed: 0 additions & 28 deletions
This file was deleted.

core/che-core-api-model/src/main/java/org/eclipse/che/api/core/model/machine/Machine.java

Lines changed: 39 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,50 @@
1010
*******************************************************************************/
1111
package org.eclipse.che.api.core.model.machine;
1212

13+
import org.eclipse.che.commons.annotation.Nullable;
14+
1315
/**
1416
* Defines runtime machine.
1517
*
1618
* @author gazarenkov
19+
* @author Alexander Garagatyi
1720
*/
18-
public interface Machine extends MachineState {
21+
public interface Machine {
22+
/**
23+
* Returns configuration used to create this machine
24+
*/
25+
MachineConfig getConfig();
26+
27+
/**
28+
* Returns machine identifier. It is unique and mandatory.
29+
*/
30+
String getId();
31+
32+
/**
33+
* Returns ID of workspace this machine belongs to. It is mandatory.
34+
*/
35+
String getWorkspaceId();
36+
37+
/**
38+
* Returns name of environment that started this machine. It is mandatory.
39+
*/
40+
String getEnvName();
41+
42+
/**
43+
* Returns machine owner (users identifier). It is mandatory.
44+
*/
45+
String getOwner();
46+
47+
/**
48+
* Runtime status of the machine
49+
*/
50+
MachineStatus getStatus();
51+
1952
/**
20-
* Returns machine specific metadata
53+
* Runtime information about machine.
54+
* <p>
55+
* Is available only when {@link #getStatus()} returns {@link MachineStatus#RUNNING}
2156
*/
22-
MachineMetadata getMetadata();
57+
@Nullable
58+
MachineRuntimeInfo getRuntime();
2359
}

core/che-core-api-model/src/main/java/org/eclipse/che/api/core/model/machine/MachineMetadata.java renamed to core/che-core-api-model/src/main/java/org/eclipse/che/api/core/model/machine/MachineRuntimeInfo.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@
1313
import java.util.Map;
1414

1515
/**
16-
* Describe metadata of machine.
16+
* Runtime information about machine.
1717
*
1818
* @author Alexander Garagatyi
1919
*/
20-
public interface MachineMetadata {
20+
public interface MachineRuntimeInfo {
2121
/**
2222
* Returns environment variables of machine.
2323
*/

core/che-core-api-model/src/main/java/org/eclipse/che/api/core/model/machine/MachineState.java

Lines changed: 0 additions & 33 deletions
This file was deleted.

core/che-core-api-model/src/main/java/org/eclipse/che/api/core/model/workspace/Project.java renamed to core/che-core-api-model/src/main/java/org/eclipse/che/api/core/model/project/Project.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@
88
* Contributors:
99
* Codenvy, S.A. - initial API and implementation
1010
*******************************************************************************/
11-
package org.eclipse.che.api.core.model.workspace;
11+
12+
package org.eclipse.che.api.core.model.project;
1213

1314
import org.eclipse.che.api.core.model.project.fs.Folder;
1415

core/che-core-api-model/src/main/java/org/eclipse/che/api/core/model/workspace/ProjectConfig.java renamed to core/che-core-api-model/src/main/java/org/eclipse/che/api/core/model/project/ProjectConfig.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,8 @@
88
* Contributors:
99
* Codenvy, S.A. - initial API and implementation
1010
*******************************************************************************/
11-
package org.eclipse.che.api.core.model.workspace;
1211

13-
import org.eclipse.che.api.core.model.project.SourceStorage;
12+
package org.eclipse.che.api.core.model.project;
1413

1514
import java.util.List;
1615
import java.util.Map;

core/che-core-api-model/src/main/java/org/eclipse/che/api/core/model/workspace/EnvironmentState.java

Lines changed: 0 additions & 25 deletions
This file was deleted.

core/che-core-api-model/src/main/java/org/eclipse/che/api/core/model/workspace/RuntimeWorkspace.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public interface RuntimeWorkspace extends UsersWorkspace {
2626
* Returns active environment name, implementation should guarantee that environment
2727
* with returned name exists for current runtime workspace
2828
*/
29-
String getActiveEnvName();
29+
String getActiveEnv();
3030

3131
/**
3232
* Returns development machine.
@@ -35,6 +35,8 @@ public interface RuntimeWorkspace extends UsersWorkspace {
3535
Machine getDevMachine();
3636

3737
/**
38+
* Machines included in this environment.
39+
* <p>
3840
* Returns non empty list which contains at least one dev machine and other machines related to workspace.
3941
*/
4042
List<? extends Machine> getMachines();

core/che-core-api-model/src/main/java/org/eclipse/che/api/core/model/workspace/UsersWorkspace.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,16 @@
1010
*******************************************************************************/
1111
package org.eclipse.che.api.core.model.workspace;
1212

13-
14-
import java.util.List;
15-
1613
/**
1714
* Defines workspace owned by user.
1815
*
1916
* @author gazarenkov
2017
*/
21-
public interface UsersWorkspace extends WorkspaceConfig {
18+
public interface UsersWorkspace {
19+
/**
20+
* Configuration used to create this workspace
21+
*/
22+
WorkspaceConfig getConfig();
2223

2324
/**
2425
* Returns workspace identifier. It is unique and mandatory.
@@ -35,9 +36,6 @@ public interface UsersWorkspace extends WorkspaceConfig {
3536
*/
3637
boolean isTemporary();
3738

38-
@Override
39-
List<? extends EnvironmentState> getEnvironments();
40-
4139
/**
4240
* Returns workspace status.
4341
*/

0 commit comments

Comments
 (0)