Skip to content

Commit

Permalink
Created ProjectRespositoryDAO and refactored code accordingly
Browse files Browse the repository at this point in the history
  • Loading branch information
shiv12095 committed Jul 30, 2016
1 parent 2f3f63a commit db81bf3
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 34 deletions.
Expand Up @@ -6,7 +6,6 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.vorto.editor.web.resource.WebEditorResourceSetProvider;
import org.eclipse.vorto.server.devtool.models.Project;
import org.eclipse.vorto.server.devtool.models.ProjectResource;
Expand Down Expand Up @@ -46,9 +45,8 @@ public void createProjec(@ApiParam(value = "ProjectName", required = true) final
.getInstance(IWebResourceSetProvider.class);

String sessionId = request.getSession().getId();
ResourceSet resourceSet = webEditorResourceSetProvider.getNewResourceSet();

Project project = projectRepositoryService.createProject(sessionId, projectName, resourceSet);
Project project = projectRepositoryService.createProject(sessionId, projectName);

webEditorResourceSetProvider.setSessionResourceSet(httpServiceContext, project.getResourceSet());
webEditorResourceSetProvider.setSessionRefencedResourceSet(httpServiceContext,
Expand Down
Expand Up @@ -2,13 +2,12 @@

import java.util.ArrayList;

import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.vorto.server.devtool.models.Project;
import org.eclipse.vorto.server.devtool.models.ProjectResource;

public interface IProjectRepositoryService {

Project createProject(String sessionId, String projectName, ResourceSet resourceSet);
Project createProject(String sessionId, String projectName);

Project openProject(String sessionId, String projectName);

Expand Down
@@ -1,54 +1,49 @@
package org.eclipse.vorto.server.devtool.service.impl;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;

import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.vorto.editor.web.resource.WebEditorResourceSetProvider;
import org.eclipse.vorto.server.devtool.models.Project;
import org.eclipse.vorto.server.devtool.models.ProjectResource;
import org.eclipse.vorto.server.devtool.service.IProjectRepositoryService;
import org.eclipse.vorto.server.devtool.service.IProjectRespositoryDAO;
import org.eclipse.xtext.web.server.model.IWebResourceSetProvider;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.google.inject.Injector;

@Service
public class ProjectRepositoryServiceImpl implements IProjectRepositoryService{

private HashMap<String, ArrayList<Project>> projectRepositoryHashMap = new HashMap<>();

@Autowired
Injector injector;

@Autowired
IProjectRespositoryDAO projectRespositoryDAO;

@Override
public Project createProject(String sessionId, String projectName, ResourceSet resourceSet) {
ArrayList<Project> projectList = projectRepositoryHashMap.get(sessionId);
if(projectList == null || projectList.isEmpty()){
projectList = new ArrayList<>();
}
for(Project project : projectList){
if(project.getProjectName().equals(projectName)){
throw new RuntimeException("The project " + projectName + " already exists. Please choose another name");
}
}
public Project createProject(String sessionId, String projectName) {
WebEditorResourceSetProvider webEditorResourceSetProvider = (WebEditorResourceSetProvider) injector.getInstance(IWebResourceSetProvider.class);
Project project = new Project(projectName);
project.setResourceSet(resourceSet);
project.setResourceSet(webEditorResourceSetProvider.getNewResourceSet());
project.setReferencedResourceSet(new HashSet<String>());
project.setResourceList(new ArrayList<>());
projectList.add(project);
projectRepositoryHashMap.put(sessionId, projectList);
projectRespositoryDAO.createProject(project, sessionId);
return project;
}

@Override
public Project openProject(String sessionId, String projectName) {
ArrayList<Project> projectList = projectRepositoryHashMap.get(sessionId);
if(projectList == null || projectList.isEmpty()){
throw new RuntimeException("The project with name : " + projectName + " does not exist");
}
for(Project project : projectList){
if(project.getProjectName().equals(projectName)){
return project;
}
Project project = projectRespositoryDAO.openProject(projectName, sessionId);
if(project == null){
throw new RuntimeException("The project with name : " + projectName + " does not exist");
}
throw new RuntimeException("The project with name : " + projectName + " does not exist");
return project;
}

@Override
Expand All @@ -59,10 +54,7 @@ public ArrayList<ProjectResource> getProjectResources(String sessionId, String p

@Override
public ArrayList<Project> getProjects(String sessionId) {
ArrayList<Project> projectList = projectRepositoryHashMap.get(sessionId);
if(projectList == null || projectList.isEmpty()){
projectList = new ArrayList<>();
}
ArrayList<Project> projectList = projectRespositoryDAO.getProjects(sessionId);
ArrayList<Project> projectNameList = new ArrayList<>();
for(Project iterProject : projectList){
Project project = new Project(iterProject.getProjectName());
Expand Down

0 comments on commit db81bf3

Please sign in to comment.