private Requirement getRequirement(Class candidateClass, String packageName, int level, String requirementTitle, String requirementType, String narrativeText, String cardNumber, Optional<Narrative> narrative) { if (narrative.isPresent()) { requirementTitle = narrative.get().title(); requirementType = narrative.get().type(); narrativeText = Joiner.on("\n").join(narrative.get().text()); cardNumber = narrative.get().cardNumber(); } if (StringUtils.isEmpty(requirementType)) { requirementType = getRequirementType(level, candidateClass); } return Requirement.named(humanReadableVersionOf(packageName)) .withOptionalCardNumber(cardNumber) .withOptionalDisplayName(StringUtils.isEmpty(requirementTitle) ? humanReadableVersionOf(packageName) : humanReadableVersionOf(requirementTitle)) .withType(requirementType) .withNarrative(narrativeText); }
private Requirement getRequirement(Class candidateClass, String packageName, int level, String requirementTitle, String requirementType, String narrativeText, String cardNumber, Optional<Narrative> narrative) { if (narrative.isPresent()) { requirementTitle = narrative.get().title(); requirementType = narrative.get().type(); narrativeText = Joiner.on("\n").join(narrative.get().text()); cardNumber = narrative.get().cardNumber(); } if (StringUtils.isEmpty(requirementType)) { requirementType = getRequirementType(level, candidateClass); } return Requirement.named(humanReadableVersionOf(packageName)) .withOptionalCardNumber(cardNumber) .withOptionalDisplayName(StringUtils.isEmpty(requirementTitle) ? humanReadableVersionOf(packageName) : requirementTitle) .withType(requirementType) .withNarrative(narrativeText); }
private Requirement getRequirement(Class candidateClass, String packageName, int level, String requirementTitle, String requirementType, String narrativeText, String cardNumber, java.util.Optional<Narrative> narrative) { if (narrative.isPresent()) { requirementTitle = isNotEmpty(narrative.get().title()) ? narrative.get().title() : requirementTitle; requirementType = isNotEmpty(narrative.get().type()) ? narrative.get().type() : requirementType; narrativeText = (narrative.get().text().length > 0) ? Joiner.on("\n").join(narrative.get().text()) : narrativeText; cardNumber = isNotEmpty(narrative.get().cardNumber()) ? narrative.get().cardNumber() : cardNumber; } if (isEmpty(requirementType)) { requirementType = getRequirementType(level, candidateClass); } return Requirement.named(humanReadableVersionOf(packageName)) .withOptionalCardNumber(cardNumber) .withOptionalDisplayName(isEmpty(requirementTitle) ? humanReadableVersionOf(packageName) : humanReadableVersionOf(requirementTitle)) .withType(requirementType) .withNarrative(narrativeText); }
private Requirement leafRequirementWithNarrative(String shortName, Narrative requirementNarrative) { String displayName = getTitleFromNarrativeOrDirectoryName(requirementNarrative, shortName); String cardNumber = requirementNarrative.getCardNumber().orNull(); String type = requirementNarrative.getType(); List<String> releaseVersions = requirementNarrative.getVersionNumbers(); return Requirement.named(shortName) .withOptionalDisplayName(displayName) .withOptionalCardNumber(cardNumber) .withType(type) .withNarrative(requirementNarrative.getText()) .withReleaseVersions(releaseVersions); }
public Requirement merge(Requirement newRequirement) { String mergedCardNumber = isEmpty(cardNumber) ? newRequirement.cardNumber : cardNumber; String mergedDisplayName= (isEmpty(displayName) || name.equalsIgnoreCase(displayName)) ? newRequirement.displayName : displayName; String mergedNarrativeText = isEmpty(narrative.getText()) ? newRequirement.narrative.getText() : narrative.getText(); String mergedPath = isEmpty(path) ? newRequirement.path : path; String mergedFeatureFileName = isEmpty(featureFileName) ? newRequirement.featureFileName : featureFileName; List<String> mergedReleasVersions = ListUtils.union(releaseVersions, newRequirement.releaseVersions) ; List<Example> mergedExamples = ListUtils.union(examples, newRequirement.examples); List<CustomFieldValue> mergedCustomFields = ListUtils.union(customFields, newRequirement.customFields); List<Requirement> mergedChildren = mergeRequirementLists(children, newRequirement.children); return Requirement.named(name) .withOptionalParent(parent) .withOptionalCardNumber(mergedCardNumber) .withType(type) .withNarrative(mergedNarrativeText) .withPath(mergedPath) .withDisplayName(mergedDisplayName) .withReleaseVersions(mergedReleasVersions) .withExamples(mergedExamples) .withCustomFields(mergedCustomFields) .withFeatureFileyName(mergedFeatureFileName) .withChildren(mergedChildren) .withTags(tags); }
private Requirement requirementWithNarrative(File requirementDirectory, String shortName, Narrative requirementNarrative) { String displayName = getTitleFromNarrativeOrDirectoryName(requirementNarrative, shortName); String cardNumber = requirementNarrative.getCardNumber().orNull(); String type = requirementNarrative.getType(); List<String> releaseVersions = requirementNarrative.getVersionNumbers(); List<Requirement> children = readChildrenFrom(requirementDirectory); return Requirement.named(shortName) .withOptionalDisplayName(displayName) .withOptionalCardNumber(cardNumber) .withType(type) .withNarrative(requirementNarrative.getText()) .withReleaseVersions(releaseVersions) .withChildren(children); }
private Requirement requirementWithNarrative(File requirementDirectory, String shortName, Narrative requirementNarrative) { String displayName = getTitleFromNarrativeOrDirectoryName(requirementNarrative, shortName); String cardNumber = requirementNarrative.getCardNumber().orElse(null); String type = requirementNarrative.getType(); List<String> releaseVersions = requirementNarrative.getVersionNumbers(); List<Requirement> children = readChildrenFrom(requirementDirectory); return Requirement.named(shortName) .withOptionalDisplayName(displayName) .withOptionalCardNumber(cardNumber) .withType(type) .withNarrative(requirementNarrative.getText()) .withReleaseVersions(releaseVersions) .withPath(relativeDirectoryOf(requirementDirectory.getPath())) .withChildren(children); }
public Requirement merge(Requirement newRequirement) { String mergedCardNumber = isEmpty(cardNumber) ? newRequirement.cardNumber : cardNumber; String mergedDisplayName= isEmpty(displayName) ? newRequirement.displayName : displayName; String mergedNarrativeText = isEmpty(narrative.getText()) ? newRequirement.narrative.getText() : narrative.getText(); String mergedFeatureFileName = isEmpty(featureFileName) ? newRequirement.featureFileName : featureFileName; List<String> mergedReleasVersions = ListUtils.union(releaseVersions, newRequirement.releaseVersions) ; List<Example> mergedExamples = ListUtils.union(examples, newRequirement.examples); List<CustomFieldValue> mergedCustomFields = ListUtils.union(customFields, newRequirement.customFields); List<Requirement> mergedChildren = mergeRequirementLists(children, newRequirement.children); return Requirement.named(name) .withOptionalParent(parent) .withOptionalCardNumber(mergedCardNumber) .withType(type) .withNarrative(mergedNarrativeText) .withDisplayName(mergedDisplayName) .withReleaseVersions(mergedReleasVersions) .withExamples(mergedExamples) .withCustomFields(mergedCustomFields) .withFeatureFileyName(mergedFeatureFileName) .withChildren(mergedChildren); }
private Requirement requirementWithNarrative(File requirementDirectory, String shortName, Narrative requirementNarrative) { String displayName = getTitleFromNarrativeOrDirectoryName(requirementNarrative, shortName); String cardNumber = requirementNarrative.getCardNumber().orNull(); String type = requirementNarrative.getType(); List<String> releaseVersions = requirementNarrative.getVersionNumbers(); List<Requirement> children = readChildrenFrom(requirementDirectory); return Requirement.named(shortName) .withOptionalDisplayName(displayName) .withOptionalCardNumber(cardNumber) .withType(type) .withNarrative(requirementNarrative.getText()) .withReleaseVersions(releaseVersions) .withChildren(children); }
private Requirement leafRequirementWithNarrative(String shortName, String path, Narrative requirementNarrative) { String displayName = getTitleFromNarrativeOrDirectoryName(requirementNarrative, shortName); String cardNumber = requirementNarrative.getCardNumber().orElse(null); String type = requirementNarrative.getType(); List<String> releaseVersions = requirementNarrative.getVersionNumbers(); return Requirement.named(shortName) .withId(requirementNarrative.getId().orElse(path)) .withOptionalDisplayName(displayName) .withOptionalCardNumber(cardNumber) .withType(type) .withNarrative(requirementNarrative.getText()) .withPath(relativeDirectoryOf(path)) .withReleaseVersions(releaseVersions) .withTags(requirementNarrative.getTags()); }