private WorkspaceDto filterServers(WorkspaceDto workspace, boolean includeInternal) { // no runtime - nothing to filter if (workspace.getRuntime() == null) { return workspace; } // if it is needed to include internal there is nothing to filter if (includeInternal) { return workspace; } for (MachineDto machine : workspace.getRuntime().getMachines().values()) { Map<String, ServerDto> filteredServers = new HashMap<>(); machine .getServers() .forEach( (name, server) -> { if (!"true" .equals(server.getAttributes().get(ServerConfig.INTERNAL_SERVER_ATTRIBUTE))) { filteredServers.put(name, server); } }); machine.withServers(filteredServers); } return workspace; } }
public WorkspaceImpl(WorkspaceDto workspace) { this( workspace.getId(), workspace.getNamespace(), workspace.getConfig(), workspace.getRuntime(), workspace.getAttributes(), workspace.isTemporary(), workspace.getStatus(), workspace.getLinks(), workspace.getRuntime() != null ? workspace.getRuntime().getMachineToken() : null); }
public WorkspaceDtoImpl(org.eclipse.che.api.workspace.shared.dto.WorkspaceDto origin) { java.util.Map<java.lang.String, java.lang.String> linksIn = origin.getLinks(); if (linksIn != null) { java.util.Map<java.lang.String, java.lang.String> linksOut = new java.util.HashMap<java.lang.String, java.lang.String>(); for (java.util.Map.Entry<String, java.lang.String> entry0 : linksIn.entrySet()) { java.lang.String linksIn_ = entry0.getValue(); linksOut.put(entry0.getKey(), linksIn_); } this.links = linksOut; } 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>(); for (java.util.Map.Entry<String, java.lang.String> entry0 : attributesIn.entrySet()) { java.lang.String attributesIn_ = entry0.getValue(); attributesOut.put(entry0.getKey(), attributesIn_); } this.attributes = attributesOut; } this.namespace = origin.getNamespace(); this.temporary = origin.isTemporary(); this.id = origin.getId(); this.status = origin.getStatus(); org.eclipse.che.api.workspace.shared.dto.RuntimeDto runtimeIn = origin.getRuntime(); this.runtime = runtimeIn == null ? null : new RuntimeDtoImpl(runtimeIn); org.eclipse.che.api.workspace.shared.dto.WorkspaceConfigDto configIn = origin.getConfig(); this.config = configIn == null ? null : new WorkspaceConfigDtoImpl(configIn); }
private WorkspaceDto asDtoWithLinksAndToken(Workspace workspace) throws ServerException { WorkspaceDto workspaceDto = asDto(workspace).withLinks(linksGenerator.genLinks(workspace, getServiceContext())); RuntimeDto runtimeDto = workspaceDto.getRuntime(); if (runtimeDto != null) { try { runtimeDto.setMachineToken(machineTokenProvider.getToken(workspace.getId())); } catch (MachineAccessForbidden e) { // set runtime to null since user doesn't have the required permissions workspaceDto.setRuntime(null); } catch (MachineTokenException e) { throw new ServerException(e.getMessage(), e); } } return workspaceDto; }