Promise<Project> createProject(final Project.ProjectRequest createRequest) { checkArgument(checkProjectName(createRequest.getBody().getName()), "Invalid project name"); checkArgument( typeRegistry.getProjectType(createRequest.getBody().getType()) != null, "Invalid project type"); final Path path = Path.valueOf(createRequest.getBody().getPath()); return findResource(path) .thenPromise( (MutableProjectConfig) createRequest.getBody(); final List<NewProjectConfig> projectConfigList = projectConfig.getProjects(); projectConfigList.add(asDto(projectConfig));
.getWorkspaceRoot() .importProject() .withBody(importConfig) .send() .then(
.getWorkspaceRoot() .importProject() .withBody(importConfig) .send() .thenPromise(
final ProjectConfig projectConfig = request.getBody(); final SourceStorage source = projectConfig.getSource(); final SourceStorageDto sourceDto = dtoFactory.createDto(SourceStorageDto.class);
.getWorkspaceRoot() .newProject() .withBody(dataObject) .send() .then(onComplete(callback)) .withBody(dataObject) .send() .then( ((Folder) container) .toProject() .withBody(dataObject) .send() .then(onComplete(callback)) .getWorkspaceRoot() .newProject() .withBody(dataObject) .send() .thenPromise(project -> project.update().withBody(dataObject).send()) .then(addCommands(callback)) .catchError(onFailure(callback));
.getWorkspaceRoot() .importProject() .withBody(importConfig) .send() .thenPromise(
protected Promise<Project> importProject(final Project.ProjectRequest importRequest) { checkArgument(checkProjectName(importRequest.getBody().getName()), "Invalid project name"); checkNotNull(importRequest.getBody().getSource(), "Null source configuration occurred"); final Path path = Path.valueOf(importRequest.getBody().getPath()); final SourceStorage sourceStorage = importRequest.getBody().getSource(); final SourceStorageDto sourceStorageDto = dtoFactory
imports.add( startImport(Path.valueOf(projectConfig.getPath()), projectConfig.getSource()) .thenPromise(project -> project.update().withBody(projectConfig).send()));
/** Updates the specified {@code project} with the given {@code commands}. */ private Promise<Void> updateProject(Project project, List<CommandImpl> commands) { MutableProjectConfig config = new MutableProjectConfig(project); Map<String, List<String>> attributes = config.getAttributes(); List<String> attrValue = new ArrayList<>(attributes.size()); for (CommandImpl command : commands) { CommandDto commandDto = dtoFactory .createDto(CommandDto.class) .withName(command.getName()) .withType(command.getType()) .withCommandLine(command.getCommandLine()) .withAttributes(command.getAttributes()); attrValue.add(dtoFactory.toJson(commandDto)); } attributes.put(COMMANDS_ATTRIBUTE_NAME, attrValue); return project.update().withBody(config).send().then((Function<Project, Void>) arg -> null); }
private void importProject(Project project) { appContext .getWorkspaceRoot() .importProject() .withBody(project) .send() .then( new Operation<Project>() { @Override public void apply(Project project) throws OperationException { Log.info(getClass(), "Project " + project.getName() + " imported."); } }); } }
@Override public Promise<Project> apply(Project project) throws FunctionException { return project.update().withBody(projectConfig).send(); } }));