public void createWorkspaceWithTags( String workspaceName, String description, String username, String origin, String tags) { Assert.notNull(workspaceName); Assert.notNull(username); if (checkNameAvailability(workspaceName, username)) { Workspace ws = new Workspace(); ws.setDownloads(0); ws.setDescription(description); ws.setLastMod(Calendar.getInstance().getTime()); ws.setLaunches(0); ws.setWsVersion(1); ws.setName(workspaceName); UserAccount ua = uar.findByUsername(username); Researcher rese = researcherRepository.findByUserAccountId(ua.getId()); ws.setOwner(rese); String[] array = tags.split("\\s+"); Collection<Tag> wsTags = new ArrayList<>(); for (String a : array) { if (a.length() > 1) { if (tagRepository.findByName(a) != null) wsTags.add(tagRepository.findByName(a)); else { Tag newTag = new Tag(); newTag.setName(a); wsTags.add(tagRepository.save(newTag)); } } } ws.setWorkspaceTags(wsTags); workspaceRepository.saveAndFlush(ws); } }
public void updateDemo(String demoWorkspaceName, String username) { Assert.notNull(demoWorkspaceName); Assert.notNull(username); Workspace demoWS = workspaceRepository.findByName(demoWorkspaceName, DEMO_MASTER); Workspace originWS = demoWS.getOrigin(); demoWS.setLastMod(Calendar.getInstance().getTime()); demoWS.setDescription(originWS.getDescription()); updateVersion(originWS); demoWS.setWsVersion(originWS.getWsVersion()); workspaceRepository.saveAndFlush(demoWS); }
public void createWorkspace(String workspaceName, String username, String origin) { Assert.notNull(workspaceName); Assert.notNull(username); if (checkNameAvailability(workspaceName, username)) { Workspace ws = new Workspace(); ws.setDownloads(0); ws.setDescription(""); ws.setLastMod(Calendar.getInstance().getTime()); ws.setLaunches(0); ws.setWsVersion(1); ws.setName(workspaceName); UserAccount ua = uar.findByUsername(username); Researcher rese = researcherRepository.findByUserAccountId(ua.getId()); ws.setOwner(rese); if (origin != null) { ws.setOrigin(workspaceRepository.findById(Integer.valueOf(origin))); ws.setDescription(workspaceRepository.findById(Integer.valueOf(origin)).getDescription()); if (username.startsWith("demo")) updateLaunches(workspaceName, DEMO_MASTER); } workspaceRepository.saveAndFlush(ws); } }
public void updateVersion(Workspace w) { int wsVersion = w.getWsVersion() + 1; w.setWsVersion(wsVersion); workspaceRepository.saveAndFlush(w); }