public String getUserDisplayName() { return modification.getUserDisplayName(); }
public String getUser() { return modification.getUserDisplayName(); }
public String getLatestUser() { return getLatestModification().getUserDisplayName(); }
public String getUsername() { return isEmpty() ? "Unknown" : first().getUserDisplayName(); }
public void visit(Modification modification) { modifiedFilesJson = new ArrayList(); Map<String, Object> jsonMap = new LinkedHashMap<>(); jsonMap.put("user", modification.getUserDisplayName()); jsonMap.put("revision", modification.getRevision()); jsonMap.put("date", formatISO8601(modification.getModifiedTime())); String comment = modification.getComment(); if (!revision.getMaterial().getType().equals(TYPE)) { comment = commentRenderer.render(comment); } jsonMap.put("comment", comment); jsonMap.put("modifiedFiles", modifiedFilesJson); modificationsJson.add(jsonMap); }
@Test public void shouldReturnAnonymousWhenUserNameIsEmpty() { Modification modification = new Modification("", "comment", null, null, null); assertThat(modification.getUserDisplayName(), is(ANONYMOUS)); modification.setUserName(""); assertThat(modification.getUserDisplayName(), is(ANONYMOUS)); modification.setUserName(" "); assertThat(modification.getUserDisplayName(), is(ANONYMOUS)); }
@Test public void shouldReturnUserNameWhenUserNameIsNotEmpty() throws Exception { Modification modification = new Modification("jack", "", null, null, null); assertThat(modification.getUserDisplayName(), is("jack")); }
@Test public void shouldHaveCommitterAsAuthor() { simulateOneComment(); assertThat(parser.getModifications().get(0).getUserDisplayName(), is("Cruise Developer <cruise@cruise-sf3.(none)>")); }
@Test public void shouldParseGitOutputCorrectly() throws IOException { List<String> stringList; try (InputStream resourceAsStream = getClass().getResourceAsStream("git_sample_output.text")) { stringList = IOUtils.readLines(resourceAsStream, UTF_8); } GitModificationParser parser = new GitModificationParser(); List<Modification> mods = parser.parse(stringList); assertThat(mods.size(), is(3)); Modification mod = mods.get(2); assertThat(mod.getRevision(), is("46cceff864c830bbeab0a7aaa31707ae2302762f")); assertThat(mod.getModifiedTime(), is(DateUtils.parseISO8601("2009-08-11 12:37:09 -0700"))); assertThat(mod.getUserDisplayName(), is("Cruise Developer <cruise@cruise-sf3.(none)>")); assertThat(mod.getComment(), is("author:cruise <cceuser@CceDev01.(none)>\n" + "node:ecfab84dd4953105e3301c5992528c2d381c1b8a\n" + "date:2008-12-31 14:32:40 +0800\n" + "description:Moving rakefile to build subdirectory for #2266\n" + "\n" + "author:CceUser <cceuser@CceDev01.(none)>\n" + "node:fd16efeb70fcdbe63338c49995ce9ff7659e6e77\n" + "date:2008-12-31 14:17:06 +0800\n" + "description:Adding rakefile")); }
@Override void populateXmlForModifications(Modifications modifications, XmlWriterContext writerContext, Element modificationsTag) { for (Modification modification : modifications) { Element changeset = modificationsTag.addElement("changeset"); changeset.addAttribute("changesetUri", ScmMaterial.changesetUrl(modification, writerContext.getBaseUrl(), material.getId())); changeset.addElement("user").addCDATA(modification.getUserDisplayName()); changeset.addElement("checkinTime").addText(DateUtils.formatISO8601(modification.getModifiedTime())); changeset.addElement("revision").addCDATA(modification.getRevision()); changeset.addElement("message").addCDATA(modification.getComment()); } } }
@Override void populateXmlForModifications(Modifications modifications, XmlWriterContext writerContext, Element modificationsTag) { for (Modification modification : modifications) { Element changeset = modificationsTag.addElement("changeset"); changeset.addAttribute("changesetUri", ScmMaterial.changesetUrl(modification, writerContext.getBaseUrl(), material.getId())); changeset.addElement("user").addCDATA(modification.getUserDisplayName()); changeset.addElement("checkinTime").addText(DateUtils.formatISO8601(modification.getModifiedTime())); changeset.addElement("revision").addCDATA(modification.getRevision()); changeset.addElement("message").addCDATA(modification.getComment()); List<ModifiedFile> modifiedFiles = modification.getModifiedFiles(); for (ModifiedFile modifiedFile : modifiedFiles) { changeset.addElement("file").addAttribute("name", modifiedFile.getFileName()).addAttribute("action", modifiedFile.getAction().toString()); } } } }