private void addRequirementTo(SortedMap<String, Requirement> requirementsByPath, Class candidateClass) { String fullRequirementName = getFullRequirementPath(candidateClass); String[] packageNames = fullRequirementName.split(DOT_REGEX); String currentPath = ""; for (int level = 0; level < packageNames.length; level++) { currentPath = (currentPath.isEmpty()) ? packageNames[level] : Joiner.on(".").join(currentPath, packageNames[level]); String defaultRequirementType = getDefaultType(level); Requirement currentRequirement; if (!requirementsByPath.containsKey(currentPath)) { if (level < packageNames.length - 1) { currentRequirement = newParentRequirement(currentPath, packageNames[level], level, defaultRequirementType); requirementsByPath.put(currentPath, currentRequirement); } else { currentRequirement = newRequirement(candidateClass, currentPath, packageNames[level], level, defaultRequirementType); String fullPath = getFullRequirementPath(candidateClass); requirementsByPath.put(fullPath, currentRequirement); } } } }
private void addRequirementTo(SortedMap<String, Requirement> requirementsByPath, Class candidateClass, int maxDepth) { String fullRequirementName = getFullRequirementPath(candidateClass); String[] packageNames = fullRequirementName.split(DOT_REGEX); String currentPath = ""; for (int level = 0; level < packageNames.length; level++) { currentPath = (currentPath.isEmpty()) ? packageNames[level] : Joiner.on(".").join(currentPath, packageNames[level]); String defaultRequirementType = getDefaultType(level, maxDepth); Requirement currentRequirement; if (!requirementsByPath.containsKey(currentPath)) { if (level < packageNames.length - 1) { currentRequirement = newParentRequirement(currentPath, packageNames[level], level, defaultRequirementType); requirementsByPath.put(currentPath, currentRequirement); } else { currentRequirement = newRequirement(candidateClass, currentPath, packageNames[level], level, defaultRequirementType); String fullPath = getFullRequirementPath(candidateClass); requirementsByPath.put(fullPath, currentRequirement); } } } }
private void addRequirementTo(Map<String, Requirement> requirementsByPath, Class candidateClass, int maxDepth) { String fullRequirementName = getFullRequirementPath(candidateClass); String[] packageNames = fullRequirementName.split(DOT_REGEX); String currentPath = ""; Requirement parentRequirement = null; for (int level = 0; level < packageNames.length; level++) { currentPath = (currentPath.isEmpty()) ? packageNames[level] : Joiner.on(".").join(currentPath, packageNames[level]); String defaultRequirementType = getDefaultType(level, maxDepth); Requirement currentRequirement; if (requirementsByPath.containsKey(currentPath)) { currentRequirement = requirementsByPath.get(currentPath); } else { if (level < packageNames.length - 1) { currentRequirement = newParentRequirement(currentPath, parentRequirement, packageNames[level], level, defaultRequirementType); requirementsByPath.put(currentPath, currentRequirement); } else { currentRequirement = newRequirement(candidateClass, currentPath, parentRequirement, packageNames[level], level, defaultRequirementType); String fullPath = getFullRequirementPath(candidateClass); requirementsByPath.put(fullPath, currentRequirement); } } parentRequirement = currentRequirement; } }