public MachineConfigDtoImpl(org.eclipse.che.api.workspace.shared.dto.MachineConfigDto origin) { java.util.Map<java.lang.String, java.lang.String> attributesIn = origin.getAttributes(); if (attributesIn != null) { java.util.Map<java.lang.String, java.lang.String> attributesOut = new java.util.HashMap<java.lang.String, java.lang.String>(); java.util.Map<java.lang.String, org.eclipse.che.api.workspace.shared.dto.ServerConfigDto> serversIn = origin.getServers(); if (serversIn != null) { java.util.Map<java.lang.String, org.eclipse.che.api.workspace.shared.dto.ServerConfigDto> serversOut = new java.util.HashMap<java.lang.String, org.eclipse.che.api.workspace.shared.dto.ServerConfigDto>(); java.util.Map<java.lang.String, org.eclipse.che.api.workspace.shared.dto.VolumeDto> volumesIn = origin.getVolumes(); if (volumesIn != null) { java.util.Map<java.lang.String, org.eclipse.che.api.workspace.shared.dto.VolumeDto> volumesOut = new java.util.HashMap<java.lang.String, org.eclipse.che.api.workspace.shared.dto.VolumeDto>(); java.util.List<java.lang.String> installersIn = origin.getInstallers(); if (installersIn != null) { java.util.List<java.lang.String> installersOut = new java.util.ArrayList<java.lang.String>(); java.util.Map<java.lang.String, java.lang.String> envIn = origin.getEnv(); if (envIn != null) { java.util.Map<java.lang.String, java.lang.String> envOut = new java.util.HashMap<java.lang.String, java.lang.String>();
/** Converts {@link MachineConfig} to {@link MachineConfigDto}. */ public static MachineConfigDto asDto(MachineConfig machine) { MachineConfigDto machineDto = newDto(MachineConfigDto.class).withInstallers(machine.getInstallers()); if (machine.getServers() != null) { machineDto.setServers( machine .getServers() .entrySet() .stream() .collect(toMap(Map.Entry::getKey, entry -> asDto(entry.getValue())))); } if (machine.getAttributes() != null) { machineDto.setAttributes(machine.getAttributes()); } if (machine.getVolumes() != null) { machineDto.setVolumes( machine .getVolumes() .entrySet() .stream() .collect(toMap(Map.Entry::getKey, entry -> asDto(entry.getValue())))); } if (machine.getEnv() != null) { machineDto.setEnv(machine.getEnv()); } return machineDto; }
@Override public Workspace createWorkspace( String workspaceName, int memory, MemoryMeasure memoryUnit, WorkspaceConfigDto workspace) throws Exception { EnvironmentDto environment = workspace.getEnvironments().get("replaced_name"); environment .getMachines() .values() .stream() .filter(WsAgentMachineFinderUtil::containsWsAgentServerOrInstaller) .forEach( m -> m.getAttributes() .put(MEMORY_LIMIT_ATTRIBUTE, Long.toString(convertToByte(memory, memoryUnit)))); workspace.getEnvironments().remove("replaced_name"); workspace.getEnvironments().put(workspaceName, environment); workspace.setName(workspaceName); workspace.setDefaultEnv(workspaceName); WorkspaceDto workspaceDto = requestFactory .fromUrl(getBaseUrl()) .usePostMethod() .setBody(workspace) .request() .asDto(WorkspaceDto.class); LOG.info("Workspace name='{}' and id='{}' created", workspaceName, workspaceDto.getId()); return workspaceDto; }